9b7337c1 (main)
and
31b069fc (PR)
+164 -10
+164 -10
{
"contracts": {
"addresses": {
"ethereum": [
{
"name": "HubPoolStore",
"isVerified": true,
"address": "eth:0x1Ace3BbD69b63063F859514Eca29C9BDd8310E61",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Simple data store used by the Universal_Adapter to store message calldata hashes. The content of this calldata can be proven by Ethereum zk light clients on remote chains and then executed to relay root bundles or arbitrary messages.\n",
"discoveryDrivenData": true
},
{
"name": "AcrossConfigStore",
"isVerified": true,
"address": "eth:0x3B03509645713718B78951126E0A6de6f10043f5",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Simple, owner-controlled contract for storing protocol-wide, token-specific configuration data.\n* Roles:\n * **owner**: Across Multisig; ultimately OptimisticGovernor",
"discoveryDrivenData": true
},
{
"name": "AdapterStore",
"isVerified": true,
"address": "eth:0x42df4D71f35ffBD28ae217d52E83C1DA0007D63b",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "A helper contract for chain adapters on the hub chain that support OFT messaging. Handles token -> messenger mapping.\n* Roles:\n * **owner**: Across Multisig; ultimately OptimisticGovernor",
"discoveryDrivenData": true
},
{
"name": "Ethereum_SpokePool",
"isVerified": true,
"address": "eth:0x5c7BCd6E7De5423a257D81B442095A1a6ced35C5",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xc186fA914353c44b2E33eBE05f21846F1048bEda"
],
"implementations": [
"eth:0x5E5B726C81f43B953a62AD87E2835C85c4D9Dd3B"
"eth:0x456Ac26E5ec083EE9889eBa0d1a0A582502B8e84"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1682355155,
"transactionHash": "0x411ae8360c51beff3d6034ea63f03c41e6cf8b031432391fc44bc4f5a1b908ef",
"implementations": [
"eth:0xA667498F46457548f1D3ad557340b95Fdb290148"
]
},
{
"timestamp": 1692663659,
"transactionHash": "0xceb5b11cd6c78b29d16d2c91bedcb4ec7467814fdce84a753f468c452c36c0d6",
"implementations": [
"eth:0x326510c1bf9d85Fb73d0AB8d20Aa5BbE9c7561e9"
]
},
{
"timestamp": 1696340927,
"transactionHash": "0x946dec56639129cadd298ce5a44341b6f361c5c632f5dea2a80d9cb023b836c6",
"implementations": [
"eth:0x5ab0A812327aD959dE664AEC8408Ef8c6ABe7184"
]
},
{
"timestamp": 1708538663,
"transactionHash": "0xf08778addb8376b0beb500bf569c6251eadc124e6aeeaf5f702ab1dbf576379f",
"implementations": [
"eth:0x90438AD3d81a0739ce1Cb20C73564682388c5FdD"
]
},
{
"timestamp": 1710769247,
"transactionHash": "0x3ebfeeedb62ab726a1cb350595df3d4b2212f2fda619ae08015d16f304fc8332",
"implementations": [
"eth:0xa4D3535f33549749Fb97fA42903AC80F6fb54af6"
]
},
{
"timestamp": 1715785919,
"transactionHash": "0xa604480755748d8162a3fb11442719682d473d868450e7460d9dd111a0b8903a",
"implementations": [
"eth:0x08C21b200eD06D2e32cEC91a770C3FcA8aD5F877"
]
},
{
"timestamp": 1725378503,
"transactionHash": "0xd3cfc5a7476fd33d3d3fdc2d77adac2bf6900945f9a5c5f35f65b6507dde381f",
"implementations": [
"eth:0x48Dcf75EA18233BA947E4480dCd70594720449C1"
]
},
{
"timestamp": 1738111451,
"transactionHash": "0x4d37ad20bb31cedba7434223e08229ca95fbfd32eaf2bcbd456af0d0a32bba8b",
"implementations": [
"eth:0xD576931ab0bDC3dfdc2c041d3C7b9d2ED0c6dd9a"
]
},
{
"timestamp": 1738939607,
"transactionHash": "0xbea88935fe99b6faba60ee273a5eb146cd6c2d12decfef8842c5c719a0009376",
"implementations": [
"eth:0x0190a2328e072Fc5a7fA00F6C9ae2a16c7F4E32a"
]
},
{
"timestamp": 1751304083,
"transactionHash": "0xa4cfc9525849a8a3052a587a29006303e9b16ce08fa096460bb6fe2017b1a3ef",
"implementations": [
"eth:0xFBc81a18EcDa8E6A91275cFDF5FC6d91A7C5AE80"
]
},
{
"timestamp": 1770055271,
"transactionHash": "0xce91ef569315a356ecbf8133df44de6a7f0cbbcc8f50433eb3ab5116d71a111f",
"implementations": [
"eth:0x5E5B726C81f43B953a62AD87E2835C85c4D9Dd3B"
]
},
{
"timestamp": 1786730555,
"transactionHash": "0x8149765132e15fb4f1dce1cab83f087ca099d778fee49191dff408069b734ad3",
"implementations": [
"eth:0x456Ac26E5ec083EE9889eBa0d1a0A582502B8e84"
]
}
],
"description": "The user-facing contract on each connected chain where funds are deposited to initiate a bridge transfer. It also receives settlement data from the HubPool to process refunds for the relayers who fulfilled those transfers.\n* Roles:\n * **crossDomainAdmin**: HubPool; ultimately Across Multisig, OptimisticGovernor",
"description": "The user-facing contract on each connected chain where funds are deposited to initiate a bridge transfer. It also receives settlement data from the HubPool to process refunds for the relayers who fulfilled those transfers. Since the V5 upgrade, deposits tagged with a special message prefix can only be filled through the Across V5 Gateway, which authenticates the fill and identifies the relayer paying for it.\n* Roles:\n * **crossDomainAdmin**: HubPool; ultimately Across Multisig, OptimisticGovernor\n * **gateway**: Gateway",
"upgradableBy": [
{
"name": "OptimisticGovernor",
"delay": "2d"
},
{
"name": "Across Multisig",
"delay": "no"
}
],
"discoveryDrivenData": true
},
{
"name": "HubPool",
"isVerified": true,
"address": "eth:0xc186fA914353c44b2E33eBE05f21846F1048bEda",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "The central L1 contract (hub) that manages liquidity from LPs and coordinates cross-chain settlements. It receives and secures settlement proposals (root bundles) using the UMA Optimistic Oracle, with a challenge period of 30m and a bond amount of 0.45 ABT.\n* Roles:\n * **owner**: Across Multisig; ultimately OptimisticGovernor",
"discoveryDrivenData": true
},
{
"name": "AcrossBondToken (ABT)",
"isVerified": true,
"address": "eth:0xee1DC6BCF1Ee967a350e9aC6CaaAA236109002ea",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "A bond token wrapping ETH for usage in the Across protocol. Implements modified ERC20 logic to only allow permissioned proposers to use it as a bond for root bundle proposals.\n* Roles:\n * **owner**: Across Multisig; ultimately OptimisticGovernor\n * **proposers**: EOA 1",
"discoveryDrivenData": true
},
{
"name": "VotingV2",
"isVerified": true,
"address": "eth:0x004395edb43EFca9885CEdad51EC9fAf93Bd34ac",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Core smart contract for UMA's Data Verification Mechanism (DVM), serving as source of truth for disputed claims. UMA token holders collectively resolve price requests and earn rewards for correct participation. Commit- and reveal phases for the voting take 1d each.\n* Roles:\n * **owner**: GovernorV2",
"discoveryDrivenData": true
},
{
"name": "Registry",
"isVerified": true,
"address": "eth:0x3e532e6222afe9Bcf02DCB87216802c75D5113aE",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Registry for contracts that are allowed to call `requestPrice()` in the UMA voting contracts (ie. request dispute resolution by the UMA DVM).\n* Roles:\n * **owner**: GovernorV2",
"discoveryDrivenData": true
},
{
"name": "Finder",
"isVerified": true,
"address": "eth:0x40f941E48A552bF496B154Af6bf55725f18D77c3",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Maps interface names to contract addresses (UMA protocol contracts).\n* Roles:\n * **owner**: GovernorV2",
"discoveryDrivenData": true
},
{
"name": "Store",
"isVerified": true,
"address": "eth:0x54f44eA3D2e7aA0ac089c4d8F7C93C27844057BF",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "UMA protocol contract responsible for calculating and collecting regular and final fees for using the DVM.\n* Roles:\n * **owner**: GovernorV2\n * **withdrawer**: EOA 3",
"discoveryDrivenData": true
},
{
"name": "FixedSlashSlashingLibrary",
"isVerified": true,
"address": "eth:0x9a406ba5a99983250Fd663947b3c968D387ce5cd",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Stores slashing parameters and calculates slashing amounts based on that (UMA protocol).\n",
"discoveryDrivenData": true
},
{
"name": "IdentifierWhitelist",
"isVerified": true,
"address": "eth:0xcF649d9Da4D1362C4DAEa67573430Bd6f945e570",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Keeps a list of whitelisted identifiers that are accepted by the UMA v3 protocol. Across uses the identifier `ACROSS-V2` for its disputes.\n* Roles:\n * **owner**: GovernorV2",
"discoveryDrivenData": true
},
{
"name": "AddressWhitelist",
"isVerified": true,
"address": "eth:0xdBF90434dF0B98219f87d112F37d74B1D90758c7",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "A simple address whitelist for tokens that can be used as bonds and/or fees. This whitelist is checked and enforced by various smart contracts in the UMA ecosystem.\n* Roles:\n * **owner**: GovernorV2",
"discoveryDrivenData": true
},
{
"name": "SkinnyOptimisticOracle",
"isVerified": true,
"address": "eth:0xeE3Afe347D5C74317041E2618C49534dAf887c24",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Validates bridge messages by allowing proposers to make bonded assertions about crosschain events. It enforces a challenge period during which any invalid claims can be disputed and escalated to UMA's Data Verification Mechanism (DVM) for resolution.\n",
"discoveryDrivenData": true
},
{
"name": "OptimisticOracleV3",
"isVerified": true,
"address": "eth:0xfb55F43fB9F48F63f9269DB7Dde3BbBe1ebDC0dE",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Standard UMA optimistic oracle contract that allows anyone to make an arbitrary claim by posting a bond. The claim is considered true unless it is successfully disputed within a challenge window, with UMA's DVM acting as the final arbiter for disputes.\n* Roles:\n * **owner**: GovernorV2",
"discoveryDrivenData": true
},
{
"name": "Zora_Adapter",
"isVerified": true,
"address": "eth:0x024F2fC31CBDD8de17194b1892c834f98Ef5169b",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Modular, chain-specific contract that abstracts the communication logic for settlement between the HubPool and various SpokePools and their Relayers, often via canonical bridges.\n",
"discoveryDrivenData": true
},
{
"name": "Soneium_Adapter",
"isVerified": true,
"address": "eth:0x0c9d064523177dBB55CFE52b9D0c485FBFc35FD2",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Modular, chain-specific contract that abstracts the communication logic for settlement between the HubPool and various SpokePools and their Relayers, often via canonical bridges.\n",
"discoveryDrivenData": true
},
{
"name": "HyperEVM_Adapter",
"isVerified": true,
"address": "eth:0x0ec70777Ac388774041dD5A1778Cdf3AF3134D2B",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "This adapter can be used to send messages / root bundles to HyperEVM. It stores calldata in the HubPoolStore on Ethereum, which can then be zk proven on a remote chain. This adapter also supports bridging OFTs via LayerZero and USDC via CCTP.\n",
"discoveryDrivenData": true
},
{
"name": "Redstone_Adapter",
"isVerified": true,
"address": "eth:0x188F8C95B7cfB7993B53a4F643efa687916f73fA",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Modular, chain-specific contract that abstracts the communication logic for settlement between the HubPool and various SpokePools and their Relayers, often via canonical bridges.\n",
"discoveryDrivenData": true
},
{
"name": "Avalance_Adapter",
"isVerified": true,
"address": "eth:0x1af659333172DC502bD71Cf5b889521C97751838",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "This adapter can be used to send messages / root bundles to chains that do not have a canonical adapter. It stores calldata in the HubPoolStore on Ethereum, which can then be zk proven on a remote chain. This adapter also supports bridging OFTs via LayerZero and USDC via CCTP.\n",
"discoveryDrivenData": true
},
{
"name": "Scroll_Adapter",
"isVerified": true,
"address": "eth:0x2DA799c2223c6ffB595e578903AE6b95839160d8",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Modular, chain-specific contract that abstracts the communication logic for settlement between the HubPool and various SpokePools and their Relayers, often via canonical bridges.\n",
"discoveryDrivenData": true
},
{
"name": "Boba_Adapter",
"isVerified": true,
"address": "eth:0x33B0Ec794c15D6Cc705818E70d4CaCe7bCfB5Af3",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Modular, chain-specific contract that abstracts the communication logic for settlement between the HubPool and various SpokePools and their Relayers, often via canonical bridges.\n",
"discoveryDrivenData": true
},
{
"name": "Optimism_Adapter",
"isVerified": true,
"address": "eth:0x3562e309C6C79626E5F0Cf746FB5Bf4f6b8EebE5",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Modular, chain-specific contract that abstracts the communication logic for settlement between the HubPool and various SpokePools and their Relayers, often via canonical bridges.\n",
"discoveryDrivenData": true
},
{
"name": "Tempo_Adapter",
"isVerified": true,
"address": "eth:0x4577980eBFCC6fC8ff516aC06dA9e729c40cA57c",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "This adapter can be used to send messages / root bundles to Tempo. It stores calldata in the HubPoolStore on Ethereum, which can then be zk proven on a remote chain. This adapter also supports bridging OFTs via LayerZero and USDC via CCTP.\n",
"discoveryDrivenData": true
},
{
"name": "Ethereum_Adapter",
"isVerified": true,
"address": "eth:0x527E872a5c3f0C7c24Fe33F2593cFB890a285084",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Modular, chain-specific contract that abstracts the communication logic for settlement between the HubPool and various SpokePools and their Relayers, often via canonical bridges.\n",
"discoveryDrivenData": true
},
{
"name": "Polygon_Adapter",
"isVerified": true,
"address": "eth:0x537abE038C223066B50312474409924487D2E655",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Modular, chain-specific contract that abstracts the communication logic for settlement between the HubPool and various SpokePools and their Relayers, often via canonical bridges.\n",
"discoveryDrivenData": true
},
{
"name": "Ink_Adapter",
"isVerified": true,
"address": "eth:0x545E43B6eC2f9a44CAa531298699Ff05958670B5",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Modular, chain-specific contract that abstracts the communication logic for settlement between the HubPool and various SpokePools and their Relayers, often via canonical bridges.\n",
"discoveryDrivenData": true
},
{
"name": "Linea_Adapter",
"isVerified": true,
"address": "eth:0x5A44A32c13e2C43416bFDE5dDF5DCb3880c42787",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Modular, chain-specific contract that abstracts the communication logic for settlement between the HubPool and various SpokePools and their Relayers, often via canonical bridges.\n",
"discoveryDrivenData": true
},
{
"name": "Lens_Adapter",
"isVerified": true,
"address": "eth:0x5e0B7e20a77BDf11812837D30F1326068Bcf24Cf",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Modular, chain-specific contract that abstracts the communication logic for settlement between the HubPool and various SpokePools and their Relayers, often via canonical bridges.\n",
"discoveryDrivenData": true
},
{
"name": "BNBSmartChain_Adapter",
"isVerified": true,
"address": "eth:0x6f1C9d3bcDF51316E7b515a62C02F601500b084b",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "This adapter can be used to send messages / root bundles to Binance Smart Chain. It stores calldata in the HubPoolStore on Ethereum, which can then be zk proven on a remote chain. This adapter also supports bridging OFTs via LayerZero.\n",
"discoveryDrivenData": true
},
{
"name": "Alephzero_Adapter",
"isVerified": true,
"address": "eth:0x6F4083304C2cA99B077ACE06a5DcF670615915Af",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Modular, chain-specific contract that abstracts the communication logic for settlement between the HubPool and various SpokePools and their Relayers, often via canonical bridges.\n",
"discoveryDrivenData": true
},
{
"name": "Base_Adapter",
"isVerified": true,
"address": "eth:0x799BDC55d91864b14B2eD63A34DeF5d502AA897f",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Modular, chain-specific contract that abstracts the communication logic for settlement between the HubPool and various SpokePools and their Relayers, often via canonical bridges.\n",
"discoveryDrivenData": true
},
{
"name": "Unichain_Adapter",
"isVerified": true,
"address": "eth:0x8956eFa31572E1d7ed5c8e36772F214A57DFA0D1",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Modular, chain-specific contract that abstracts the communication logic for settlement between the HubPool and various SpokePools and their Relayers, often via canonical bridges.\n",
"discoveryDrivenData": true
},
{
"name": "WorldChain_Adapter",
"isVerified": true,
"address": "eth:0x8bbdD67102D743b8533c1277a4ffdA04Dea158D1",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Modular, chain-specific contract that abstracts the communication logic for settlement between the HubPool and various SpokePools and their Relayers, often via canonical bridges.\n",
"discoveryDrivenData": true
},
{
"name": "Solana_Adapter",
"isVerified": true,
"address": "eth:0x9F788694934fD2Ed34D5340B9a76EB34f2bFD7B3",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Adapter for Solana. Uses CCTP v1 AMB to relay root bundles to the Solana spokepool.\n",
"discoveryDrivenData": true
},
{
"name": "Tron_Adapter",
"isVerified": true,
"address": "eth:0xA1da1A70cc9F27F4aEDff1d515B1a0C47fb6c3Db",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "This adapter can be used to send messages / root bundles to Tron. It stores calldata in the HubPoolStore on Ethereum, which can then be zk proven on a remote chain. This adapter also supports bridging OFTs via LayerZero and USDC via CCTP.\n",
"discoveryDrivenData": true
},
{
"name": "ZkSyncEra_Adapter",
"isVerified": true,
"address": "eth:0xA374585E6062517Ee367ee5044946A6fBe17724f",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Modular, chain-specific contract that abstracts the communication logic for settlement between the HubPool and various SpokePools and their Relayers, often via canonical bridges.\n",
"discoveryDrivenData": true
},
{
"name": "Plasma_Adapter",
"isVerified": true,
"address": "eth:0xb47fD69FE25878F4E43aAF2F9ad7D0A3A0B22363",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "This adapter can be used to send messages / root bundles to Plasma Mainnet. It stores calldata in the HubPoolStore on Ethereum, which can then be zk proven on a remote chain. This adapter also supports bridging OFTs via LayerZero.\n",
"discoveryDrivenData": true
},
{
"name": "Universal_Adapter",
"isVerified": true,
"address": "eth:0xbc5E82035e2C8d4B335Ccb751D6BF47e44Dec678",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "This adapter can be used to send messages / root bundles to chains that do not have a canonical adapter. It stores calldata in the HubPoolStore on Ethereum, which can then be zk proven on a remote chain. This adapter also supports bridging OFTs via LayerZero and USDC via CCTP.\n",
"discoveryDrivenData": true
},
{
"name": "Arbitrum_Adapter",
"isVerified": true,
"address": "eth:0xc0b6d2f794cc787C71f2cA5ceCD57102C32379B3",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Modular, chain-specific contract that abstracts the communication logic for settlement between the HubPool and various SpokePools and their Relayers, often via canonical bridges.\n",
"discoveryDrivenData": true
},
{
"name": "Monad_Adapter",
"isVerified": true,
"address": "eth:0xC29a3Ba0fBf477F16Fd53d2C438Eade024FD8452",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "This adapter can be used to send messages / root bundles to chains that do not have a canonical adapter. It stores calldata in the HubPoolStore on Ethereum, which can then be zk proven on a remote chain. This adapter also supports bridging OFTs via LayerZero and USDC via CCTP.\n",
"discoveryDrivenData": true
},
{
"name": "Universal_Adapter",
"isVerified": true,
"address": "eth:0xCA5f9960022078F3585a188e06F910eeC29c7eBD",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "This adapter can be used to send messages / root bundles to chains that do not have a canonical adapter. It stores calldata in the HubPoolStore on Ethereum, which can then be zk proven on a remote chain. This adapter also supports bridging OFTs via LayerZero and USDC via CCTP.\n",
"discoveryDrivenData": true
},
{
"name": "MegaETH_Adapter",
"isVerified": true,
"address": "eth:0xE1f04404b74F996A311F13aE291849fC153578Ac",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Modular, chain-specific contract that abstracts the communication logic for settlement between the HubPool and various SpokePools and their Relayers, often via canonical bridges.\n",
"discoveryDrivenData": true
},
{
"name": "Lisk_Adapter",
"isVerified": true,
"address": "eth:0xF039AdCC74936F90fE175e8b3FE0FdC8b8E0c73b",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Modular, chain-specific contract that abstracts the communication logic for settlement between the HubPool and various SpokePools and their Relayers, often via canonical bridges.\n",
"discoveryDrivenData": true
},
{
"name": "Mode_Adapter",
"isVerified": true,
"address": "eth:0xf1B59868697f3925b72889ede818B9E7ba0316d0",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Modular, chain-specific contract that abstracts the communication logic for settlement between the HubPool and various SpokePools and their Relayers, often via canonical bridges.\n",
"discoveryDrivenData": true
},
{
"name": "Blast_Adapter",
"isVerified": true,
"address": "eth:0xF2bEf5E905AAE0295003ab14872F811E914EdD81",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Modular, chain-specific contract that abstracts the communication logic for settlement between the HubPool and various SpokePools and their Relayers, often via canonical bridges.\n",
"discoveryDrivenData": true
}
],
"optimism": [
{
"name": "Optimism_SpokePool",
"name": "OP_SpokePool",
"isVerified": true,
"address": "oeth:0x6f26Bf09B1C792e3228e5467807a900A503c0281",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"oeth:0x0000000000000000000000000000000000000000"
],
"implementations": [
"oeth:0x0966F5034261CC50926fB9D5C1603A5034Ffa81c"
"oeth:0x60674c53a4cC4ED350659C95fb8020B5AC61cA1D"
]
},
"chain": "optimism",
"pastUpgrades": [
{
"timestamp": 1682354696,
"transactionHash": "0xf09b511734ba603400579c64ce6eeb8286e4429e11ab45e2f36df22f0eb59add",
"implementations": [
"oeth:0x618C854204834e110eB77f092e7063d7Ae2855d8"
]
},
{
"timestamp": 1686315223,
"transactionHash": "0x28a173e69040f2f96ebcd4bf6b793c593bff7c2027a455905610119740e9564f",
"implementations": [
"oeth:0xEc88d3C08E2939562Ff8188B4e30A52236C3FF09"
]
},
{
"timestamp": 1692796375,
"transactionHash": "0x792f7cc7f232d7c3616149394b8a2903b8000a3b28ef74c5cc9100aff6ffed42",
"implementations": [
"oeth:0xFd7F000C26B7205c1A3f9b846F44Dc11Ff5E6eb8"
]
},
{
"timestamp": 1696340997,
"transactionHash": "0x14f1c15037cef66839ce570174aad27a4ea7f33a3e2496e36ba2bbb5b6650637",
"implementations": [
"oeth:0xC127c7A25e6D1e1999DF3dC1accddeF278A87303"
]
},
{
"timestamp": 1708538741,
"transactionHash": "0xe34f46235ddb8e21d5fd4f490565d2a39664fc9603c77b15322004a6e5320a3a",
"implementations": [
"oeth:0xE287AAd8F3B99e411f1939492565C7D3F0e77FeF"
]
},
{
"timestamp": 1708826605,
"transactionHash": "0xc0461376071132e3a21654c5f61a6d2ca2f3cebe1ec3ab263c67b91b07db4dcf",
"implementations": [
"oeth:0x2e69a3962E7fF2EEF0c98a76aC3B294b03Dc4C3D"
]
},
{
"timestamp": 1710769317,
"transactionHash": "0x284c45850a83457ea38a5d25e2c0630ac5161026e839f7b27a8c88bfe22456ad",
"implementations": [
"oeth:0x5226a5D010F24F0df089963E94ce88E4c87EB53b"
]
},
{
"timestamp": 1715794729,
"transactionHash": "0xaf6f0949809d1e81f126f9288e833e90eea180f5159a3637d53ad367b294e5ad",
"implementations": [
"oeth:0xAF0079c65Cf5D2f38472956032f5012Cce7b1ba4"
]
},
{
"timestamp": 1716294163,
"transactionHash": "0x59d665d6c0c49dd5486bcc6809b21f485816efa779338497e7e67542fd7a5871",
"implementations": [
"oeth:0x0fDF0fa7FEA145c6c141BCa763c0D4c2e906b3e1"
]
},
{
"timestamp": 1725378635,
"transactionHash": "0x216fb5f149aebdda4ca076d3c9bca9d36f85e307b510a425848b40bd8801f86a",
"implementations": [
"oeth:0xA084031BA301D874a24525450297c1D51b0BF8Bd"
]
},
{
"timestamp": 1738111589,
"transactionHash": "0x055412f01d41dc49be4c853395e79f5ee4e10e736fe5420b5992997b0dc27add",
"implementations": [
"oeth:0x1a4b76a1366c9BceCd187289882823410512d8EB"
]
},
{
"timestamp": 1738939687,
"transactionHash": "0xc530c24b7b6fd88197b9adb1ff44360bc12087aed26bffcf0c62ec0d789131bd",
"implementations": [
"oeth:0xF383FD9A49282C9e1C99eB07a819e27E0d7B956c"
]
},
{
"timestamp": 1751304215,
"transactionHash": "0x612d2761ea8d8df4a72d12724c4b0d26d5ff8b1c1f17fe81d1e3012ba746072e",
"implementations": [
"oeth:0xD51099ac551350Bf3198c69104B5dc4694b3a536"
]
},
{
"timestamp": 1759844157,
"transactionHash": "0xd68d8d6f62cdeb169f7c8b7cd6b8df87e45679f1fe8577bd03322fc1dceec71f",
"implementations": [
"oeth:0x21352B3495A6eE1Bd2921Bdb0a876FaDc3A9245E"
]
},
{
"timestamp": 1770053069,
"transactionHash": "0xe3918b151a7edd22c00b59843b61403cbe665d76f55b6c47db1c1bfbf8454174",
"implementations": [
"oeth:0x0966F5034261CC50926fB9D5C1603A5034Ffa81c"
]
},
{
"timestamp": 1786729917,
"transactionHash": "0x5ef940d028891d65c1ab1383d1cf63e514e1906c1a4f7483c1bdb6e2b9ca39bd",
"implementations": [
"oeth:0x60674c53a4cC4ED350659C95fb8020B5AC61cA1D"
]
}
],
"description": "The user-facing contract on each connected chain where funds are deposited to initiate a bridge transfer. It also receives settlement data from the HubPool to process refunds for the relayers who fulfilled those transfers.\n* Roles:\n * **admin**: EOA 2\n * **crossDomainAdmin**: HubPool; ultimately Across Multisig, OptimisticGovernor",
"description": "The user-facing contract on each connected chain where funds are deposited to initiate a bridge transfer. It also receives settlement data from the HubPool to process refunds for the relayers who fulfilled those transfers. Since the V5 upgrade, deposits tagged with a special message prefix can only be filled through the Across V5 Gateway, which authenticates the fill and identifies the relayer paying for it.\n* Roles:\n * **admin**: EOA 2\n * **crossDomainAdmin**: HubPool; ultimately Across Multisig, OptimisticGovernor\n * **gateway**: Gateway",
"upgradableBy": [
{
"name": "OptimisticGovernor",
"delay": "2d"
},
{
"name": "Across Multisig",
"delay": "no"
},
{
"id": "EOA-2",
"name": "EOA 2",
"delay": "no"
}
],
"discoveryDrivenData": true
}
]
},
"risks": []
},
"description": "Intent framework specialised on popular chains and assets, speed and security.",
"detailedDescription": "# Crosschain transfer flow\n\nThe user initiates a transfer (sometimes called an intent) by depositing into the local chain \"SpokePool\" contract. The deposit specifies the recipient, the destination chain, the amount, the input token, the output token, a fill deadline by which the destination chain transfer must complete, and an optional exclusivity window during which only a chosen relayer can fill. User funds remain in the SpokePool; the deposit's parameters are not persisted in contract storage but only captured in a FundsDeposited event log, which relayers index offchain to learn about deposits.\n\nRelayers fill a crosschain request by calling the destination chain's SpokePool. During the exclusivity window only the chosen relayer can fill; after it expires anyone can. No fill is accepted past the fill deadline. Funds go to the user and the relay hash is marked Filled in the SpokePool's fillStatuses mapping to prevent double-fills.\n\n# Relayer repayments\n\nWhen a crosschain transfer is fulfilled, the relayer specifies on which chain and to which address they want to be repaid. A whitelisted proposer periodically posts a \"root bundle\" to the HubPool containing how much the protocol owes to each relayer (relayer refunds) and the pool rebalances needed so that there is enough liquidity on each chain for the refunds to be paid. The correctness of these roots is crucial; otherwise relayers could lie about filling a transfer and capture user funds.\n\nRoot bundles settle in two levels:\n\n1. Optimistic (Across-native): the proposer bonds 0.45 ABT (a simple ETH wrapper, not to be confused with the ACX governance token) and the root sits in a challenge period of 30m. If unchallenged, the bundle executes; UMA is not involved in this happy path.\n2. Dispute escalation (UMA): anyone can call disputeRootBundle() within the challenge period by posting an equal counter-bond. The disputed bundle is discarded immediately so a new proposal can be submitted, while the dispute itself is escalated to UMA's optimistic oracle, which resolves via UMA token voting; the losing party loses their bond.\n\nFor chains with a canonical L1 to L2 messenger, tokens and admin / refund messages move from the HubPool to each SpokePool through that chain's canonical bridge via a per-chain adapter. For chains without one (BNB Smart Chain, HyperEVM, Plasma, Tempo, Tron, ...), Across uses universal adapters: the HubPool writes the message calldata into the HubPoolStore on Ethereum, and the destination chain reads it by verifying a storage proof against Ethereum's state through a light client contract on the destination. Tokens travel via LayerZero OFT, or via Circle CCTP for USDC.\n\nLPs can provide single-token liquidity to the HubPool to front relayer refunds across chains, earning yield from an LP fee captured on every transfer.",
"detailedDescription": "# Crosschain transfer flow\n\nThe user initiates a transfer (sometimes called an intent) by depositing into the local chain \"SpokePool\" contract. The deposit specifies the recipient, the destination chain, the amount, the input token, the output token, a fill deadline by which the destination chain transfer must complete, and an optional exclusivity window during which only a chosen relayer can fill. User funds remain in the SpokePool; the deposit's parameters are not persisted in contract storage but only captured in a FundsDeposited event log, which relayers index offchain to learn about deposits.\n\nRelayers fill a crosschain request by calling the destination chain's SpokePool. During the exclusivity window only the chosen relayer can fill; after it expires anyone can. No fill is accepted past the fill deadline. Funds go to the user and the relay hash is marked Filled in the SpokePool's fillStatuses mapping to prevent double-fills.\n\n# Across V5 Gateway executions\n\nDeposits tagged with a special message prefix commit to an execution in the new Gateway contract and can only be filled through it: regular fills and the slow-fill path are blocked for them, and unfilled V5 deposits are refunded on the origin chain after the fill deadline like any other deposit. A V5 user signs a Merkle tree of alternative execution paths (e.g. different destination chains or routes) instead of one fixed order. Any solver can then execute one of the committed paths through the Gateway, which pulls the user's funds via standing token approvals or signed permits (Permit2, EIP-3009, ERC-2612) and runs the committed steps, of which the bridge fill can be one among several (e.g. swaps). The destination SpokePool validates the fill against the user's committed bounds (recipient, output token, minimum output amount) and pulls the output tokens from the standing approvals of the solver, who is then repaid through the unchanged root bundle settlement. The Gateway can be upgraded without delay by a multisig, which puts standing token approvals to the Gateway (and, transitively, relayers' standing approvals to the SpokePools) at risk if it is compromised.\n\n# Relayer repayments\n\nWhen a crosschain transfer is fulfilled, the relayer specifies on which chain and to which address they want to be repaid. A whitelisted proposer periodically posts a \"root bundle\" to the HubPool containing how much the protocol owes to each relayer (relayer refunds) and the pool rebalances needed so that there is enough liquidity on each chain for the refunds to be paid. The correctness of these roots is crucial; otherwise relayers could lie about filling a transfer and capture user funds.\n\nRoot bundles settle in two levels:\n\n1. Optimistic (Across-native): the proposer bonds 0.45 ABT (a simple ETH wrapper, not to be confused with the ACX governance token) and the root sits in a challenge period of 30m. If unchallenged, the bundle executes; UMA is not involved in this happy path.\n2. Dispute escalation (UMA): anyone can call disputeRootBundle() within the challenge period by posting an equal counter-bond. The disputed bundle is discarded immediately so a new proposal can be submitted, while the dispute itself is escalated to UMA's optimistic oracle, which resolves via UMA token voting; the losing party loses their bond.\n\nFor chains with a canonical L1 to L2 messenger, tokens and admin / refund messages move from the HubPool to each SpokePool through that chain's canonical bridge via a per-chain adapter. For chains without one (BNB Smart Chain, HyperEVM, Plasma, Tempo, Tron, ...), Across uses universal adapters: the HubPool writes the message calldata into the HubPoolStore on Ethereum, and the destination chain reads it by verifying a storage proof against Ethereum's state through a light client contract on the destination. Tokens travel via LayerZero OFT, or via Circle CCTP for USDC.\n\nLPs can provide single-token liquidity to the HubPool to front relayer refunds across chains, earning yield from an LP fee captured on every transfer.",
"intent": {
"color": "#1E88E5",
"intentModel": {
"value": "Intent framework",
"description": "Relayers compete to fill cross-chain transfer intents across supported chains and assets."
},
"userRecovery": {
"value": "Slow-fill fallback",
"description": "If no relayer fast-fills a deposit, Across can complete it through the protocol slow-fill path. This is not available for chains without an Ethereum canonical bridge adapter."
"description": "If no relayer fast-fills a deposit, Across can complete it through the protocol slow-fill path. This is not available for chains without an Ethereum canonical bridge adapter, nor for V5 Gateway deposits, which are instead refunded on the origin chain after the fill deadline expires."
},
"solverAccess": {
"value": "Permissionless",
"description": "Relayers compete to fill deposits and receive repayment."
},
"settlement": {
"value": "Optimistic",
"description": "Relayer repayment is settled through the Across system and can be escalated to token voting via UMA."
}
},
"permissions": {
"ethereum": {
"roles": [],
"actors": [
{
"id": "OptimisticGovernor",
"name": "OptimisticGovernor",
"accounts": [
{
"address": "eth:0x8692B776d1Ff0664177c90465038056Dc64f8991",
"type": "Contract",
"isVerified": true,
"name": "0x8692…8991",
"url": "https://etherscan.io/address/0x8692B776d1Ff0664177c90465038056Dc64f8991"
}
],
"chain": "ethereum",
"description": "Optimistic Governance module allowing for proposals by anyone with a bond of 2 WETH. They become executable if not challenged within 2d. The rules for proposals can be read directly from the contract values.\n* Can upgrade **with 2d delay**\n * Ethereum_SpokePool [via: Across Multisig with 2d delay → HubPool]\n * Optimism_SpokePool [via: Across Multisig with 2d delay → HubPool]\n* Can interact with AcrossConfigStore\n * update configuration values **with 2d delay** [via: Across Multisig with 2d delay]\n* Can interact with AdapterStore\n * set the token-to-messenger mappings that adapters use to route OFT cross-chain transfers **with 2d delay** [via: Across Multisig with 2d delay]\n* Can interact with Ethereum_SpokePool\n * relay and delete root bundles, pause the contract, manage routes, set the withdrawal recipient (crosschain rebalancing target) **with 2d delay** [via: Across Multisig with 2d delay → HubPool]\n* Can interact with OptimisticGovernor\n * set guard, avatar, target, delay, identifier, escalationManager, bond token and amount **with 2d delay** [via: Across Multisig with 2d delay]\n* Can interact with HubPool\n * pause the system, manage all fees, bonds and security parameters, manage tokens and chain support, and critical emergency actions like admin functions on remote SpokePools or deleting proposals (can steal funds) **with 2d delay** [via: Across Multisig with 2d delay]\n* Can interact with AcrossBondToken (ABT)\n * manage the proposer role **with 2d delay** [via: Across Multisig with 2d delay]\n* Can interact with Optimism_SpokePool\n * relay and delete root bundles, pause the contract, manage routes, set the withdrawal recipient (crosschain rebalancing target) **with 2d delay** [via: Across Multisig with 2d delay → HubPool]",
"description": "Optimistic Governance module allowing for proposals by anyone with a bond of 2 WETH. They become executable if not challenged within 2d. The rules for proposals can be read directly from the contract values.\n* Can upgrade **with 2d delay**\n * Ethereum_SpokePool [via: Across Multisig with 2d delay → HubPool]\n * OP_SpokePool [via: Across Multisig with 2d delay → HubPool]\n* Can interact with AcrossConfigStore\n * update configuration values **with 2d delay** [via: Across Multisig with 2d delay]\n* Can interact with AdapterStore\n * set the token-to-messenger mappings that adapters use to route OFT cross-chain transfers **with 2d delay** [via: Across Multisig with 2d delay]\n* Can interact with Ethereum_SpokePool\n * relay and delete root bundles, pause the contract, manage routes, set the withdrawal recipient (crosschain rebalancing target) **with 2d delay** [via: Across Multisig with 2d delay → HubPool]\n* Can interact with OptimisticGovernor\n * set guard, avatar, target, delay, identifier, escalationManager, bond token and amount **with 2d delay** [via: Across Multisig with 2d delay]\n* Can interact with HubPool\n * pause the system, manage all fees, bonds and security parameters, manage tokens and chain support, and critical emergency actions like admin functions on remote SpokePools or deleting proposals (can steal funds) **with 2d delay** [via: Across Multisig with 2d delay]\n* Can interact with AcrossBondToken (ABT)\n * manage the proposer role **with 2d delay** [via: Across Multisig with 2d delay]\n* Can interact with OP_SpokePool\n * relay and delete root bundles, pause the contract, manage routes, set the withdrawal recipient (crosschain rebalancing target) **with 2d delay** [via: Across Multisig with 2d delay → HubPool]",
"discoveryDrivenData": true
},
{
"id": "Across Multisig",
"name": "Across Multisig",
"description": "A Multisig with 3/5 threshold. It uses the following modules: OptimisticGovernor (Optimistic Governance module allowing for proposals by anyone with a bond of 2 WETH. They become executable if not challenged within 2d. The rules for proposals can be read directly from the contract values).\n* Can upgrade **with no delay**\n * Ethereum_SpokePool [via: HubPool]\n * Optimism_SpokePool [via: HubPool]\n* Can interact with AcrossConfigStore\n * update configuration values \n* Can interact with AdapterStore\n * set the token-to-messenger mappings that adapters use to route OFT cross-chain transfers \n* Can interact with Ethereum_SpokePool\n * relay and delete root bundles, pause the contract, manage routes, set the withdrawal recipient (crosschain rebalancing target) [via: HubPool]\n* Can interact with OptimisticGovernor\n * set guard, avatar, target, delay, identifier, escalationManager, bond token and amount \n* Can interact with HubPool\n * pause the system, manage all fees, bonds and security parameters, manage tokens and chain support, and critical emergency actions like admin functions on remote SpokePools or deleting proposals (can steal funds) \n* Can interact with AcrossBondToken (ABT)\n * manage the proposer role \n* Can interact with Optimism_SpokePool\n * relay and delete root bundles, pause the contract, manage routes, set the withdrawal recipient (crosschain rebalancing target) [via: HubPool]",
"description": "A Multisig with 3/5 threshold. It uses the following modules: OptimisticGovernor (Optimistic Governance module allowing for proposals by anyone with a bond of 2 WETH. They become executable if not challenged within 2d. The rules for proposals can be read directly from the contract values).\n* Can upgrade **with no delay**\n * Ethereum_SpokePool [via: HubPool]\n * OP_SpokePool [via: HubPool]\n* Can interact with AcrossConfigStore\n * update configuration values \n* Can interact with AdapterStore\n * set the token-to-messenger mappings that adapters use to route OFT cross-chain transfers \n* Can interact with Ethereum_SpokePool\n * relay and delete root bundles, pause the contract, manage routes, set the withdrawal recipient (crosschain rebalancing target) [via: HubPool]\n* Can interact with OptimisticGovernor\n * set guard, avatar, target, delay, identifier, escalationManager, bond token and amount \n* Can interact with HubPool\n * pause the system, manage all fees, bonds and security parameters, manage tokens and chain support, and critical emergency actions like admin functions on remote SpokePools or deleting proposals (can steal funds) \n* Can interact with AcrossBondToken (ABT)\n * manage the proposer role \n* Can interact with OP_SpokePool\n * relay and delete root bundles, pause the contract, manage routes, set the withdrawal recipient (crosschain rebalancing target) [via: HubPool]",
"accounts": [
{
"address": "eth:0xB524735356985D2f267FA010D681f061DfF03715",
"type": "Contract",
"isVerified": true,
"name": "0xB524…3715",
"url": "https://etherscan.io/address/0xB524735356985D2f267FA010D681f061DfF03715"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0x72b32C1a6A75CBAfAe36c0CA8e763946d370E766",
"type": "EOA",
"isVerified": true,
"name": "0x72b3…E766",
"url": "https://etherscan.io/address/0x72b32C1a6A75CBAfAe36c0CA8e763946d370E766"
},
{
"address": "eth:0x837219D7a9C666F5542c4559Bf17D7B804E5c5fe",
"type": "EOA",
"isVerified": true,
"name": "0x8372…c5fe",
"url": "https://etherscan.io/address/0x837219D7a9C666F5542c4559Bf17D7B804E5c5fe"
},
{
"address": "eth:0x996267d7d1B7f5046543feDe2c2Db473Ed4f65e9",
"type": "EOA",
"isVerified": true,
"name": "0x9962…65e9",
"url": "https://etherscan.io/address/0x996267d7d1B7f5046543feDe2c2Db473Ed4f65e9"
},
{
"address": "eth:0xcc400c09ecBAC3e0033e4587BdFAABB26223e37d",
"type": "EOA",
"isVerified": true,
"name": "0xcc40…e37d",
"url": "https://etherscan.io/address/0xcc400c09ecBAC3e0033e4587BdFAABB26223e37d"
},
{
"address": "eth:0x868CF19464e17F76D6419ACC802B122c22D2FD34",
"type": "EOA",
"isVerified": true,
"name": "0x868C…FD34",
"url": "https://etherscan.io/address/0x868CF19464e17F76D6419ACC802B122c22D2FD34"
}
],
"discoveryDrivenData": true
},
{
"id": "GovernorV2",
"name": "GovernorV2",
"accounts": [
{
"address": "eth:0x7b292034084A41B9D441B71b6E3557Edd0463fa8",
"type": "Contract",
"isVerified": true,
"name": "0x7b29…3fa8",
"url": "https://etherscan.io/address/0x7b292034084A41B9D441B71b6E3557Edd0463fa8"
}
],
"chain": "ethereum",
"description": "Central UMA governance contract. It executes administrative proposals that have been passed by UMA token holder votes.\n* Can interact with VotingV2\n * set critical administrative parameters like migrating to a new contract and requesting governance actions (`requestPrice()`) directly \n* Can interact with Registry\n * manage registered contracts \n* Can interact with Finder\n * manage address mappings \n* Can interact with ProposerV2\n * set the bond amount \n* Can interact with Store\n * set fees for disputes and manage all roles in the contract \n* Can interact with GovernorV2\n * manage all roles in the contract \n* Can interact with EmergencyProposer\n * remove and slash proposals, set the bond amount and the expiry time, manage the executor address \n* Can interact with IdentifierWhitelist\n * manage the whitelist \n* Can interact with AddressWhitelist\n * manage the addresses on the whitelist \n* Can interact with OptimisticOracleV3\n * set critical administrative parameters like default bonds, bond token, fees ",
"discoveryDrivenData": true
},
{
"id": "Across Gateway Multisig",
"name": "Across Gateway Multisig",
"description": "A Multisig with 3/5 threshold. \n* Can upgrade **with no delay**\n * Gateway ",
"accounts": [
{
"address": "eth:0x4c45F70B1d9a7A6D1984daccAd74D0E973B73F01",
"type": "Contract",
"isVerified": true,
"name": "0x4c45…3F01",
"url": "https://etherscan.io/address/0x4c45F70B1d9a7A6D1984daccAd74D0E973B73F01"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0x837219D7a9C666F5542c4559Bf17D7B804E5c5fe",
"type": "EOA",
"isVerified": true,
"name": "0x8372…c5fe",
"url": "https://etherscan.io/address/0x837219D7a9C666F5542c4559Bf17D7B804E5c5fe"
},
{
"address": "eth:0x2B9CAc7a18C70cBB6F6639571785b70a41B8AE03",
"type": "EOA",
"isVerified": true,
"name": "0x2B9C…AE03",
"url": "https://etherscan.io/address/0x2B9CAc7a18C70cBB6F6639571785b70a41B8AE03"
},
{
"address": "eth:0x996267d7d1B7f5046543feDe2c2Db473Ed4f65e9",
"type": "EOA",
"isVerified": true,
"name": "0x9962…65e9",
"url": "https://etherscan.io/address/0x996267d7d1B7f5046543feDe2c2Db473Ed4f65e9"
},
{
"address": "eth:0xe767C1fCbeC2F9B3a229B82bBC8aa21baC09BDB4",
"type": "EOA",
"isVerified": true,
"name": "0xe767…BDB4",
"url": "https://etherscan.io/address/0xe767C1fCbeC2F9B3a229B82bBC8aa21baC09BDB4"
},
{
"address": "eth:0x4851ec4e5A5B392328b825ecD94aF1cA93Fd609e",
"type": "EOA",
"isVerified": true,
"name": "0x4851…609e",
"url": "https://etherscan.io/address/0x4851ec4e5A5B392328b825ecD94aF1cA93Fd609e"
}
],
"discoveryDrivenData": true
},
{
"id": "Gateway",
"name": "Gateway",
"accounts": [
{
"address": "eth:0x998d7c178A1F9607b47eA3A8e22426451b3ce707",
"type": "Contract",
"isVerified": true,
"name": "0x998d…e707",
"url": "https://etherscan.io/address/0x998d7c178A1F9607b47eA3A8e22426451b3ce707"
}
],
"chain": "ethereum",
"description": "Entry point for Across V5 intent executions. Anyone can submit a user-signed execution path: the Gateway pulls the depositor's funds via standing token approvals or signed permits (Permit2 witness permits, EIP-3009, ERC-2612, EIP-712 transfer authorizations), then calls the committed executor. While executing, it exposes the execution context (submitter, executor, step commitment) that the SpokePool trusts to authenticate V5 fills.\n* Can interact with Ethereum_SpokePool\n * authenticate fills of V5-tagged deposits: only calls from this contract's live execution context can fill them, and executor-mode fills pull the output tokens from the standing token approvals that the current submitter (relayer) granted to the SpokePool ",
"discoveryDrivenData": true
},
{
"id": "ProposerV2",
"name": "ProposerV2",
"accounts": [
{
"address": "eth:0x50efaC9619225d7fB4703C5872da978849B6E7cC",
"type": "Contract",
"isVerified": true,
"name": "0x50ef…E7cC",
"url": "https://etherscan.io/address/0x50efaC9619225d7fB4703C5872da978849B6E7cC"
}
],
"chain": "ethereum",
"description": "Token governance contract allowing anyone to create a UMA governance proposal for a bond of 5,000 UMA tokens.\n* Can interact with GovernorV2\n * propose governance actions ",
"discoveryDrivenData": true
},
{
"id": "UMA Multisig",
"name": "UMA Multisig",
"description": "A Multisig with 2/4 threshold. \n* Can interact with EmergencyProposer\n * remove proposals, execute emergency proposals ",
"accounts": [
{
"address": "eth:0x8180D59b7175d4064bDFA8138A58e9baBFFdA44a",
"type": "Contract",
"isVerified": true,
"name": "0x8180…A44a",
"url": "https://etherscan.io/address/0x8180D59b7175d4064bDFA8138A58e9baBFFdA44a"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0x363605C0bdE9F1F5053aDA30618d95dbFc109Bf5",
"type": "EOA",
"isVerified": true,
"name": "0x3636…9Bf5",
"url": "https://etherscan.io/address/0x363605C0bdE9F1F5053aDA30618d95dbFc109Bf5"
},
{
"address": "eth:0xcc400c09ecBAC3e0033e4587BdFAABB26223e37d",
"type": "EOA",
"isVerified": true,
"name": "0xcc40…e37d",
"url": "https://etherscan.io/address/0xcc400c09ecBAC3e0033e4587BdFAABB26223e37d"
},
{
"address": "eth:0x72b32C1a6A75CBAfAe36c0CA8e763946d370E766",
"type": "EOA",
"isVerified": true,
"name": "0x72b3…E766",
"url": "https://etherscan.io/address/0x72b32C1a6A75CBAfAe36c0CA8e763946d370E766"
},
{
"address": "eth:0x837219D7a9C666F5542c4559Bf17D7B804E5c5fe",
"type": "EOA",
"isVerified": true,
"name": "0x8372…c5fe",
"url": "https://etherscan.io/address/0x837219D7a9C666F5542c4559Bf17D7B804E5c5fe"
}
],
"discoveryDrivenData": true
},
{
"id": "EmergencyProposer",
"name": "EmergencyProposer",
"accounts": [
{
"address": "eth:0x91F1804aCaf87C2D34A34A70be1bb16bB85D6748",
"type": "Contract",
"isVerified": true,
"name": "0x91F1…6748",
"url": "https://etherscan.io/address/0x91F1804aCaf87C2D34A34A70be1bb16bB85D6748"
}
],
"chain": "ethereum",
"description": "Token governance contract allowing anyone to create a UMA governance proposal for a bond of 5,000,000 UMA tokens. This circumvents the UMA optimistic oracle but can only be executed or removed after 10d, and only by UMA Multisig.\n* Can interact with GovernorV2\n * can bypass the voting system and execute proposals immediately ",
"discoveryDrivenData": true
},
{
"id": "EOA-1",
"name": "EOA 1",
"accounts": [
{
"address": "eth:0xf7bAc63fc7CEaCf0589F25454Ecf5C2ce904997c",
"type": "EOA",
"isVerified": true,
"name": "0xf7bA…997c",
"url": "https://etherscan.io/address/0xf7bAc63fc7CEaCf0589F25454Ecf5C2ce904997c",
"displayName": "EOA 1"
}
],
"chain": "ethereum",
"description": "* Can interact with AcrossBondToken (ABT)\n * propose new root bundles to the HubPool by posting an ABT bond. Proposals settle optimistically; only disputes (via `disputeRootBundle()`) escalate to UMA token voting ",
"discoveryDrivenData": true
},
{
"id": "EOA-3",
"name": "EOA 3",
"accounts": [
{
"address": "eth:0x2bAaA41d155ad8a4126184950B31F50A1513cE25",
"type": "EOA",
"isVerified": true,
"name": "0x2bAa…cE25",
"url": "https://etherscan.io/address/0x2bAaA41d155ad8a4126184950B31F50A1513cE25",
"displayName": "EOA 3"
}
],
"chain": "ethereum",
"description": "* Can interact with Store\n * withdraw fees ",
"discoveryDrivenData": true
}
]
},
"optimism": {
"roles": [],
"actors": [
{
"id": "Gateway",
"name": "Gateway",
"accounts": [
{
"address": "oeth:0x998d7c178A1F9607b47eA3A8e22426451b3ce707",
"type": "Contract",
"isVerified": true,
"name": "0x998d…e707",
"url": "https://optimistic.etherscan.io/address/0x998d7c178A1F9607b47eA3A8e22426451b3ce707"
}
],
"chain": "optimism",
"description": "Entry point for Across V5 intent executions. Anyone can submit a user-signed execution path: the Gateway pulls the depositor's funds via standing token approvals or signed permits (Permit2 witness permits, EIP-3009, ERC-2612, EIP-712 transfer authorizations), then calls the committed executor. While executing, it exposes the execution context (submitter, executor, step commitment) that the SpokePool trusts to authenticate V5 fills.\n* Can interact with OP_SpokePool\n * authenticate fills of V5-tagged deposits: only calls from this contract's live execution context can fill them, and executor-mode fills pull the output tokens from the standing token approvals that the current submitter (relayer) granted to the SpokePool ",
"discoveryDrivenData": true
},
{
"id": "Across Gateway Multisig",
"name": "Across Gateway Multisig",
"description": "A Multisig with 3/5 threshold. \n* Can upgrade **with no delay**\n * Gateway ",
"accounts": [
{
"address": "oeth:0xd396CcB6770EAB84045c9Bce2939c478639E2A7F",
"type": "Contract",
"isVerified": true,
"name": "0xd396…2A7F",
"url": "https://optimistic.etherscan.io/address/0xd396CcB6770EAB84045c9Bce2939c478639E2A7F"
}
],
"chain": "optimism",
"references": [],
"participants": [
{
"address": "oeth:0x837219D7a9C666F5542c4559Bf17D7B804E5c5fe",
"type": "EOA",
"isVerified": true,
"name": "0x8372…c5fe",
"url": "https://optimistic.etherscan.io/address/0x837219D7a9C666F5542c4559Bf17D7B804E5c5fe"
},
{
"address": "oeth:0x2B9CAc7a18C70cBB6F6639571785b70a41B8AE03",
"type": "EOA",
"isVerified": true,
"name": "0x2B9C…AE03",
"url": "https://optimistic.etherscan.io/address/0x2B9CAc7a18C70cBB6F6639571785b70a41B8AE03"
},
{
"address": "oeth:0x996267d7d1B7f5046543feDe2c2Db473Ed4f65e9",
"type": "EOA",
"isVerified": true,
"name": "0x9962…65e9",
"url": "https://optimistic.etherscan.io/address/0x996267d7d1B7f5046543feDe2c2Db473Ed4f65e9"
},
{
"address": "oeth:0xe767C1fCbeC2F9B3a229B82bBC8aa21baC09BDB4",
"type": "EOA",
"isVerified": true,
"name": "0xe767…BDB4",
"url": "https://optimistic.etherscan.io/address/0xe767C1fCbeC2F9B3a229B82bBC8aa21baC09BDB4"
},
{
"address": "oeth:0x4851ec4e5A5B392328b825ecD94aF1cA93Fd609e",
"type": "EOA",
"isVerified": true,
"name": "0x4851…609e",
"url": "https://optimistic.etherscan.io/address/0x4851ec4e5A5B392328b825ecD94aF1cA93Fd609e"
}
],
"discoveryDrivenData": true
},
{
"id": "EOA-2",
"name": "EOA 2",
"accounts": [
{
"address": "oeth:0x0000000000000000000000000000000000000000",
"type": "EOA",
"isVerified": true,
"name": "0x0000…0000",
"url": "https://optimistic.etherscan.io/address/0x0000000000000000000000000000000000000000",
"displayName": "EOA 2"
}
],
"chain": "optimism",
"description": "* Can upgrade **with no delay**\n * Optimism_SpokePool ",
"description": "* Can upgrade **with no delay**\n * OP_SpokePool ",
"discoveryDrivenData": true
}
]
}
},
"plugins": [
{
"plugin": "across",
"bridgeType": "nonMinting"
}
],
"type": "intent"
}
+103 -87
+98 -82
{
"ethereum": {
"roles": [],
"actors": [
{
"id": "ChainlinkAuthorizedForwarder",
"name": "ChainlinkAuthorizedForwarder",
"accounts": [
{
"address": "eth:0x0613A20e394593c2aEB627760e6d6Fb816D77fbB",
"type": "Contract",
"isVerified": true,
"name": "0x0613…7fbB",
"url": "https://etherscan.io/address/0x0613A20e394593c2aEB627760e6d6Fb816D77fbB"
}
],
"chain": "ethereum",
"description": "A Chainlink authorized forwarder that an oracle node uses to submit its signed reports onchain. It relays calls from its own authorized sender keys to a fixed target and holds no funds or price logic of its own.\n* Can interact with Chainlink_ETH_USD_Aggregator\n * relay signed price reports to this aggregator. Any single one of these forwarders can submit, but only a report already carrying a quorum of the signers' signatures is accepted ",
"discoveryDrivenData": true
},
{
"id": "ChainlinkAuthorizedForwarder",
"name": "ChainlinkAuthorizedForwarder",
"accounts": [
{
"address": "eth:0x0C46Dc0BA85eAb5A515f819F1a705eD324dA687B",
"type": "Contract",
"isVerified": true,
"name": "0x0C46…687B",
"url": "https://etherscan.io/address/0x0C46Dc0BA85eAb5A515f819F1a705eD324dA687B"
}
],
"chain": "ethereum",
"description": "A Chainlink authorized forwarder that an oracle node uses to submit its signed reports onchain. It relays calls from its own authorized sender keys to a fixed target and holds no funds or price logic of its own.\n* Can interact with Chainlink_ETH_USD_Aggregator\n * relay signed price reports to this aggregator. Any single one of these forwarders can submit, but only a report already carrying a quorum of the signers' signatures is accepted \n* Can interact with Chainlink_rETH_ETH_Aggregator\n * relay signed price reports to this aggregator. Any single one of these forwarders can submit, but only a report already carrying a quorum of the signers' signatures is accepted ",
"discoveryDrivenData": true
},
{
"id": "ChainlinkAuthorizedForwarder",
"name": "ChainlinkAuthorizedForwarder",
"accounts": [
{
"address": "eth:0x1B586bcad859a265592e7A10856AEd85B344eEb2",
"type": "Contract",
"isVerified": true,
"name": "0x1B58…eEb2",
"url": "https://etherscan.io/address/0x1B586bcad859a265592e7A10856AEd85B344eEb2"
}
],
"chain": "ethereum",
"description": "A Chainlink authorized forwarder that an oracle node uses to submit its signed reports onchain. It relays calls from its own authorized sender keys to a fixed target and holds no funds or price logic of its own.\n* Can interact with Chainlink_stETH_USD_Aggregator\n * relay signed price reports to this aggregator. Any single one of these forwarders can submit, but only a report already carrying a quorum of the signers' signatures is accepted \n* Can interact with Chainlink_ETH_USD_Aggregator\n * relay signed price reports to this aggregator. Any single one of these forwarders can submit, but only a report already carrying a quorum of the signers' signatures is accepted ",
"discoveryDrivenData": true
},
{
"id": "ChainlinkAuthorizedForwarder",
"name": "ChainlinkAuthorizedForwarder",
"accounts": [
{
"address": "eth:0x1d36A4c2ab15CcD29B312991176D85622299cc11",
"type": "Contract",
"isVerified": true,
"name": "0x1d36…cc11",
"url": "https://etherscan.io/address/0x1d36A4c2ab15CcD29B312991176D85622299cc11"
}
],
"chain": "ethereum",
"description": "A Chainlink authorized forwarder that an oracle node uses to submit its signed reports onchain. It relays calls from its own authorized sender keys to a fixed target and holds no funds or price logic of its own.\n* Can interact with Chainlink_ETH_USD_Aggregator\n * relay signed price reports to this aggregator. Any single one of these forwarders can submit, but only a report already carrying a quorum of the signers' signatures is accepted ",
"discoveryDrivenData": true
},
{
"id": "ChainlinkAuthorizedForwarder",
"name": "ChainlinkAuthorizedForwarder",
"accounts": [
{
"address": "eth:0x1d5804aE896c64ECc88E15379061CE6230F11895",
"type": "Contract",
"isVerified": true,
"name": "0x1d58…1895",
"url": "https://etherscan.io/address/0x1d5804aE896c64ECc88E15379061CE6230F11895"
}
],
"chain": "ethereum",
"description": "A Chainlink authorized forwarder that an oracle node uses to submit its signed reports onchain. It relays calls from its own authorized sender keys to a fixed target and holds no funds or price logic of its own.\n* Can interact with Chainlink_stETH_USD_Aggregator\n * relay signed price reports to this aggregator. Any single one of these forwarders can submit, but only a report already carrying a quorum of the signers' signatures is accepted \n* Can interact with Chainlink_ETH_USD_Aggregator\n * relay signed price reports to this aggregator. Any single one of these forwarders can submit, but only a report already carrying a quorum of the signers' signatures is accepted \n* Can interact with Chainlink_rETH_ETH_Aggregator\n * relay signed price reports to this aggregator. Any single one of these forwarders can submit, but only a report already carrying a quorum of the signers' signatures is accepted ",
"discoveryDrivenData": true
},
{
"id": "ChainlinkOracleMultisig",
"name": "ChainlinkOracleMultisig",
"description": "A Multisig with 4/9 threshold. It uses the following modules: ConfirmedTransactionModule.\nThe Gnosis Safe that Chainlink uses to administer these price feeds and the Feed Registry. It owns the feed proxies, their aggregators, and the registry, so it can swap the aggregator behind any feed or registry pair and replace the set of oracle signers and how many of them must sign a price. In effect it can set the ETH, stETH, and rETH prices these feeds report, or push a feed into a stale, zero, or reverting state, which makes it their single point of control, held by Chainlink.\n* Can interact with FeedRegistry\n * replace the aggregator behind any base/quote pair in the Feed Registry, controlling all prices it reports to consumers ",
"accounts": [
{
"address": "eth:0x21f73D42Eb58Ba49dDB685dc29D3bF5c0f0373CA",
"type": "Contract",
"isVerified": true,
"name": "0x21f7…73CA",
"url": "https://etherscan.io/address/0x21f73D42Eb58Ba49dDB685dc29D3bF5c0f0373CA"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0x80eFDeE7F82d0F2aBF3bF29A9A85edF0B42C9e19",
"type": "EOA",
"isVerified": true,
"name": "0x80eF…9e19",
"url": "https://etherscan.io/address/0x80eFDeE7F82d0F2aBF3bF29A9A85edF0B42C9e19"
},
{
"address": "eth:0x05724B9C8C1dDE1b2f659d7c0676ff63f6d5E781",
"type": "EOA",
"isVerified": true,
"name": "0x0572…E781",
"url": "https://etherscan.io/address/0x05724B9C8C1dDE1b2f659d7c0676ff63f6d5E781"
},
{
"address": "eth:0x480496c0884D61F2f56707Adb11697F8018898c2",
"type": "EOA",
"isVerified": true,
"name": "0x4804…98c2",
"url": "https://etherscan.io/address/0x480496c0884D61F2f56707Adb11697F8018898c2"
},
{
"address": "eth:0xB65B6d224351cD61f856c227b2d5cFc611E9B2d8",
"type": "EOA",
"isVerified": true,
"name": "0xB65B…B2d8",
"url": "https://etherscan.io/address/0xB65B6d224351cD61f856c227b2d5cFc611E9B2d8"
},
{
"address": "eth:0x47A1dD4E277530fffb5B5f70A43CCbD542F54e17",
"type": "EOA",
"isVerified": true,
"name": "0x47A1…4e17",
"url": "https://etherscan.io/address/0x47A1dD4E277530fffb5B5f70A43CCbD542F54e17"
},
{
"address": "eth:0xFdE996F00E42b33bdE7C640786333623aCC3f298",
"type": "EOA",
"isVerified": true,
"name": "0xFdE9…f298",
"url": "https://etherscan.io/address/0xFdE996F00E42b33bdE7C640786333623aCC3f298"
},
{
"address": "eth:0x7052cB84079905400ea52B635cAb6a275fDA8823",
"type": "EOA",
"isVerified": true,
"name": "0x7052…8823",
"url": "https://etherscan.io/address/0x7052cB84079905400ea52B635cAb6a275fDA8823"
},
{
"address": "eth:0xb7F0643D4ca8c296564Ce335062833e1afa3Afdb",
"type": "EOA",
"isVerified": true,
"name": "0xb7F0…Afdb",
"url": "https://etherscan.io/address/0xb7F0643D4ca8c296564Ce335062833e1afa3Afdb"
},
{
"address": "eth:0xD66336eA98cE0da67f25934E7cC230D4226292a0",
"type": "EOA",
"isVerified": true,
"name": "0xD663…92a0",
"url": "https://etherscan.io/address/0xD66336eA98cE0da67f25934E7cC230D4226292a0"
}
],
"discoveryDrivenData": true
},
{
"id": "ChainlinkAuthorizedForwarder",
"name": "ChainlinkAuthorizedForwarder",
"accounts": [
{
"address": "eth:0x243205E5c413534d0702ea981A35256E6853857F",
"type": "Contract",
"isVerified": true,
"name": "0x2432…857F",
"url": "https://etherscan.io/address/0x243205E5c413534d0702ea981A35256E6853857F"
}
],
"chain": "ethereum",
"description": "A Chainlink authorized forwarder that an oracle node uses to submit its signed reports onchain. It relays calls from its own authorized sender keys to a fixed target and holds no funds or price logic of its own.\n* Can interact with Chainlink_ETH_USD_Aggregator\n * relay signed price reports to this aggregator. Any single one of these forwarders can submit, but only a report already carrying a quorum of the signers' signatures is accepted ",
"discoveryDrivenData": true
},
{
"id": "ChainlinkAuthorizedForwarder",
"name": "ChainlinkAuthorizedForwarder",
"accounts": [
{
"address": "eth:0x2DBbD12Bf0f6A23Cf4455cC6BE874b7a246288Ce",
"type": "Contract",
"isVerified": true,
"name": "0x2DBb…88Ce",
"url": "https://etherscan.io/address/0x2DBbD12Bf0f6A23Cf4455cC6BE874b7a246288Ce"
}
],
"chain": "ethereum",
"description": "A Chainlink authorized forwarder that an oracle node uses to submit its signed reports onchain. It relays calls from its own authorized sender keys to a fixed target and holds no funds or price logic of its own.\n* Can interact with Chainlink_stETH_USD_Aggregator\n * relay signed price reports to this aggregator. Any single one of these forwarders can submit, but only a report already carrying a quorum of the signers' signatures is accepted ",
"discoveryDrivenData": true
},
{
"id": "ConfirmedTransactionModule",
"name": "ConfirmedTransactionModule",
"accounts": [
{
"address": "eth:0x2e1B5a40Edc922bCE489668b11749B8eAbd67f6b",
"type": "Contract",
"isVerified": true,
"name": "0x2e1B…7f6b",
"url": "https://etherscan.io/address/0x2e1B5a40Edc922bCE489668b11749B8eAbd67f6b"
}
],
"chain": "ethereum",
"description": "* Can interact with FeedRegistry\n * replace the aggregator behind any base/quote pair in the Feed Registry, controlling all prices it reports to consumers [via: ChainlinkOracleMultisig]",
"discoveryDrivenData": true
},
{
"id": "ChainlinkAuthorizedForwarder",
"name": "ChainlinkAuthorizedForwarder",
"accounts": [
{
"address": "eth:0x30B18F1c425123314C82b0236D7a349433755386",
"type": "Contract",
"isVerified": true,
"name": "0x30B1…5386",
"url": "https://etherscan.io/address/0x30B18F1c425123314C82b0236D7a349433755386"
}
],
"chain": "ethereum",
"description": "A Chainlink authorized forwarder that an oracle node uses to submit its signed reports onchain. It relays calls from its own authorized sender keys to a fixed target and holds no funds or price logic of its own.\n* Can interact with Chainlink_ETH_USD_Aggregator\n * relay signed price reports to this aggregator. Any single one of these forwarders can submit, but only a report already carrying a quorum of the signers' signatures is accepted ",
"discoveryDrivenData": true
},
{
"id": "ChainlinkAuthorizedForwarder",
"name": "ChainlinkAuthorizedForwarder",
"accounts": [
{
"address": "eth:0x30d872350Fe74f47C85847D6784B42f9b0816f04",
"type": "Contract",
"isVerified": true,
"name": "0x30d8…6f04",
"url": "https://etherscan.io/address/0x30d872350Fe74f47C85847D6784B42f9b0816f04"
}
],
"chain": "ethereum",
"description": "A Chainlink authorized forwarder that an oracle node uses to submit its signed reports onchain. It relays calls from its own authorized sender keys to a fixed target and holds no funds or price logic of its own.\n* Can interact with Chainlink_stETH_USD_Aggregator\n * relay signed price reports to this aggregator. Any single one of these forwarders can submit, but only a report already carrying a quorum of the signers' signatures is accepted \n* Can interact with Chainlink_rETH_ETH_Aggregator\n * relay signed price reports to this aggregator. Any single one of these forwarders can submit, but only a report already carrying a quorum of the signers' signatures is accepted ",
"discoveryDrivenData": true
},
{
"id": "ChainlinkAuthorizedForwarder",
"name": "ChainlinkAuthorizedForwarder",
"accounts": [
{
"address": "eth:0x35a06994a99B335b700bB3c875408489a9F8BbeF",
"type": "Contract",
"isVerified": true,
"name": "0x35a0…BbeF",
"url": "https://etherscan.io/address/0x35a06994a99B335b700bB3c875408489a9F8BbeF"
}
],
"chain": "ethereum",
"description": "A Chainlink authorized forwarder that an oracle node uses to submit its signed reports onchain. It relays calls from its own authorized sender keys to a fixed target and holds no funds or price logic of its own.\n* Can interact with Chainlink_ETH_USD_Aggregator\n * relay signed price reports to this aggregator. Any single one of these forwarders can submit, but only a report already carrying a quorum of the signers' signatures is accepted ",
"discoveryDrivenData": true
},
{
"id": "ChainlinkAuthorizedForwarder",
"name": "ChainlinkAuthorizedForwarder",
"accounts": [
{
"address": "eth:0x42Afc2F6aE88678296EcB2eBA34cCfbd1Adc5F93",
"type": "Contract",
"isVerified": true,
"name": "0x42Af…5F93",
"url": "https://etherscan.io/address/0x42Afc2F6aE88678296EcB2eBA34cCfbd1Adc5F93"
}
],
"chain": "ethereum",
"description": "A Chainlink authorized forwarder that an oracle node uses to submit its signed reports onchain. It relays calls from its own authorized sender keys to a fixed target and holds no funds or price logic of its own.\n* Can interact with Chainlink_stETH_USD_Aggregator\n * relay signed price reports to this aggregator. Any single one of these forwarders can submit, but only a report already carrying a quorum of the signers' signatures is accepted \n* Can interact with Chainlink_ETH_USD_Aggregator\n * relay signed price reports to this aggregator. Any single one of these forwarders can submit, but only a report already carrying a quorum of the signers' signatures is accepted ",
"discoveryDrivenData": true
},
{
"id": "ChainlinkAuthorizedForwarder",
"name": "ChainlinkAuthorizedForwarder",
"accounts": [
{
"address": "eth:0x4CB67cfee180B6B73B70c7B3fC162E5FCF6532f1",
"type": "Contract",
"isVerified": true,
"name": "0x4CB6…32f1",
"url": "https://etherscan.io/address/0x4CB67cfee180B6B73B70c7B3fC162E5FCF6532f1"
}
],
"chain": "ethereum",
"description": "A Chainlink authorized forwarder that an oracle node uses to submit its signed reports onchain. It relays calls from its own authorized sender keys to a fixed target and holds no funds or price logic of its own.\n* Can interact with Chainlink_stETH_USD_Aggregator\n * relay signed price reports to this aggregator. Any single one of these forwarders can submit, but only a report already carrying a quorum of the signers' signatures is accepted \n* Can interact with Chainlink_ETH_USD_Aggregator\n * relay signed price reports to this aggregator. Any single one of these forwarders can submit, but only a report already carrying a quorum of the signers' signatures is accepted ",
"discoveryDrivenData": true
},
{
"id": "ChainlinkAuthorizedForwarder",
"name": "ChainlinkAuthorizedForwarder",
"accounts": [
{
"address": "eth:0x522bB49bE4fB6E3ceC18df911C2A66457E6Fc3e2",
"type": "Contract",
"isVerified": true,
"name": "0x522b…c3e2",
"url": "https://etherscan.io/address/0x522bB49bE4fB6E3ceC18df911C2A66457E6Fc3e2"
}
],
"chain": "ethereum",
"description": "A Chainlink authorized forwarder that an oracle node uses to submit its signed reports onchain. It relays calls from its own authorized sender keys to a fixed target and holds no funds or price logic of its own.\n* Can interact with Chainlink_rETH_ETH_Aggregator\n * relay signed price reports to this aggregator. Any single one of these forwarders can submit, but only a report already carrying a quorum of the signers' signatures is accepted ",
"discoveryDrivenData": true
},
{
"id": "ChainlinkAuthorizedForwarder",
"name": "ChainlinkAuthorizedForwarder",
"accounts": [
{
"address": "eth:0x585B3e95EEdd03AF221F724557D03384864Da3ca",
"type": "Contract",
"isVerified": true,
"name": "0x585B…a3ca",
"url": "https://etherscan.io/address/0x585B3e95EEdd03AF221F724557D03384864Da3ca"
}
],
"chain": "ethereum",
"description": "A Chainlink authorized forwarder that an oracle node uses to submit its signed reports onchain. It relays calls from its own authorized sender keys to a fixed target and holds no funds or price logic of its own.\n* Can interact with Chainlink_stETH_USD_Aggregator\n * relay signed price reports to this aggregator. Any single one of these forwarders can submit, but only a report already carrying a quorum of the signers' signatures is accepted \n* Can interact with Chainlink_ETH_USD_Aggregator\n * relay signed price reports to this aggregator. Any single one of these forwarders can submit, but only a report already carrying a quorum of the signers' signatures is accepted ",
"discoveryDrivenData": true
},
{
"id": "ChainlinkAuthorizedForwarder",
"name": "ChainlinkAuthorizedForwarder",
"accounts": [
{
"address": "eth:0x5C026B7107f1F92a9768CF64f8B2a22252B0788d",
"type": "Contract",
"isVerified": true,
"name": "0x5C02…788d",
"url": "https://etherscan.io/address/0x5C026B7107f1F92a9768CF64f8B2a22252B0788d"
}
],
"chain": "ethereum",
"description": "A Chainlink authorized forwarder that an oracle node uses to submit its signed reports onchain. It relays calls from its own authorized sender keys to a fixed target and holds no funds or price logic of its own.\n* Can interact with Chainlink_ETH_USD_Aggregator\n * relay signed price reports to this aggregator. Any single one of these forwarders can submit, but only a report already carrying a quorum of the signers' signatures is accepted \n* Can interact with Chainlink_rETH_ETH_Aggregator\n * relay signed price reports to this aggregator. Any single one of these forwarders can submit, but only a report already carrying a quorum of the signers' signatures is accepted ",
"discoveryDrivenData": true
},
{
"id": "ChainlinkAuthorizedForwarder",
"name": "ChainlinkAuthorizedForwarder",
"accounts": [
{
"address": "eth:0x5Dc428646BF9a29A4d623E0CDB57384E811f6F77",
"type": "Contract",
"isVerified": true,
"name": "0x5Dc4…6F77",
"url": "https://etherscan.io/address/0x5Dc428646BF9a29A4d623E0CDB57384E811f6F77"
}
],
"chain": "ethereum",
"description": "A Chainlink authorized forwarder that an oracle node uses to submit its signed reports onchain. It relays calls from its own authorized sender keys to a fixed target and holds no funds or price logic of its own.\n* Can interact with Chainlink_ETH_USD_Aggregator\n * relay signed price reports to this aggregator. Any single one of these forwarders can submit, but only a report already carrying a quorum of the signers' signatures is accepted ",
"discoveryDrivenData": true
},
{
"id": "ChainlinkAuthorizedForwarder",
"name": "ChainlinkAuthorizedForwarder",
"accounts": [
{
"address": "eth:0x5eA7eAe0EBC1f4256806C8bf234F672d410Fc988",
"type": "Contract",
"isVerified": true,
"name": "0x5eA7…c988",
"url": "https://etherscan.io/address/0x5eA7eAe0EBC1f4256806C8bf234F672d410Fc988"
}
],
"chain": "ethereum",
"description": "A Chainlink authorized forwarder that an oracle node uses to submit its signed reports onchain. It relays calls from its own authorized sender keys to a fixed target and holds no funds or price logic of its own.\n* Can interact with Chainlink_ETH_USD_Aggregator\n * relay signed price reports to this aggregator. Any single one of these forwarders can submit, but only a report already carrying a quorum of the signers' signatures is accepted ",
"discoveryDrivenData": true
},
{
"id": "ChainlinkAuthorizedForwarder",
"name": "ChainlinkAuthorizedForwarder",
"accounts": [
{
"address": "eth:0x5fdf4ABaF24d8229deFBD28890cb01E0d8108e96",
"type": "Contract",
"isVerified": true,
"name": "0x5fdf…8e96",
"url": "https://etherscan.io/address/0x5fdf4ABaF24d8229deFBD28890cb01E0d8108e96"
}
],
"chain": "ethereum",
"description": "A Chainlink authorized forwarder that an oracle node uses to submit its signed reports onchain. It relays calls from its own authorized sender keys to a fixed target and holds no funds or price logic of its own.\n* Can interact with Chainlink_stETH_USD_Aggregator\n * relay signed price reports to this aggregator. Any single one of these forwarders can submit, but only a report already carrying a quorum of the signers' signatures is accepted \n* Can interact with Chainlink_ETH_USD_Aggregator\n * relay signed price reports to this aggregator. Any single one of these forwarders can submit, but only a report already carrying a quorum of the signers' signatures is accepted \n* Can interact with Chainlink_rETH_ETH_Aggregator\n * relay signed price reports to this aggregator. Any single one of these forwarders can submit, but only a report already carrying a quorum of the signers' signatures is accepted ",
"discoveryDrivenData": true
},
{
"id": "ChainlinkAuthorizedForwarder",
"name": "ChainlinkAuthorizedForwarder",
"accounts": [
{
"address": "eth:0x65a43936d7e1295CcA6f30F6a0B25fe49cAb32c8",
"type": "Contract",
"isVerified": true,
"name": "0x65a4…32c8",
"url": "https://etherscan.io/address/0x65a43936d7e1295CcA6f30F6a0B25fe49cAb32c8"
}
],
"chain": "ethereum",
"description": "A Chainlink authorized forwarder that an oracle node uses to submit its signed reports onchain. It relays calls from its own authorized sender keys to a fixed target and holds no funds or price logic of its own.\n* Can interact with Chainlink_ETH_USD_Aggregator\n * relay signed price reports to this aggregator. Any single one of these forwarders can submit, but only a report already carrying a quorum of the signers' signatures is accepted \n* Can interact with Chainlink_rETH_ETH_Aggregator\n * relay signed price reports to this aggregator. Any single one of these forwarders can submit, but only a report already carrying a quorum of the signers' signatures is accepted ",
"discoveryDrivenData": true
},
{
"id": "ChainlinkAuthorizedForwarder",
"name": "ChainlinkAuthorizedForwarder",
"accounts": [
{
"address": "eth:0x6D53d5E35F5226a1613877e071b81217387aC6B5",
"type": "Contract",
"isVerified": true,
"name": "0x6D53…C6B5",
"url": "https://etherscan.io/address/0x6D53d5E35F5226a1613877e071b81217387aC6B5"
}
],
"chain": "ethereum",
"description": "A Chainlink authorized forwarder that an oracle node uses to submit its signed reports onchain. It relays calls from its own authorized sender keys to a fixed target and holds no funds or price logic of its own.\n* Can interact with Chainlink_ETH_USD_Aggregator\n * relay signed price reports to this aggregator. Any single one of these forwarders can submit, but only a report already carrying a quorum of the signers' signatures is accepted \n* Can interact with Chainlink_rETH_ETH_Aggregator\n * relay signed price reports to this aggregator. Any single one of these forwarders can submit, but only a report already carrying a quorum of the signers' signatures is accepted ",
"discoveryDrivenData": true
},
{
"id": "ChainlinkAuthorizedForwarder",
"name": "ChainlinkAuthorizedForwarder",
"accounts": [
{
"address": "eth:0x7A13cD97D442856FF5387d55a7b3F09bf680102B",
"type": "Contract",
"isVerified": true,
"name": "0x7A13…102B",
"url": "https://etherscan.io/address/0x7A13cD97D442856FF5387d55a7b3F09bf680102B"
}
],
"chain": "ethereum",
"description": "A Chainlink authorized forwarder that an oracle node uses to submit its signed reports onchain. It relays calls from its own authorized sender keys to a fixed target and holds no funds or price logic of its own.\n* Can interact with Chainlink_ETH_USD_Aggregator\n * relay signed price reports to this aggregator. Any single one of these forwarders can submit, but only a report already carrying a quorum of the signers' signatures is accepted ",
"discoveryDrivenData": true
},
{
"id": "ChainlinkAuthorizedForwarder",
"name": "ChainlinkAuthorizedForwarder",
"accounts": [
{
"address": "eth:0x7B740d24396B09F992B655A590139D7Fbb5C73c8",
"type": "Contract",
"isVerified": true,
"name": "0x7B74…73c8",
"url": "https://etherscan.io/address/0x7B740d24396B09F992B655A590139D7Fbb5C73c8"
}
],
"chain": "ethereum",
"description": "A Chainlink authorized forwarder that an oracle node uses to submit its signed reports onchain. It relays calls from its own authorized sender keys to a fixed target and holds no funds or price logic of its own.\n* Can interact with Chainlink_ETH_USD_Aggregator\n * relay signed price reports to this aggregator. Any single one of these forwarders can submit, but only a report already carrying a quorum of the signers' signatures is accepted \n* Can interact with Chainlink_rETH_ETH_Aggregator\n * relay signed price reports to this aggregator. Any single one of these forwarders can submit, but only a report already carrying a quorum of the signers' signatures is accepted ",
"discoveryDrivenData": true
},
{
"id": "ChainlinkAuthorizedForwarder",
"name": "ChainlinkAuthorizedForwarder",
"accounts": [
{
"address": "eth:0x87B331d3bb9Cf70Dd85c3dc606B684a0bd61c772",
"type": "Contract",
"isVerified": true,
"name": "0x87B3…c772",
"url": "https://etherscan.io/address/0x87B331d3bb9Cf70Dd85c3dc606B684a0bd61c772"
}
],
"chain": "ethereum",
"description": "A Chainlink authorized forwarder that an oracle node uses to submit its signed reports onchain. It relays calls from its own authorized sender keys to a fixed target and holds no funds or price logic of its own.\n* Can interact with Chainlink_stETH_USD_Aggregator\n * relay signed price reports to this aggregator. Any single one of these forwarders can submit, but only a report already carrying a quorum of the signers' signatures is accepted \n* Can interact with Chainlink_rETH_ETH_Aggregator\n * relay signed price reports to this aggregator. Any single one of these forwarders can submit, but only a report already carrying a quorum of the signers' signatures is accepted ",
"discoveryDrivenData": true
},
{
"id": "ChainlinkAuthorizedForwarder",
"name": "ChainlinkAuthorizedForwarder",
"accounts": [
{
"address": "eth:0x8AaDF849561DcCeC75DA44d1147E736E0cc0134E",
"type": "Contract",
"isVerified": true,
"name": "0x8AaD…134E",
"url": "https://etherscan.io/address/0x8AaDF849561DcCeC75DA44d1147E736E0cc0134E"
}
],
"chain": "ethereum",
"description": "A Chainlink authorized forwarder that an oracle node uses to submit its signed reports onchain. It relays calls from its own authorized sender keys to a fixed target and holds no funds or price logic of its own.\n* Can interact with Chainlink_stETH_USD_Aggregator\n * relay signed price reports to this aggregator. Any single one of these forwarders can submit, but only a report already carrying a quorum of the signers' signatures is accepted \n* Can interact with Chainlink_ETH_USD_Aggregator\n * relay signed price reports to this aggregator. Any single one of these forwarders can submit, but only a report already carrying a quorum of the signers' signatures is accepted \n* Can interact with Chainlink_rETH_ETH_Aggregator\n * relay signed price reports to this aggregator. Any single one of these forwarders can submit, but only a report already carrying a quorum of the signers' signatures is accepted ",
"discoveryDrivenData": true
},
{
"id": "ChainlinkAuthorizedForwarder",
"name": "ChainlinkAuthorizedForwarder",
"accounts": [
{
"address": "eth:0x97360A89B5adb7D82Dbde6C66A49de8a48D550E6",
"type": "Contract",
"isVerified": true,
"name": "0x9736…50E6",
"url": "https://etherscan.io/address/0x97360A89B5adb7D82Dbde6C66A49de8a48D550E6"
}
],
"chain": "ethereum",
"description": "A Chainlink authorized forwarder that an oracle node uses to submit its signed reports onchain. It relays calls from its own authorized sender keys to a fixed target and holds no funds or price logic of its own.\n* Can interact with Chainlink_ETH_USD_Aggregator\n * relay signed price reports to this aggregator. Any single one of these forwarders can submit, but only a report already carrying a quorum of the signers' signatures is accepted \n* Can interact with Chainlink_rETH_ETH_Aggregator\n * relay signed price reports to this aggregator. Any single one of these forwarders can submit, but only a report already carrying a quorum of the signers' signatures is accepted ",
"discoveryDrivenData": true
},
{
"id": "ChainlinkAuthorizedForwarder",
"name": "ChainlinkAuthorizedForwarder",
"accounts": [
{
"address": "eth:0x990cfBBDc5aeB794B657b4309017F84479e8Eb7D",
"type": "Contract",
"isVerified": true,
"name": "0x990c…Eb7D",
"url": "https://etherscan.io/address/0x990cfBBDc5aeB794B657b4309017F84479e8Eb7D"
}
],
"chain": "ethereum",
"description": "A Chainlink authorized forwarder that an oracle node uses to submit its signed reports onchain. It relays calls from its own authorized sender keys to a fixed target and holds no funds or price logic of its own.\n* Can interact with Chainlink_ETH_USD_Aggregator\n * relay signed price reports to this aggregator. Any single one of these forwarders can submit, but only a report already carrying a quorum of the signers' signatures is accepted ",
"discoveryDrivenData": true
},
{
"id": "ChainlinkAuthorizedForwarder",
"name": "ChainlinkAuthorizedForwarder",
"accounts": [
{
"address": "eth:0x9A5B545aA8B6289288E529c4099B0CcA62bcB708",
"type": "Contract",
"isVerified": true,
"name": "0x9A5B…B708",
"url": "https://etherscan.io/address/0x9A5B545aA8B6289288E529c4099B0CcA62bcB708"
}
],
"chain": "ethereum",
"description": "A Chainlink authorized forwarder that an oracle node uses to submit its signed reports onchain. It relays calls from its own authorized sender keys to a fixed target and holds no funds or price logic of its own.\n* Can interact with Chainlink_stETH_USD_Aggregator\n * relay signed price reports to this aggregator. Any single one of these forwarders can submit, but only a report already carrying a quorum of the signers' signatures is accepted \n* Can interact with Chainlink_ETH_USD_Aggregator\n * relay signed price reports to this aggregator. Any single one of these forwarders can submit, but only a report already carrying a quorum of the signers' signatures is accepted ",
"discoveryDrivenData": true
},
{
"id": "ChainlinkAuthorizedForwarder",
"name": "ChainlinkAuthorizedForwarder",
"accounts": [
{
"address": "eth:0xAE80A59ba821544cB508808942C20C11442d8A9b",
"type": "Contract",
"isVerified": true,
"name": "0xAE80…8A9b",
"url": "https://etherscan.io/address/0xAE80A59ba821544cB508808942C20C11442d8A9b"
}
],
"chain": "ethereum",
"description": "A Chainlink authorized forwarder that an oracle node uses to submit its signed reports onchain. It relays calls from its own authorized sender keys to a fixed target and holds no funds or price logic of its own.\n* Can interact with Chainlink_stETH_USD_Aggregator\n * relay signed price reports to this aggregator. Any single one of these forwarders can submit, but only a report already carrying a quorum of the signers' signatures is accepted \n* Can interact with Chainlink_rETH_ETH_Aggregator\n * relay signed price reports to this aggregator. Any single one of these forwarders can submit, but only a report already carrying a quorum of the signers' signatures is accepted ",
"discoveryDrivenData": true
},
{
"id": "ChainlinkAuthorizedForwarder",
"name": "ChainlinkAuthorizedForwarder",
"accounts": [
{
"address": "eth:0xBa4555a80E47477BBf23B721563D38B10eb65dFa",
"type": "Contract",
"isVerified": true,
"name": "0xBa45…5dFa",
"url": "https://etherscan.io/address/0xBa4555a80E47477BBf23B721563D38B10eb65dFa"
}
],
"chain": "ethereum",
"description": "A Chainlink authorized forwarder that an oracle node uses to submit its signed reports onchain. It relays calls from its own authorized sender keys to a fixed target and holds no funds or price logic of its own.\n* Can interact with Chainlink_stETH_USD_Aggregator\n * relay signed price reports to this aggregator. Any single one of these forwarders can submit, but only a report already carrying a quorum of the signers' signatures is accepted ",
"discoveryDrivenData": true
},
{
"id": "ChainlinkAuthorizedForwarder",
"name": "ChainlinkAuthorizedForwarder",
"accounts": [
{
"address": "eth:0xC0C7eB4A39BAa77fD52715BD1dcE2246Df85E489",
"type": "Contract",
"isVerified": true,
"name": "0xC0C7…E489",
"url": "https://etherscan.io/address/0xC0C7eB4A39BAa77fD52715BD1dcE2246Df85E489"
}
],
"chain": "ethereum",
"description": "A Chainlink authorized forwarder that an oracle node uses to submit its signed reports onchain. It relays calls from its own authorized sender keys to a fixed target and holds no funds or price logic of its own.\n* Can interact with Chainlink_stETH_USD_Aggregator\n * relay signed price reports to this aggregator. Any single one of these forwarders can submit, but only a report already carrying a quorum of the signers' signatures is accepted \n* Can interact with Chainlink_ETH_USD_Aggregator\n * relay signed price reports to this aggregator. Any single one of these forwarders can submit, but only a report already carrying a quorum of the signers' signatures is accepted \n* Can interact with Chainlink_rETH_ETH_Aggregator\n * relay signed price reports to this aggregator. Any single one of these forwarders can submit, but only a report already carrying a quorum of the signers' signatures is accepted ",
"discoveryDrivenData": true
},
{
"id": "ChainlinkAuthorizedForwarder",
"name": "ChainlinkAuthorizedForwarder",
"accounts": [
{
"address": "eth:0xC917E3BF6c211b326ffD4ed13E7D9a67682095CA",
"type": "Contract",
"isVerified": true,
"name": "0xC917…95CA",
"url": "https://etherscan.io/address/0xC917E3BF6c211b326ffD4ed13E7D9a67682095CA"
}
],
"chain": "ethereum",
"description": "A Chainlink authorized forwarder that an oracle node uses to submit its signed reports onchain. It relays calls from its own authorized sender keys to a fixed target and holds no funds or price logic of its own.\n* Can interact with Chainlink_ETH_USD_Aggregator\n * relay signed price reports to this aggregator. Any single one of these forwarders can submit, but only a report already carrying a quorum of the signers' signatures is accepted \n* Can interact with Chainlink_rETH_ETH_Aggregator\n * relay signed price reports to this aggregator. Any single one of these forwarders can submit, but only a report already carrying a quorum of the signers' signatures is accepted ",
"discoveryDrivenData": true
},
{
"id": "ChainlinkAuthorizedForwarder",
"name": "ChainlinkAuthorizedForwarder",
"accounts": [
{
"address": "eth:0xd8D2297bDf4a84569bCec83C92A81549bE9c51E6",
"type": "Contract",
"isVerified": true,
"name": "0xd8D2…51E6",
"url": "https://etherscan.io/address/0xd8D2297bDf4a84569bCec83C92A81549bE9c51E6"
}
],
"chain": "ethereum",
"description": "A Chainlink authorized forwarder that an oracle node uses to submit its signed reports onchain. It relays calls from its own authorized sender keys to a fixed target and holds no funds or price logic of its own.\n* Can interact with Chainlink_ETH_USD_Aggregator\n * relay signed price reports to this aggregator. Any single one of these forwarders can submit, but only a report already carrying a quorum of the signers' signatures is accepted ",
"discoveryDrivenData": true
},
{
"id": "ChainlinkAuthorizedForwarder",
"name": "ChainlinkAuthorizedForwarder",
"accounts": [
{
"address": "eth:0xDb0f470c2e87A645b1d7f8900b9a8F5aDe9aF259",
"type": "Contract",
"isVerified": true,
"name": "0xDb0f…F259",
"url": "https://etherscan.io/address/0xDb0f470c2e87A645b1d7f8900b9a8F5aDe9aF259"
}
],
"chain": "ethereum",
"description": "A Chainlink authorized forwarder that an oracle node uses to submit its signed reports onchain. It relays calls from its own authorized sender keys to a fixed target and holds no funds or price logic of its own.\n* Can interact with Chainlink_stETH_USD_Aggregator\n * relay signed price reports to this aggregator. Any single one of these forwarders can submit, but only a report already carrying a quorum of the signers' signatures is accepted \n* Can interact with Chainlink_ETH_USD_Aggregator\n * relay signed price reports to this aggregator. Any single one of these forwarders can submit, but only a report already carrying a quorum of the signers' signatures is accepted ",
"discoveryDrivenData": true
},
{
"id": "ChainlinkAuthorizedForwarder",
"name": "ChainlinkAuthorizedForwarder",
"accounts": [
{
"address": "eth:0xE62Efa5462961055757C63931a15601545E4d273",
"type": "Contract",
"isVerified": true,
"name": "0xE62E…d273",
"url": "https://etherscan.io/address/0xE62Efa5462961055757C63931a15601545E4d273"
}
],
"chain": "ethereum",
"description": "A Chainlink authorized forwarder that an oracle node uses to submit its signed reports onchain. It relays calls from its own authorized sender keys to a fixed target and holds no funds or price logic of its own.\n* Can interact with Chainlink_stETH_USD_Aggregator\n * relay signed price reports to this aggregator. Any single one of these forwarders can submit, but only a report already carrying a quorum of the signers' signatures is accepted \n* Can interact with Chainlink_rETH_ETH_Aggregator\n * relay signed price reports to this aggregator. Any single one of these forwarders can submit, but only a report already carrying a quorum of the signers' signatures is accepted ",
"discoveryDrivenData": true
},
{
"id": "ChainlinkAuthorizedForwarder",
"name": "ChainlinkAuthorizedForwarder",
"accounts": [
{
"address": "eth:0xe7b837A55df42eCc95bf893C3c31750264932596",
"type": "Contract",
"isVerified": true,
"name": "0xe7b8…2596",
"url": "https://etherscan.io/address/0xe7b837A55df42eCc95bf893C3c31750264932596"
}
],
"chain": "ethereum",
"description": "A Chainlink authorized forwarder that an oracle node uses to submit its signed reports onchain. It relays calls from its own authorized sender keys to a fixed target and holds no funds or price logic of its own.\n* Can interact with Chainlink_stETH_USD_Aggregator\n * relay signed price reports to this aggregator. Any single one of these forwarders can submit, but only a report already carrying a quorum of the signers' signatures is accepted ",
"discoveryDrivenData": true
},
{
"id": "ChainlinkAuthorizedForwarder",
"name": "ChainlinkAuthorizedForwarder",
"accounts": [
{
"address": "eth:0xE9DcbaCc91dB0e37562a8455c80d0734D7CF3bd1",
"type": "Contract",
"isVerified": true,
"name": "0xE9Dc…3bd1",
"url": "https://etherscan.io/address/0xE9DcbaCc91dB0e37562a8455c80d0734D7CF3bd1"
}
],
"chain": "ethereum",
"description": "A Chainlink authorized forwarder that an oracle node uses to submit its signed reports onchain. It relays calls from its own authorized sender keys to a fixed target and holds no funds or price logic of its own.\n* Can interact with Chainlink_stETH_USD_Aggregator\n * relay signed price reports to this aggregator. Any single one of these forwarders can submit, but only a report already carrying a quorum of the signers' signatures is accepted \n* Can interact with Chainlink_ETH_USD_Aggregator\n * relay signed price reports to this aggregator. Any single one of these forwarders can submit, but only a report already carrying a quorum of the signers' signatures is accepted ",
"discoveryDrivenData": true
},
{
"id": "ChainlinkAuthorizedForwarder",
"name": "ChainlinkAuthorizedForwarder",
"accounts": [
{
"address": "eth:0xe9E4D87B0e7f97dd622439c26605b3b038c276C4",
"type": "Contract",
"isVerified": true,
"name": "0xe9E4…76C4",
"url": "https://etherscan.io/address/0xe9E4D87B0e7f97dd622439c26605b3b038c276C4"
}
],
"chain": "ethereum",
"description": "A Chainlink authorized forwarder that an oracle node uses to submit its signed reports onchain. It relays calls from its own authorized sender keys to a fixed target and holds no funds or price logic of its own.\n* Can interact with Chainlink_ETH_USD_Aggregator\n * relay signed price reports to this aggregator. Any single one of these forwarders can submit, but only a report already carrying a quorum of the signers' signatures is accepted ",
"discoveryDrivenData": true
},
{
"id": "ChainlinkAuthorizedForwarder",
"name": "ChainlinkAuthorizedForwarder",
"accounts": [
{
"address": "eth:0xF38326579519377178725A741C35999E8051e907",
"type": "Contract",
"isVerified": true,
"name": "0xF383…e907",
"url": "https://etherscan.io/address/0xF38326579519377178725A741C35999E8051e907"
}
],
"chain": "ethereum",
"description": "A Chainlink authorized forwarder that an oracle node uses to submit its signed reports onchain. It relays calls from its own authorized sender keys to a fixed target and holds no funds or price logic of its own.\n* Can interact with Chainlink_stETH_USD_Aggregator\n * relay signed price reports to this aggregator. Any single one of these forwarders can submit, but only a report already carrying a quorum of the signers' signatures is accepted \n* Can interact with Chainlink_ETH_USD_Aggregator\n * relay signed price reports to this aggregator. Any single one of these forwarders can submit, but only a report already carrying a quorum of the signers' signatures is accepted ",
"discoveryDrivenData": true
},
{
"id": "ChainlinkAuthorizedForwarder",
"name": "ChainlinkAuthorizedForwarder",
"accounts": [
{
"address": "eth:0xFe31f3EcfDE29Fc4915d80Eb8A9d67bFF14180B3",
"type": "Contract",
"isVerified": true,
"name": "0xFe31…80B3",
"url": "https://etherscan.io/address/0xFe31f3EcfDE29Fc4915d80Eb8A9d67bFF14180B3"
}
],
"chain": "ethereum",
"description": "A Chainlink authorized forwarder that an oracle node uses to submit its signed reports onchain. It relays calls from its own authorized sender keys to a fixed target and holds no funds or price logic of its own.\n* Can interact with Chainlink_ETH_USD_Aggregator\n * relay signed price reports to this aggregator. Any single one of these forwarders can submit, but only a report already carrying a quorum of the signers' signatures is accepted ",
"discoveryDrivenData": true
},
{
"id": "ChainlinkOracleMultisig",
"name": "ChainlinkOracleMultisig",
"description": "A Multisig with 4/9 threshold. It uses the following modules: ConfirmedTransactionModule.\nThe Gnosis Safe that Chainlink uses to administer these three price feeds. It owns both the feed proxies and their aggregators, so it can swap the aggregator behind any feed and replace the set of oracle signers and how many of them must sign a price. In effect it can set the ETH, stETH, and rETH prices these feeds report, or push a feed into a stale, zero, or reverting state, which makes it their single point of control, held by Chainlink.\n",
"accounts": [
{
"address": "eth:0x21f73D42Eb58Ba49dDB685dc29D3bF5c0f0373CA",
"type": "Contract",
"isVerified": true,
"name": "0x21f7…73CA",
"url": "https://etherscan.io/address/0x21f73D42Eb58Ba49dDB685dc29D3bF5c0f0373CA"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0x80eFDeE7F82d0F2aBF3bF29A9A85edF0B42C9e19",
"type": "EOA",
"isVerified": true,
"name": "0x80eF…9e19",
"url": "https://etherscan.io/address/0x80eFDeE7F82d0F2aBF3bF29A9A85edF0B42C9e19"
},
{
"address": "eth:0x05724B9C8C1dDE1b2f659d7c0676ff63f6d5E781",
"type": "EOA",
"isVerified": true,
"name": "0x0572…E781",
"url": "https://etherscan.io/address/0x05724B9C8C1dDE1b2f659d7c0676ff63f6d5E781"
},
{
"address": "eth:0x480496c0884D61F2f56707Adb11697F8018898c2",
"type": "EOA",
"isVerified": true,
"name": "0x4804…98c2",
"url": "https://etherscan.io/address/0x480496c0884D61F2f56707Adb11697F8018898c2"
},
{
"address": "eth:0xB65B6d224351cD61f856c227b2d5cFc611E9B2d8",
"type": "EOA",
"isVerified": true,
"name": "0xB65B…B2d8",
"url": "https://etherscan.io/address/0xB65B6d224351cD61f856c227b2d5cFc611E9B2d8"
},
{
"address": "eth:0x47A1dD4E277530fffb5B5f70A43CCbD542F54e17",
"type": "EOA",
"isVerified": true,
"name": "0x47A1…4e17",
"url": "https://etherscan.io/address/0x47A1dD4E277530fffb5B5f70A43CCbD542F54e17"
},
{
"address": "eth:0xFdE996F00E42b33bdE7C640786333623aCC3f298",
"type": "EOA",
"isVerified": true,
"name": "0xFdE9…f298",
"url": "https://etherscan.io/address/0xFdE996F00E42b33bdE7C640786333623aCC3f298"
},
{
"address": "eth:0x7052cB84079905400ea52B635cAb6a275fDA8823",
"type": "EOA",
"isVerified": true,
"name": "0x7052…8823",
"url": "https://etherscan.io/address/0x7052cB84079905400ea52B635cAb6a275fDA8823"
},
{
"address": "eth:0xb7F0643D4ca8c296564Ce335062833e1afa3Afdb",
"type": "EOA",
"isVerified": true,
"name": "0xb7F0…Afdb",
"url": "https://etherscan.io/address/0xb7F0643D4ca8c296564Ce335062833e1afa3Afdb"
},
{
"address": "eth:0xD66336eA98cE0da67f25934E7cC230D4226292a0",
"type": "EOA",
"isVerified": true,
"name": "0xD663…92a0",
"url": "https://etherscan.io/address/0xD66336eA98cE0da67f25934E7cC230D4226292a0"
}
],
"discoveryDrivenData": true
},
{
"id": "EOA-1,-EOA-5,-EOA-7,-EOA-11,-EOA-14,-EOA-20-and-EOA-38",
"name": "EOA 1, EOA 5, EOA 7, EOA 11, EOA 14, EOA 20 and EOA 38",
"accounts": [
{
"address": "eth:0x05FD2a0Ce04700375e475a12d2708F1632992D32",
"type": "EOA",
"isVerified": true,
"name": "0x05FD…2D32",
"url": "https://etherscan.io/address/0x05FD2a0Ce04700375e475a12d2708F1632992D32",
"displayName": "EOA 1"
},
{
"address": "eth:0x2105394CE5f045c4d2F33Fd35cC0472B689998cC",
"type": "EOA",
"isVerified": true,
"name": "0x2105…98cC",
"url": "https://etherscan.io/address/0x2105394CE5f045c4d2F33Fd35cC0472B689998cC",
"displayName": "EOA 5"
},
{
"address": "eth:0x37939AaA3E06F59C68c4002E98972b55cE9313fF",
"type": "EOA",
"isVerified": true,
"name": "0x3793…13fF",
"url": "https://etherscan.io/address/0x37939AaA3E06F59C68c4002E98972b55cE9313fF",
"displayName": "EOA 7"
},
{
"address": "eth:0x5213f6F0f0bC40B8db5FE9124984B82Ce00d6004",
"type": "EOA",
"isVerified": true,
"name": "0x5213…6004",
"url": "https://etherscan.io/address/0x5213f6F0f0bC40B8db5FE9124984B82Ce00d6004",
"displayName": "EOA 11"
},
{
"address": "eth:0x6755F3DF25f4c1A6c3e768E286eAbc3413499D1B",
"type": "EOA",
"isVerified": true,
"name": "0x6755…9D1B",
"url": "https://etherscan.io/address/0x6755F3DF25f4c1A6c3e768E286eAbc3413499D1B",
"displayName": "EOA 14"
},
{
"address": "eth:0x8DCCa28d562157271b085632610d1Bd878690902",
"type": "EOA",
"isVerified": true,
"name": "0x8DCC…0902",
"url": "https://etherscan.io/address/0x8DCCa28d562157271b085632610d1Bd878690902",
"displayName": "EOA 20"
},
{
"address": "eth:0xFC78E810375eC72e9d3d194f3acAb896C7937611",
"type": "EOA",
"isVerified": true,
"name": "0xFC78…7611",
"url": "https://etherscan.io/address/0xFC78E810375eC72e9d3d194f3acAb896C7937611",
"displayName": "EOA 38"
}
],
"chain": "ethereum",
"description": "* Can interact with Chainlink_ETH_USD_Aggregator\n * sign price reports. A quorum of f+1 of these signing keys must sign each update, so their signatures, not the submitter, authorize the reported price \n* Can interact with Chainlink_rETH_ETH_Aggregator\n * sign price reports. A quorum of f+1 of these signing keys must sign each update, so their signatures, not the submitter, authorize the reported price ",
"discoveryDrivenData": true
},
{
"id": "EOA-2,-EOA-23,-EOA-25-and-EOA-33",
"name": "EOA 2, EOA 23, EOA 25 and EOA 33",
"accounts": [
{
"address": "eth:0x1128DAC99D33De9Daf99f6F4505c1f1E286A9712",
"type": "EOA",
"isVerified": true,
"name": "0x1128…9712",
"url": "https://etherscan.io/address/0x1128DAC99D33De9Daf99f6F4505c1f1E286A9712",
"displayName": "EOA 2"
},
{
"address": "eth:0x97590710d86ba7D34965229700652Ed4E6B6E6B7",
"type": "EOA",
"isVerified": true,
"name": "0x9759…E6B7",
"url": "https://etherscan.io/address/0x97590710d86ba7D34965229700652Ed4E6B6E6B7",
"displayName": "EOA 23"
},
{
"address": "eth:0xC83ffb4282e3c4deEf834a10b82800E7b484FbC9",
"type": "EOA",
"isVerified": true,
"name": "0xC83f…FbC9",
"url": "https://etherscan.io/address/0xC83ffb4282e3c4deEf834a10b82800E7b484FbC9",
"displayName": "EOA 25"
},
{
"address": "eth:0xEb5D1116c0F687BaAD06758008852679cf4D8cEC",
"type": "EOA",
"isVerified": true,
"name": "0xEb5D…8cEC",
"url": "https://etherscan.io/address/0xEb5D1116c0F687BaAD06758008852679cf4D8cEC",
"displayName": "EOA 33"
}
],
"chain": "ethereum",
"description": "* Can interact with Chainlink_stETH_USD_Aggregator\n * sign price reports. A quorum of f+1 of these signing keys must sign each update, so their signatures, not the submitter, authorize the reported price \n* Can interact with Chainlink_ETH_USD_Aggregator\n * sign price reports. A quorum of f+1 of these signing keys must sign each update, so their signatures, not the submitter, authorize the reported price \n* Can interact with Chainlink_rETH_ETH_Aggregator\n * sign price reports. A quorum of f+1 of these signing keys must sign each update, so their signatures, not the submitter, authorize the reported price ",
"discoveryDrivenData": true
},
{
"id": "EOA-3,-EOA-22,-EOA-28,-EOA-29,-EOA-30,-EOA-34,-EOA-35-and-EOA-37",
"name": "EOA 3, EOA 22, EOA 28, EOA 29, EOA 30, EOA 34, EOA 35 and EOA 37",
"accounts": [
{
"address": "eth:0x15E79C766b9Df3F8b3b60425f3122b2b61fd4212",
"type": "EOA",
"isVerified": true,
"name": "0x15E7…4212",
"url": "https://etherscan.io/address/0x15E79C766b9Df3F8b3b60425f3122b2b61fd4212",
"displayName": "EOA 3"
},
{
"address": "eth:0x9630a8FEA21c69De3790Fde207c4465E67966F2C",
"type": "EOA",
"isVerified": true,
"name": "0x9630…6F2C",
"url": "https://etherscan.io/address/0x9630a8FEA21c69De3790Fde207c4465E67966F2C",
"displayName": "EOA 22"
},
{
"address": "eth:0xc9e37628E76F02f84091d8e5A8DB1053C6CaC1CB",
"type": "EOA",
"isVerified": true,
"name": "0xc9e3…C1CB",
"url": "https://etherscan.io/address/0xc9e37628E76F02f84091d8e5A8DB1053C6CaC1CB",
"displayName": "EOA 28"
},
{
"address": "eth:0xd76f52789321183E08799F34A2AD9c812A95A5B1",
"type": "EOA",
"isVerified": true,
"name": "0xd76f…A5B1",
"url": "https://etherscan.io/address/0xd76f52789321183E08799F34A2AD9c812A95A5B1",
"displayName": "EOA 29"
},
{
"address": "eth:0xD953B28486a4Cd2668dbaFddbC4A3806A1B6Ae45",
"type": "EOA",
"isVerified": true,
"name": "0xD953…Ae45",
"url": "https://etherscan.io/address/0xD953B28486a4Cd2668dbaFddbC4A3806A1B6Ae45",
"displayName": "EOA 30"
},
{
"address": "eth:0xf18939edE35203f5361ff19c2BA65B5aefC985C2",
"type": "EOA",
"isVerified": true,
"name": "0xf189…85C2",
"url": "https://etherscan.io/address/0xf18939edE35203f5361ff19c2BA65B5aefC985C2",
"displayName": "EOA 34"
},
{
"address": "eth:0xf4B2220EFFc3955b627E52389673418324F5d1CA",
"type": "EOA",
"isVerified": true,
"name": "0xf4B2…d1CA",
"url": "https://etherscan.io/address/0xf4B2220EFFc3955b627E52389673418324F5d1CA",
"displayName": "EOA 35"
},
{
"address": "eth:0xf9079d1f8033069c7480027E4bA1b3b1ec99eDa8",
"type": "EOA",
"isVerified": true,
"name": "0xf907…eDa8",
"url": "https://etherscan.io/address/0xf9079d1f8033069c7480027E4bA1b3b1ec99eDa8",
"displayName": "EOA 37"
}
],
"chain": "ethereum",
"description": "* Can interact with Chainlink_stETH_USD_Aggregator\n * sign price reports. A quorum of f+1 of these signing keys must sign each update, so their signatures, not the submitter, authorize the reported price \n* Can interact with Chainlink_ETH_USD_Aggregator\n * sign price reports. A quorum of f+1 of these signing keys must sign each update, so their signatures, not the submitter, authorize the reported price ",
"discoveryDrivenData": true
},
{
"id": "EOA-4,-EOA-8,-EOA-13,-EOA-15,-EOA-16,-EOA-17,-EOA-18,-EOA-19,-EOA-24,-EOA-26,-EOA-27-and-EOA-36",
"name": "EOA 4, EOA 8, EOA 13, EOA 15, EOA 16, EOA 17, EOA 18, EOA 19, EOA 24, EOA 26, EOA 27 and EOA 36",
"accounts": [
{
"address": "eth:0x207dCc7519600F6459227168abe8e102CB99EB3e",
"type": "EOA",
"isVerified": true,
"name": "0x207d…EB3e",
"url": "https://etherscan.io/address/0x207dCc7519600F6459227168abe8e102CB99EB3e",
"displayName": "EOA 4"
},
{
"address": "eth:0x43dC29Fe432733F239D8485d7DcdAA867B7175b8",
"type": "EOA",
"isVerified": true,
"name": "0x43dC…75b8",
"url": "https://etherscan.io/address/0x43dC29Fe432733F239D8485d7DcdAA867B7175b8",
"displayName": "EOA 8"
},
{
"address": "eth:0x58c56D3b37bdD568cE476Ee5ABe1D263F2615970",
"type": "EOA",
"isVerified": true,
"name": "0x58c5…5970",
"url": "https://etherscan.io/address/0x58c56D3b37bdD568cE476Ee5ABe1D263F2615970",
"displayName": "EOA 13"
},
{
"address": "eth:0x679316Feef30712f240C1903F92751b5Ec14548b",
"type": "EOA",
"isVerified": true,
"name": "0x6793…548b",
"url": "https://etherscan.io/address/0x679316Feef30712f240C1903F92751b5Ec14548b",
"displayName": "EOA 15"
},
{
"address": "eth:0x7714a555e35FC3Af77e272835E0C31b1Afef8813",
"type": "EOA",
"isVerified": true,
"name": "0x7714…8813",
"url": "https://etherscan.io/address/0x7714a555e35FC3Af77e272835E0C31b1Afef8813",
"displayName": "EOA 16"
},
{
"address": "eth:0x84456A715540D627dbc588b73f33b1246cfCFD7C",
"type": "EOA",
"isVerified": true,
"name": "0x8445…FD7C",
"url": "https://etherscan.io/address/0x84456A715540D627dbc588b73f33b1246cfCFD7C",
"displayName": "EOA 17"
},
{
"address": "eth:0x845E553567C9F2221a238605DB7c044c672455e4",
"type": "EOA",
"isVerified": true,
"name": "0x845E…55e4",
"url": "https://etherscan.io/address/0x845E553567C9F2221a238605DB7c044c672455e4",
"displayName": "EOA 18"
},
{
"address": "eth:0x88E66A3D292D4B7b4913A28333658A9F43772991",
"type": "EOA",
"isVerified": true,
"name": "0x88E6…2991",
"url": "https://etherscan.io/address/0x88E66A3D292D4B7b4913A28333658A9F43772991",
"displayName": "EOA 19"
},
{
"address": "eth:0x9e51fa73404dfa9A38063E63bB8DAa796095Aa09",
"type": "EOA",
"isVerified": true,
"name": "0x9e51…Aa09",
"url": "https://etherscan.io/address/0x9e51fa73404dfa9A38063E63bB8DAa796095Aa09",
"displayName": "EOA 24"
},
{
"address": "eth:0xC8f5aE9ED3930643aD91c0c0d37225916e45b996",
"type": "EOA",
"isVerified": true,
"name": "0xC8f5…b996",
"url": "https://etherscan.io/address/0xC8f5aE9ED3930643aD91c0c0d37225916e45b996",
"displayName": "EOA 26"
},
{
"address": "eth:0xc90E040d0C2C07f166474891a7219da494B6ED62",
"type": "EOA",
"isVerified": true,
"name": "0xc90E…ED62",
"url": "https://etherscan.io/address/0xc90E040d0C2C07f166474891a7219da494B6ED62",
"displayName": "EOA 27"
},
{
"address": "eth:0xf8F1f7455CC3A0D045ecE1f7DB6f5249C0508236",
"type": "EOA",
"isVerified": true,
"name": "0xf8F1…8236",
"url": "https://etherscan.io/address/0xf8F1f7455CC3A0D045ecE1f7DB6f5249C0508236",
"displayName": "EOA 36"
}
],
"chain": "ethereum",
"description": "* Can interact with Chainlink_ETH_USD_Aggregator\n * sign price reports. A quorum of f+1 of these signing keys must sign each update, so their signatures, not the submitter, authorize the reported price ",
"discoveryDrivenData": true
},
{
"id": "EOA-6,-EOA-31-and-EOA-39",
"name": "EOA 6, EOA 31 and EOA 39",
"accounts": [
{
"address": "eth:0x2AE63A74771Fc84Fe25a186E139c2A39FfCa3f7c",
"type": "EOA",
"isVerified": true,
"name": "0x2AE6…3f7c",
"url": "https://etherscan.io/address/0x2AE63A74771Fc84Fe25a186E139c2A39FfCa3f7c",
"displayName": "EOA 6"
},
{
"address": "eth:0xdfE90b926c7cA7913E94D481c92A0aE2d99a593e",
"type": "EOA",
"isVerified": true,
"name": "0xdfE9…593e",
"url": "https://etherscan.io/address/0xdfE90b926c7cA7913E94D481c92A0aE2d99a593e",
"displayName": "EOA 31"
},
{
"address": "eth:0xfc81fE4fBf6B4dB2589131d0D22C127f90ebaDC0",
"type": "EOA",
"isVerified": true,
"name": "0xfc81…aDC0",
"url": "https://etherscan.io/address/0xfc81fE4fBf6B4dB2589131d0D22C127f90ebaDC0",
"displayName": "EOA 39"
}
],
"chain": "ethereum",
"description": "* Can interact with Chainlink_stETH_USD_Aggregator\n * sign price reports. A quorum of f+1 of these signing keys must sign each update, so their signatures, not the submitter, authorize the reported price ",
"discoveryDrivenData": true
},
{
"id": "EOA-9,-EOA-12,-EOA-21-and-EOA-32",
"name": "EOA 9, EOA 12, EOA 21 and EOA 32",
"accounts": [
{
"address": "eth:0x486B19D5eef9aB146593b44F324bd9CCba001f65",
"type": "EOA",
"isVerified": true,
"name": "0x486B…1f65",
"url": "https://etherscan.io/address/0x486B19D5eef9aB146593b44F324bd9CCba001f65",
"displayName": "EOA 9"
},
{
"address": "eth:0x52b6D55A50118914BF8B7DbE0225258F92C89C0B",
"type": "EOA",
"isVerified": true,
"name": "0x52b6…9C0B",
"url": "https://etherscan.io/address/0x52b6D55A50118914BF8B7DbE0225258F92C89C0B",
"displayName": "EOA 12"
},
{
"address": "eth:0x8f5E4d8e77F69EDfCabbFdC3a3Ea8550025e206d",
"type": "EOA",
"isVerified": true,
"name": "0x8f5E…206d",
"url": "https://etherscan.io/address/0x8f5E4d8e77F69EDfCabbFdC3a3Ea8550025e206d",
"displayName": "EOA 21"
},
{
"address": "eth:0xE808269B80F9AB230d95E088e6D6d9Ca7F59c811",
"type": "EOA",
"isVerified": true,
"name": "0xE808…c811",
"url": "https://etherscan.io/address/0xE808269B80F9AB230d95E088e6D6d9Ca7F59c811",
"displayName": "EOA 32"
}
],
"chain": "ethereum",
"description": "* Can interact with Chainlink_stETH_USD_Aggregator\n * sign price reports. A quorum of f+1 of these signing keys must sign each update, so their signatures, not the submitter, authorize the reported price \n* Can interact with Chainlink_rETH_ETH_Aggregator\n * sign price reports. A quorum of f+1 of these signing keys must sign each update, so their signatures, not the submitter, authorize the reported price ",
"discoveryDrivenData": true
},
{
"id": "EOA-10",
"name": "EOA 10",
"accounts": [
{
"address": "eth:0x48b59195A00b4e2870A649945c8B526FFfecfF0C",
"type": "EOA",
"isVerified": true,
"name": "0x48b5…fF0C",
"url": "https://etherscan.io/address/0x48b59195A00b4e2870A649945c8B526FFfecfF0C",
"displayName": "EOA 10"
}
],
"chain": "ethereum",
"description": "* Can interact with Chainlink_rETH_ETH_Aggregator\n * sign price reports. A quorum of f+1 of these signing keys must sign each update, so their signatures, not the submitter, authorize the reported price ",
"discoveryDrivenData": true
}
]
}
}
+4 -4
{
"addresses": {
"ethereum": [
{
"name": "Chainlink_stETH_USD_Aggregator",
"isVerified": true,
"address": "eth:0x26f196806f43E88FD27798C9e3fb8fdF4618240f",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "A Chainlink OCR2 aggregator producing a price feed. Each update is the median of a report signed by a quorum (f+1) of its signers and relayed onchain by one of its transmitters, accepted only within a fixed min/max band. A colluding signer quorum can move the reported price anywhere within that band, while a transmitter only relays an already-signed report. Its owner sets the signer and transmitter sets and the quorum size, so it controls who can report the price.\n* Roles:\n * **getTransmitters**: ChainlinkAuthorizedForwarder\n * **ocrConfig**: EOA 12, EOA 2, EOA 21, EOA 22, EOA 23, EOA 25, EOA 28, EOA 29, EOA 3, EOA 30, EOA 31, EOA 32, EOA 33, EOA 34, EOA 35, EOA 37, EOA 39, EOA 6, EOA 9\n * **owner**: ChainlinkOracleMultisig",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x26f196806f43E88FD27798C9e3fb8fdF4618240f#code"
},
{
"name": "ConfirmedTransactionModule",
"name": "FeedRegistry",
"isVerified": true,
"address": "eth:0x2e1B5a40Edc922bCE489668b11749B8eAbd67f6b",
"address": "eth:0x47Fb2585D2C56Fe188D0E6ec628a38b74fCeeeDf",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "",
"description": "Chainlink's canonical feed registry that maps base/quote asset pairs to their current price feed aggregators. Consumers like the Lido OracleRouter source token prices through it.\n* Roles:\n * **owner**: ChainlinkOracleMultisig; ultimately ConfirmedTransactionModule",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x2e1B5a40Edc922bCE489668b11749B8eAbd67f6b#code"
"url": "https://etherscan.io/address/0x47Fb2585D2C56Fe188D0E6ec628a38b74fCeeeDf#code"
},
{
"name": "Chainlink_rETH_ETH",
"isVerified": true,
"address": "eth:0x536218f9E9Eb48863970252233c8F271f554C2d0",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "A Chainlink RETH / ETH price-feed proxy. It forwards price reads to a current aggregator and lets its owner propose then confirm a replacement aggregator, so whoever owns it can swap the price source behind the feed. It holds no funds and does no aggregation of its own.\n* Roles:\n * **owner**: ChainlinkOracleMultisig",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x536218f9E9Eb48863970252233c8F271f554C2d0#code"
},
{
"name": "Chainlink_ETH_USD",
"isVerified": true,
"address": "eth:0x5f4eC3Df9cbd43714FE2740f5E3616155c5b8419",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "A Chainlink ETH / USD price-feed proxy. It forwards price reads to a current aggregator and lets its owner propose then confirm a replacement aggregator, so whoever owns it can swap the price source behind the feed. It holds no funds and does no aggregation of its own.\n* Roles:\n * **owner**: ChainlinkOracleMultisig",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x5f4eC3Df9cbd43714FE2740f5E3616155c5b8419#code"
},
{
"name": "Chainlink_ETH_USD_Aggregator",
"isVerified": true,
"address": "eth:0x7d4E742018fb52E48b08BE73d041C18B21de6Fb5",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "A Chainlink OCR2 aggregator producing a price feed. Each update is the median of a report signed by a quorum (f+1) of its signers and relayed onchain by one of its transmitters, accepted only within a fixed min/max band. A colluding signer quorum can move the reported price anywhere within that band, while a transmitter only relays an already-signed report. Its owner sets the signer and transmitter sets and the quorum size, so it controls who can report the price.\n* Roles:\n * **getTransmitters**: ChainlinkAuthorizedForwarder\n * **ocrConfig**: EOA 1, EOA 11, EOA 13, EOA 14, EOA 15, EOA 16, EOA 17, EOA 18, EOA 19, EOA 2, EOA 20, EOA 22, EOA 23, EOA 24, EOA 25, EOA 26, EOA 27, EOA 28, EOA 29, EOA 3, EOA 30, EOA 33, EOA 34, EOA 35, EOA 36, EOA 37, EOA 38, EOA 4, EOA 5, EOA 7, EOA 8\n * **owner**: ChainlinkOracleMultisig",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x7d4E742018fb52E48b08BE73d041C18B21de6Fb5#code"
},
{
"name": "Chainlink_rETH_ETH_Aggregator",
"isVerified": true,
"address": "eth:0xc77904CD2CA0806CC3DB0819E9630FF3e2f6093d",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "A Chainlink OCR2 aggregator producing a price feed. Each update is the median of a report signed by a quorum (f+1) of its signers and relayed onchain by one of its transmitters, accepted only within a fixed min/max band. A colluding signer quorum can move the reported price anywhere within that band, while a transmitter only relays an already-signed report. Its owner sets the signer and transmitter sets and the quorum size, so it controls who can report the price.\n* Roles:\n * **getTransmitters**: ChainlinkAuthorizedForwarder\n * **ocrConfig**: EOA 1, EOA 10, EOA 11, EOA 12, EOA 14, EOA 2, EOA 20, EOA 21, EOA 23, EOA 25, EOA 32, EOA 33, EOA 38, EOA 5, EOA 7, EOA 9\n * **owner**: ChainlinkOracleMultisig",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xc77904CD2CA0806CC3DB0819E9630FF3e2f6093d#code"
},
{
"name": "Chainlink_stETH_USD",
"isVerified": true,
"address": "eth:0xCfE54B5cD566aB89272946F602D76Ea879CAb4a8",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "A Chainlink STETH / USD price-feed proxy. It forwards price reads to a current aggregator and lets its owner propose then confirm a replacement aggregator, so whoever owns it can swap the price source behind the feed. It holds no funds and does no aggregation of its own.\n* Roles:\n * **owner**: ChainlinkOracleMultisig",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xCfE54B5cD566aB89272946F602D76Ea879CAb4a8#code"
}
]
},
"risks": []
}
+1 -1
{
"baseTimestamp": 1786539236,
"baseTimestamp": 1786960649,
"contractsDiscoDriven": false,
"hasDiscoUi": false,
"isDiscoDriven": false,
"permissionsDiscoDriven": false
}
+99 -98
+98 -82
{
"ethereum": {
"roles": [],
"actors": [
{
"id": "ChainlinkAuthorizedForwarder",
"name": "ChainlinkAuthorizedForwarder",
"accounts": [
{
"address": "eth:0x0613A20e394593c2aEB627760e6d6Fb816D77fbB",
"type": "Contract",
"isVerified": true,
"name": "0x0613…7fbB",
"url": "https://etherscan.io/address/0x0613A20e394593c2aEB627760e6d6Fb816D77fbB"
}
],
"chain": "ethereum",
"description": "A Chainlink authorized forwarder that an oracle node uses to submit its signed reports onchain. It relays calls from its own authorized sender keys to a fixed target and holds no funds or price logic of its own.\n* Can interact with Chainlink_ETH_USD_Aggregator\n * relay signed price reports to this aggregator. Any single one of these forwarders can submit, but only a report already carrying a quorum of the signers' signatures is accepted ",
"discoveryDrivenData": true
},
{
"id": "ChainlinkAuthorizedForwarder",
"name": "ChainlinkAuthorizedForwarder",
"accounts": [
{
"address": "eth:0x0C46Dc0BA85eAb5A515f819F1a705eD324dA687B",
"type": "Contract",
"isVerified": true,
"name": "0x0C46…687B",
"url": "https://etherscan.io/address/0x0C46Dc0BA85eAb5A515f819F1a705eD324dA687B"
}
],
"chain": "ethereum",
"description": "A Chainlink authorized forwarder that an oracle node uses to submit its signed reports onchain. It relays calls from its own authorized sender keys to a fixed target and holds no funds or price logic of its own.\n* Can interact with Chainlink_ETH_USD_Aggregator\n * relay signed price reports to this aggregator. Any single one of these forwarders can submit, but only a report already carrying a quorum of the signers' signatures is accepted \n* Can interact with Chainlink_rETH_ETH_Aggregator\n * relay signed price reports to this aggregator. Any single one of these forwarders can submit, but only a report already carrying a quorum of the signers' signatures is accepted ",
"discoveryDrivenData": true
},
{
"id": "ChainlinkAuthorizedForwarder",
"name": "ChainlinkAuthorizedForwarder",
"accounts": [
{
"address": "eth:0x1B586bcad859a265592e7A10856AEd85B344eEb2",
"type": "Contract",
"isVerified": true,
"name": "0x1B58…eEb2",
"url": "https://etherscan.io/address/0x1B586bcad859a265592e7A10856AEd85B344eEb2"
}
],
"chain": "ethereum",
"description": "A Chainlink authorized forwarder that an oracle node uses to submit its signed reports onchain. It relays calls from its own authorized sender keys to a fixed target and holds no funds or price logic of its own.\n* Can interact with Chainlink_stETH_USD_Aggregator\n * relay signed price reports to this aggregator. Any single one of these forwarders can submit, but only a report already carrying a quorum of the signers' signatures is accepted \n* Can interact with Chainlink_ETH_USD_Aggregator\n * relay signed price reports to this aggregator. Any single one of these forwarders can submit, but only a report already carrying a quorum of the signers' signatures is accepted ",
"discoveryDrivenData": true
},
{
"id": "ChainlinkAuthorizedForwarder",
"name": "ChainlinkAuthorizedForwarder",
"accounts": [
{
"address": "eth:0x1d36A4c2ab15CcD29B312991176D85622299cc11",
"type": "Contract",
"isVerified": true,
"name": "0x1d36…cc11",
"url": "https://etherscan.io/address/0x1d36A4c2ab15CcD29B312991176D85622299cc11"
}
],
"chain": "ethereum",
"description": "A Chainlink authorized forwarder that an oracle node uses to submit its signed reports onchain. It relays calls from its own authorized sender keys to a fixed target and holds no funds or price logic of its own.\n* Can interact with Chainlink_ETH_USD_Aggregator\n * relay signed price reports to this aggregator. Any single one of these forwarders can submit, but only a report already carrying a quorum of the signers' signatures is accepted ",
"discoveryDrivenData": true
},
{
"id": "ChainlinkAuthorizedForwarder",
"name": "ChainlinkAuthorizedForwarder",
"accounts": [
{
"address": "eth:0x1d5804aE896c64ECc88E15379061CE6230F11895",
"type": "Contract",
"isVerified": true,
"name": "0x1d58…1895",
"url": "https://etherscan.io/address/0x1d5804aE896c64ECc88E15379061CE6230F11895"
}
],
"chain": "ethereum",
"description": "A Chainlink authorized forwarder that an oracle node uses to submit its signed reports onchain. It relays calls from its own authorized sender keys to a fixed target and holds no funds or price logic of its own.\n* Can interact with Chainlink_stETH_USD_Aggregator\n * relay signed price reports to this aggregator. Any single one of these forwarders can submit, but only a report already carrying a quorum of the signers' signatures is accepted \n* Can interact with Chainlink_ETH_USD_Aggregator\n * relay signed price reports to this aggregator. Any single one of these forwarders can submit, but only a report already carrying a quorum of the signers' signatures is accepted \n* Can interact with Chainlink_rETH_ETH_Aggregator\n * relay signed price reports to this aggregator. Any single one of these forwarders can submit, but only a report already carrying a quorum of the signers' signatures is accepted ",
"discoveryDrivenData": true
},
{
"id": "ChainlinkOracleMultisig",
"name": "ChainlinkOracleMultisig",
"description": "A Multisig with 4/9 threshold. It uses the following modules: ConfirmedTransactionModule.\nThe Gnosis Safe that Chainlink uses to administer these price feeds and the Feed Registry. It owns the feed proxies, their aggregators, and the registry, so it can swap the aggregator behind any feed or registry pair and replace the set of oracle signers and how many of them must sign a price. In effect it can set the ETH, stETH, and rETH prices these feeds report, or push a feed into a stale, zero, or reverting state, which makes it their single point of control, held by Chainlink.\n",
"accounts": [
{
"address": "eth:0x21f73D42Eb58Ba49dDB685dc29D3bF5c0f0373CA",
"type": "Contract",
"isVerified": true,
"name": "0x21f7…73CA",
"url": "https://etherscan.io/address/0x21f73D42Eb58Ba49dDB685dc29D3bF5c0f0373CA"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0x80eFDeE7F82d0F2aBF3bF29A9A85edF0B42C9e19",
"type": "EOA",
"isVerified": true,
"name": "0x80eF…9e19",
"url": "https://etherscan.io/address/0x80eFDeE7F82d0F2aBF3bF29A9A85edF0B42C9e19"
},
{
"address": "eth:0x05724B9C8C1dDE1b2f659d7c0676ff63f6d5E781",
"type": "EOA",
"isVerified": true,
"name": "0x0572…E781",
"url": "https://etherscan.io/address/0x05724B9C8C1dDE1b2f659d7c0676ff63f6d5E781"
},
{
"address": "eth:0x480496c0884D61F2f56707Adb11697F8018898c2",
"type": "EOA",
"isVerified": true,
"name": "0x4804…98c2",
"url": "https://etherscan.io/address/0x480496c0884D61F2f56707Adb11697F8018898c2"
},
{
"address": "eth:0xB65B6d224351cD61f856c227b2d5cFc611E9B2d8",
"type": "EOA",
"isVerified": true,
"name": "0xB65B…B2d8",
"url": "https://etherscan.io/address/0xB65B6d224351cD61f856c227b2d5cFc611E9B2d8"
},
{
"address": "eth:0x47A1dD4E277530fffb5B5f70A43CCbD542F54e17",
"type": "EOA",
"isVerified": true,
"name": "0x47A1…4e17",
"url": "https://etherscan.io/address/0x47A1dD4E277530fffb5B5f70A43CCbD542F54e17"
},
{
"address": "eth:0xFdE996F00E42b33bdE7C640786333623aCC3f298",
"type": "EOA",
"isVerified": true,
"name": "0xFdE9…f298",
"url": "https://etherscan.io/address/0xFdE996F00E42b33bdE7C640786333623aCC3f298"
},
{
"address": "eth:0x7052cB84079905400ea52B635cAb6a275fDA8823",
"type": "EOA",
"isVerified": true,
"name": "0x7052…8823",
"url": "https://etherscan.io/address/0x7052cB84079905400ea52B635cAb6a275fDA8823"
},
{
"address": "eth:0xb7F0643D4ca8c296564Ce335062833e1afa3Afdb",
"type": "EOA",
"isVerified": true,
"name": "0xb7F0…Afdb",
"url": "https://etherscan.io/address/0xb7F0643D4ca8c296564Ce335062833e1afa3Afdb"
},
{
"address": "eth:0xD66336eA98cE0da67f25934E7cC230D4226292a0",
"type": "EOA",
"isVerified": true,
"name": "0xD663…92a0",
"url": "https://etherscan.io/address/0xD66336eA98cE0da67f25934E7cC230D4226292a0"
}
],
"discoveryDrivenData": true
},
{
"id": "ChainlinkAuthorizedForwarder",
"name": "ChainlinkAuthorizedForwarder",
"accounts": [
{
"address": "eth:0x243205E5c413534d0702ea981A35256E6853857F",
"type": "Contract",
"isVerified": true,
"name": "0x2432…857F",
"url": "https://etherscan.io/address/0x243205E5c413534d0702ea981A35256E6853857F"
}
],
"chain": "ethereum",
"description": "A Chainlink authorized forwarder that an oracle node uses to submit its signed reports onchain. It relays calls from its own authorized sender keys to a fixed target and holds no funds or price logic of its own.\n* Can interact with Chainlink_ETH_USD_Aggregator\n * relay signed price reports to this aggregator. Any single one of these forwarders can submit, but only a report already carrying a quorum of the signers' signatures is accepted ",
"discoveryDrivenData": true
},
{
"id": "ChainlinkAuthorizedForwarder",
"name": "ChainlinkAuthorizedForwarder",
"accounts": [
{
"address": "eth:0x2DBbD12Bf0f6A23Cf4455cC6BE874b7a246288Ce",
"type": "Contract",
"isVerified": true,
"name": "0x2DBb…88Ce",
"url": "https://etherscan.io/address/0x2DBbD12Bf0f6A23Cf4455cC6BE874b7a246288Ce"
}
],
"chain": "ethereum",
"description": "A Chainlink authorized forwarder that an oracle node uses to submit its signed reports onchain. It relays calls from its own authorized sender keys to a fixed target and holds no funds or price logic of its own.\n* Can interact with Chainlink_stETH_USD_Aggregator\n * relay signed price reports to this aggregator. Any single one of these forwarders can submit, but only a report already carrying a quorum of the signers' signatures is accepted ",
"discoveryDrivenData": true
},
{
"id": "ConfirmedTransactionModule",
"name": "ConfirmedTransactionModule",
"accounts": [
{
"address": "eth:0x2e1B5a40Edc922bCE489668b11749B8eAbd67f6b",
"type": "Contract",
"isVerified": true,
"name": "0x2e1B…7f6b",
"url": "https://etherscan.io/address/0x2e1B5a40Edc922bCE489668b11749B8eAbd67f6b"
}
],
"chain": "ethereum",
"description": "",
"discoveryDrivenData": true
},
{
"id": "ChainlinkAuthorizedForwarder",
"name": "ChainlinkAuthorizedForwarder",
"accounts": [
{
"address": "eth:0x30B18F1c425123314C82b0236D7a349433755386",
"type": "Contract",
"isVerified": true,
"name": "0x30B1…5386",
"url": "https://etherscan.io/address/0x30B18F1c425123314C82b0236D7a349433755386"
}
],
"chain": "ethereum",
"description": "A Chainlink authorized forwarder that an oracle node uses to submit its signed reports onchain. It relays calls from its own authorized sender keys to a fixed target and holds no funds or price logic of its own.\n* Can interact with Chainlink_ETH_USD_Aggregator\n * relay signed price reports to this aggregator. Any single one of these forwarders can submit, but only a report already carrying a quorum of the signers' signatures is accepted ",
"discoveryDrivenData": true
},
{
"id": "ChainlinkAuthorizedForwarder",
"name": "ChainlinkAuthorizedForwarder",
"accounts": [
{
"address": "eth:0x30d872350Fe74f47C85847D6784B42f9b0816f04",
"type": "Contract",
"isVerified": true,
"name": "0x30d8…6f04",
"url": "https://etherscan.io/address/0x30d872350Fe74f47C85847D6784B42f9b0816f04"
}
],
"chain": "ethereum",
"description": "A Chainlink authorized forwarder that an oracle node uses to submit its signed reports onchain. It relays calls from its own authorized sender keys to a fixed target and holds no funds or price logic of its own.\n* Can interact with Chainlink_stETH_USD_Aggregator\n * relay signed price reports to this aggregator. Any single one of these forwarders can submit, but only a report already carrying a quorum of the signers' signatures is accepted \n* Can interact with Chainlink_rETH_ETH_Aggregator\n * relay signed price reports to this aggregator. Any single one of these forwarders can submit, but only a report already carrying a quorum of the signers' signatures is accepted ",
"discoveryDrivenData": true
},
{
"id": "ChainlinkAuthorizedForwarder",
"name": "ChainlinkAuthorizedForwarder",
"accounts": [
{
"address": "eth:0x35a06994a99B335b700bB3c875408489a9F8BbeF",
"type": "Contract",
"isVerified": true,
"name": "0x35a0…BbeF",
"url": "https://etherscan.io/address/0x35a06994a99B335b700bB3c875408489a9F8BbeF"
}
],
"chain": "ethereum",
"description": "A Chainlink authorized forwarder that an oracle node uses to submit its signed reports onchain. It relays calls from its own authorized sender keys to a fixed target and holds no funds or price logic of its own.\n* Can interact with Chainlink_ETH_USD_Aggregator\n * relay signed price reports to this aggregator. Any single one of these forwarders can submit, but only a report already carrying a quorum of the signers' signatures is accepted ",
"discoveryDrivenData": true
},
{
"id": "ChainlinkAuthorizedForwarder",
"name": "ChainlinkAuthorizedForwarder",
"accounts": [
{
"address": "eth:0x42Afc2F6aE88678296EcB2eBA34cCfbd1Adc5F93",
"type": "Contract",
"isVerified": true,
"name": "0x42Af…5F93",
"url": "https://etherscan.io/address/0x42Afc2F6aE88678296EcB2eBA34cCfbd1Adc5F93"
}
],
"chain": "ethereum",
"description": "A Chainlink authorized forwarder that an oracle node uses to submit its signed reports onchain. It relays calls from its own authorized sender keys to a fixed target and holds no funds or price logic of its own.\n* Can interact with Chainlink_stETH_USD_Aggregator\n * relay signed price reports to this aggregator. Any single one of these forwarders can submit, but only a report already carrying a quorum of the signers' signatures is accepted \n* Can interact with Chainlink_ETH_USD_Aggregator\n * relay signed price reports to this aggregator. Any single one of these forwarders can submit, but only a report already carrying a quorum of the signers' signatures is accepted ",
"discoveryDrivenData": true
},
{
"id": "ChainlinkAuthorizedForwarder",
"name": "ChainlinkAuthorizedForwarder",
"accounts": [
{
"address": "eth:0x4CB67cfee180B6B73B70c7B3fC162E5FCF6532f1",
"type": "Contract",
"isVerified": true,
"name": "0x4CB6…32f1",
"url": "https://etherscan.io/address/0x4CB67cfee180B6B73B70c7B3fC162E5FCF6532f1"
}
],
"chain": "ethereum",
"description": "A Chainlink authorized forwarder that an oracle node uses to submit its signed reports onchain. It relays calls from its own authorized sender keys to a fixed target and holds no funds or price logic of its own.\n* Can interact with Chainlink_stETH_USD_Aggregator\n * relay signed price reports to this aggregator. Any single one of these forwarders can submit, but only a report already carrying a quorum of the signers' signatures is accepted \n* Can interact with Chainlink_ETH_USD_Aggregator\n * relay signed price reports to this aggregator. Any single one of these forwarders can submit, but only a report already carrying a quorum of the signers' signatures is accepted ",
"discoveryDrivenData": true
},
{
"id": "ChainlinkAuthorizedForwarder",
"name": "ChainlinkAuthorizedForwarder",
"accounts": [
{
"address": "eth:0x522bB49bE4fB6E3ceC18df911C2A66457E6Fc3e2",
"type": "Contract",
"isVerified": true,
"name": "0x522b…c3e2",
"url": "https://etherscan.io/address/0x522bB49bE4fB6E3ceC18df911C2A66457E6Fc3e2"
}
],
"chain": "ethereum",
"description": "A Chainlink authorized forwarder that an oracle node uses to submit its signed reports onchain. It relays calls from its own authorized sender keys to a fixed target and holds no funds or price logic of its own.\n* Can interact with Chainlink_rETH_ETH_Aggregator\n * relay signed price reports to this aggregator. Any single one of these forwarders can submit, but only a report already carrying a quorum of the signers' signatures is accepted ",
"discoveryDrivenData": true
},
{
"id": "ChainlinkAuthorizedForwarder",
"name": "ChainlinkAuthorizedForwarder",
"accounts": [
{
"address": "eth:0x585B3e95EEdd03AF221F724557D03384864Da3ca",
"type": "Contract",
"isVerified": true,
"name": "0x585B…a3ca",
"url": "https://etherscan.io/address/0x585B3e95EEdd03AF221F724557D03384864Da3ca"
}
],
"chain": "ethereum",
"description": "A Chainlink authorized forwarder that an oracle node uses to submit its signed reports onchain. It relays calls from its own authorized sender keys to a fixed target and holds no funds or price logic of its own.\n* Can interact with Chainlink_stETH_USD_Aggregator\n * relay signed price reports to this aggregator. Any single one of these forwarders can submit, but only a report already carrying a quorum of the signers' signatures is accepted \n* Can interact with Chainlink_ETH_USD_Aggregator\n * relay signed price reports to this aggregator. Any single one of these forwarders can submit, but only a report already carrying a quorum of the signers' signatures is accepted ",
"discoveryDrivenData": true
},
{
"id": "ChainlinkAuthorizedForwarder",
"name": "ChainlinkAuthorizedForwarder",
"accounts": [
{
"address": "eth:0x5C026B7107f1F92a9768CF64f8B2a22252B0788d",
"type": "Contract",
"isVerified": true,
"name": "0x5C02…788d",
"url": "https://etherscan.io/address/0x5C026B7107f1F92a9768CF64f8B2a22252B0788d"
}
],
"chain": "ethereum",
"description": "A Chainlink authorized forwarder that an oracle node uses to submit its signed reports onchain. It relays calls from its own authorized sender keys to a fixed target and holds no funds or price logic of its own.\n* Can interact with Chainlink_ETH_USD_Aggregator\n * relay signed price reports to this aggregator. Any single one of these forwarders can submit, but only a report already carrying a quorum of the signers' signatures is accepted \n* Can interact with Chainlink_rETH_ETH_Aggregator\n * relay signed price reports to this aggregator. Any single one of these forwarders can submit, but only a report already carrying a quorum of the signers' signatures is accepted ",
"discoveryDrivenData": true
},
{
"id": "ChainlinkAuthorizedForwarder",
"name": "ChainlinkAuthorizedForwarder",
"accounts": [
{
"address": "eth:0x5Dc428646BF9a29A4d623E0CDB57384E811f6F77",
"type": "Contract",
"isVerified": true,
"name": "0x5Dc4…6F77",
"url": "https://etherscan.io/address/0x5Dc428646BF9a29A4d623E0CDB57384E811f6F77"
}
],
"chain": "ethereum",
"description": "A Chainlink authorized forwarder that an oracle node uses to submit its signed reports onchain. It relays calls from its own authorized sender keys to a fixed target and holds no funds or price logic of its own.\n* Can interact with Chainlink_ETH_USD_Aggregator\n * relay signed price reports to this aggregator. Any single one of these forwarders can submit, but only a report already carrying a quorum of the signers' signatures is accepted ",
"discoveryDrivenData": true
},
{
"id": "ChainlinkAuthorizedForwarder",
"name": "ChainlinkAuthorizedForwarder",
"accounts": [
{
"address": "eth:0x5eA7eAe0EBC1f4256806C8bf234F672d410Fc988",
"type": "Contract",
"isVerified": true,
"name": "0x5eA7…c988",
"url": "https://etherscan.io/address/0x5eA7eAe0EBC1f4256806C8bf234F672d410Fc988"
}
],
"chain": "ethereum",
"description": "A Chainlink authorized forwarder that an oracle node uses to submit its signed reports onchain. It relays calls from its own authorized sender keys to a fixed target and holds no funds or price logic of its own.\n* Can interact with Chainlink_ETH_USD_Aggregator\n * relay signed price reports to this aggregator. Any single one of these forwarders can submit, but only a report already carrying a quorum of the signers' signatures is accepted ",
"discoveryDrivenData": true
},
{
"id": "ChainlinkAuthorizedForwarder",
"name": "ChainlinkAuthorizedForwarder",
"accounts": [
{
"address": "eth:0x5fdf4ABaF24d8229deFBD28890cb01E0d8108e96",
"type": "Contract",
"isVerified": true,
"name": "0x5fdf…8e96",
"url": "https://etherscan.io/address/0x5fdf4ABaF24d8229deFBD28890cb01E0d8108e96"
}
],
"chain": "ethereum",
"description": "A Chainlink authorized forwarder that an oracle node uses to submit its signed reports onchain. It relays calls from its own authorized sender keys to a fixed target and holds no funds or price logic of its own.\n* Can interact with Chainlink_stETH_USD_Aggregator\n * relay signed price reports to this aggregator. Any single one of these forwarders can submit, but only a report already carrying a quorum of the signers' signatures is accepted \n* Can interact with Chainlink_ETH_USD_Aggregator\n * relay signed price reports to this aggregator. Any single one of these forwarders can submit, but only a report already carrying a quorum of the signers' signatures is accepted \n* Can interact with Chainlink_rETH_ETH_Aggregator\n * relay signed price reports to this aggregator. Any single one of these forwarders can submit, but only a report already carrying a quorum of the signers' signatures is accepted ",
"discoveryDrivenData": true
},
{
"id": "ChainlinkAuthorizedForwarder",
"name": "ChainlinkAuthorizedForwarder",
"accounts": [
{
"address": "eth:0x65a43936d7e1295CcA6f30F6a0B25fe49cAb32c8",
"type": "Contract",
"isVerified": true,
"name": "0x65a4…32c8",
"url": "https://etherscan.io/address/0x65a43936d7e1295CcA6f30F6a0B25fe49cAb32c8"
}
],
"chain": "ethereum",
"description": "A Chainlink authorized forwarder that an oracle node uses to submit its signed reports onchain. It relays calls from its own authorized sender keys to a fixed target and holds no funds or price logic of its own.\n* Can interact with Chainlink_ETH_USD_Aggregator\n * relay signed price reports to this aggregator. Any single one of these forwarders can submit, but only a report already carrying a quorum of the signers' signatures is accepted \n* Can interact with Chainlink_rETH_ETH_Aggregator\n * relay signed price reports to this aggregator. Any single one of these forwarders can submit, but only a report already carrying a quorum of the signers' signatures is accepted ",
"discoveryDrivenData": true
},
{
"id": "ChainlinkAuthorizedForwarder",
"name": "ChainlinkAuthorizedForwarder",
"accounts": [
{
"address": "eth:0x6D53d5E35F5226a1613877e071b81217387aC6B5",
"type": "Contract",
"isVerified": true,
"name": "0x6D53…C6B5",
"url": "https://etherscan.io/address/0x6D53d5E35F5226a1613877e071b81217387aC6B5"
}
],
"chain": "ethereum",
"description": "A Chainlink authorized forwarder that an oracle node uses to submit its signed reports onchain. It relays calls from its own authorized sender keys to a fixed target and holds no funds or price logic of its own.\n* Can interact with Chainlink_ETH_USD_Aggregator\n * relay signed price reports to this aggregator. Any single one of these forwarders can submit, but only a report already carrying a quorum of the signers' signatures is accepted \n* Can interact with Chainlink_rETH_ETH_Aggregator\n * relay signed price reports to this aggregator. Any single one of these forwarders can submit, but only a report already carrying a quorum of the signers' signatures is accepted ",
"discoveryDrivenData": true
},
{
"id": "ChainlinkAuthorizedForwarder",
"name": "ChainlinkAuthorizedForwarder",
"accounts": [
{
"address": "eth:0x7A13cD97D442856FF5387d55a7b3F09bf680102B",
"type": "Contract",
"isVerified": true,
"name": "0x7A13…102B",
"url": "https://etherscan.io/address/0x7A13cD97D442856FF5387d55a7b3F09bf680102B"
}
],
"chain": "ethereum",
"description": "A Chainlink authorized forwarder that an oracle node uses to submit its signed reports onchain. It relays calls from its own authorized sender keys to a fixed target and holds no funds or price logic of its own.\n* Can interact with Chainlink_ETH_USD_Aggregator\n * relay signed price reports to this aggregator. Any single one of these forwarders can submit, but only a report already carrying a quorum of the signers' signatures is accepted ",
"discoveryDrivenData": true
},
{
"id": "ChainlinkAuthorizedForwarder",
"name": "ChainlinkAuthorizedForwarder",
"accounts": [
{
"address": "eth:0x7B740d24396B09F992B655A590139D7Fbb5C73c8",
"type": "Contract",
"isVerified": true,
"name": "0x7B74…73c8",
"url": "https://etherscan.io/address/0x7B740d24396B09F992B655A590139D7Fbb5C73c8"
}
],
"chain": "ethereum",
"description": "A Chainlink authorized forwarder that an oracle node uses to submit its signed reports onchain. It relays calls from its own authorized sender keys to a fixed target and holds no funds or price logic of its own.\n* Can interact with Chainlink_ETH_USD_Aggregator\n * relay signed price reports to this aggregator. Any single one of these forwarders can submit, but only a report already carrying a quorum of the signers' signatures is accepted \n* Can interact with Chainlink_rETH_ETH_Aggregator\n * relay signed price reports to this aggregator. Any single one of these forwarders can submit, but only a report already carrying a quorum of the signers' signatures is accepted ",
"discoveryDrivenData": true
},
{
"id": "ChainlinkAuthorizedForwarder",
"name": "ChainlinkAuthorizedForwarder",
"accounts": [
{
"address": "eth:0x87B331d3bb9Cf70Dd85c3dc606B684a0bd61c772",
"type": "Contract",
"isVerified": true,
"name": "0x87B3…c772",
"url": "https://etherscan.io/address/0x87B331d3bb9Cf70Dd85c3dc606B684a0bd61c772"
}
],
"chain": "ethereum",
"description": "A Chainlink authorized forwarder that an oracle node uses to submit its signed reports onchain. It relays calls from its own authorized sender keys to a fixed target and holds no funds or price logic of its own.\n* Can interact with Chainlink_stETH_USD_Aggregator\n * relay signed price reports to this aggregator. Any single one of these forwarders can submit, but only a report already carrying a quorum of the signers' signatures is accepted \n* Can interact with Chainlink_rETH_ETH_Aggregator\n * relay signed price reports to this aggregator. Any single one of these forwarders can submit, but only a report already carrying a quorum of the signers' signatures is accepted ",
"discoveryDrivenData": true
},
{
"id": "ChainlinkAuthorizedForwarder",
"name": "ChainlinkAuthorizedForwarder",
"accounts": [
{
"address": "eth:0x8AaDF849561DcCeC75DA44d1147E736E0cc0134E",
"type": "Contract",
"isVerified": true,
"name": "0x8AaD…134E",
"url": "https://etherscan.io/address/0x8AaDF849561DcCeC75DA44d1147E736E0cc0134E"
}
],
"chain": "ethereum",
"description": "A Chainlink authorized forwarder that an oracle node uses to submit its signed reports onchain. It relays calls from its own authorized sender keys to a fixed target and holds no funds or price logic of its own.\n* Can interact with Chainlink_stETH_USD_Aggregator\n * relay signed price reports to this aggregator. Any single one of these forwarders can submit, but only a report already carrying a quorum of the signers' signatures is accepted \n* Can interact with Chainlink_ETH_USD_Aggregator\n * relay signed price reports to this aggregator. Any single one of these forwarders can submit, but only a report already carrying a quorum of the signers' signatures is accepted \n* Can interact with Chainlink_rETH_ETH_Aggregator\n * relay signed price reports to this aggregator. Any single one of these forwarders can submit, but only a report already carrying a quorum of the signers' signatures is accepted ",
"discoveryDrivenData": true
},
{
"id": "ChainlinkAuthorizedForwarder",
"name": "ChainlinkAuthorizedForwarder",
"accounts": [
{
"address": "eth:0x97360A89B5adb7D82Dbde6C66A49de8a48D550E6",
"type": "Contract",
"isVerified": true,
"name": "0x9736…50E6",
"url": "https://etherscan.io/address/0x97360A89B5adb7D82Dbde6C66A49de8a48D550E6"
}
],
"chain": "ethereum",
"description": "A Chainlink authorized forwarder that an oracle node uses to submit its signed reports onchain. It relays calls from its own authorized sender keys to a fixed target and holds no funds or price logic of its own.\n* Can interact with Chainlink_ETH_USD_Aggregator\n * relay signed price reports to this aggregator. Any single one of these forwarders can submit, but only a report already carrying a quorum of the signers' signatures is accepted \n* Can interact with Chainlink_rETH_ETH_Aggregator\n * relay signed price reports to this aggregator. Any single one of these forwarders can submit, but only a report already carrying a quorum of the signers' signatures is accepted ",
"discoveryDrivenData": true
},
{
"id": "ChainlinkAuthorizedForwarder",
"name": "ChainlinkAuthorizedForwarder",
"accounts": [
{
"address": "eth:0x990cfBBDc5aeB794B657b4309017F84479e8Eb7D",
"type": "Contract",
"isVerified": true,
"name": "0x990c…Eb7D",
"url": "https://etherscan.io/address/0x990cfBBDc5aeB794B657b4309017F84479e8Eb7D"
}
],
"chain": "ethereum",
"description": "A Chainlink authorized forwarder that an oracle node uses to submit its signed reports onchain. It relays calls from its own authorized sender keys to a fixed target and holds no funds or price logic of its own.\n* Can interact with Chainlink_ETH_USD_Aggregator\n * relay signed price reports to this aggregator. Any single one of these forwarders can submit, but only a report already carrying a quorum of the signers' signatures is accepted ",
"discoveryDrivenData": true
},
{
"id": "ChainlinkAuthorizedForwarder",
"name": "ChainlinkAuthorizedForwarder",
"accounts": [
{
"address": "eth:0x9A5B545aA8B6289288E529c4099B0CcA62bcB708",
"type": "Contract",
"isVerified": true,
"name": "0x9A5B…B708",
"url": "https://etherscan.io/address/0x9A5B545aA8B6289288E529c4099B0CcA62bcB708"
}
],
"chain": "ethereum",
"description": "A Chainlink authorized forwarder that an oracle node uses to submit its signed reports onchain. It relays calls from its own authorized sender keys to a fixed target and holds no funds or price logic of its own.\n* Can interact with Chainlink_stETH_USD_Aggregator\n * relay signed price reports to this aggregator. Any single one of these forwarders can submit, but only a report already carrying a quorum of the signers' signatures is accepted \n* Can interact with Chainlink_ETH_USD_Aggregator\n * relay signed price reports to this aggregator. Any single one of these forwarders can submit, but only a report already carrying a quorum of the signers' signatures is accepted ",
"discoveryDrivenData": true
},
{
"id": "ChainlinkAuthorizedForwarder",
"name": "ChainlinkAuthorizedForwarder",
"accounts": [
{
"address": "eth:0xAE80A59ba821544cB508808942C20C11442d8A9b",
"type": "Contract",
"isVerified": true,
"name": "0xAE80…8A9b",
"url": "https://etherscan.io/address/0xAE80A59ba821544cB508808942C20C11442d8A9b"
}
],
"chain": "ethereum",
"description": "A Chainlink authorized forwarder that an oracle node uses to submit its signed reports onchain. It relays calls from its own authorized sender keys to a fixed target and holds no funds or price logic of its own.\n* Can interact with Chainlink_stETH_USD_Aggregator\n * relay signed price reports to this aggregator. Any single one of these forwarders can submit, but only a report already carrying a quorum of the signers' signatures is accepted \n* Can interact with Chainlink_rETH_ETH_Aggregator\n * relay signed price reports to this aggregator. Any single one of these forwarders can submit, but only a report already carrying a quorum of the signers' signatures is accepted ",
"discoveryDrivenData": true
},
{
"id": "ChainlinkAuthorizedForwarder",
"name": "ChainlinkAuthorizedForwarder",
"accounts": [
{
"address": "eth:0xBa4555a80E47477BBf23B721563D38B10eb65dFa",
"type": "Contract",
"isVerified": true,
"name": "0xBa45…5dFa",
"url": "https://etherscan.io/address/0xBa4555a80E47477BBf23B721563D38B10eb65dFa"
}
],
"chain": "ethereum",
"description": "A Chainlink authorized forwarder that an oracle node uses to submit its signed reports onchain. It relays calls from its own authorized sender keys to a fixed target and holds no funds or price logic of its own.\n* Can interact with Chainlink_stETH_USD_Aggregator\n * relay signed price reports to this aggregator. Any single one of these forwarders can submit, but only a report already carrying a quorum of the signers' signatures is accepted ",
"discoveryDrivenData": true
},
{
"id": "ChainlinkAuthorizedForwarder",
"name": "ChainlinkAuthorizedForwarder",
"accounts": [
{
"address": "eth:0xC0C7eB4A39BAa77fD52715BD1dcE2246Df85E489",
"type": "Contract",
"isVerified": true,
"name": "0xC0C7…E489",
"url": "https://etherscan.io/address/0xC0C7eB4A39BAa77fD52715BD1dcE2246Df85E489"
}
],
"chain": "ethereum",
"description": "A Chainlink authorized forwarder that an oracle node uses to submit its signed reports onchain. It relays calls from its own authorized sender keys to a fixed target and holds no funds or price logic of its own.\n* Can interact with Chainlink_stETH_USD_Aggregator\n * relay signed price reports to this aggregator. Any single one of these forwarders can submit, but only a report already carrying a quorum of the signers' signatures is accepted \n* Can interact with Chainlink_ETH_USD_Aggregator\n * relay signed price reports to this aggregator. Any single one of these forwarders can submit, but only a report already carrying a quorum of the signers' signatures is accepted \n* Can interact with Chainlink_rETH_ETH_Aggregator\n * relay signed price reports to this aggregator. Any single one of these forwarders can submit, but only a report already carrying a quorum of the signers' signatures is accepted ",
"discoveryDrivenData": true
},
{
"id": "ChainlinkAuthorizedForwarder",
"name": "ChainlinkAuthorizedForwarder",
"accounts": [
{
"address": "eth:0xC917E3BF6c211b326ffD4ed13E7D9a67682095CA",
"type": "Contract",
"isVerified": true,
"name": "0xC917…95CA",
"url": "https://etherscan.io/address/0xC917E3BF6c211b326ffD4ed13E7D9a67682095CA"
}
],
"chain": "ethereum",
"description": "A Chainlink authorized forwarder that an oracle node uses to submit its signed reports onchain. It relays calls from its own authorized sender keys to a fixed target and holds no funds or price logic of its own.\n* Can interact with Chainlink_ETH_USD_Aggregator\n * relay signed price reports to this aggregator. Any single one of these forwarders can submit, but only a report already carrying a quorum of the signers' signatures is accepted \n* Can interact with Chainlink_rETH_ETH_Aggregator\n * relay signed price reports to this aggregator. Any single one of these forwarders can submit, but only a report already carrying a quorum of the signers' signatures is accepted ",
"discoveryDrivenData": true
},
{
"id": "ChainlinkAuthorizedForwarder",
"name": "ChainlinkAuthorizedForwarder",
"accounts": [
{
"address": "eth:0xd8D2297bDf4a84569bCec83C92A81549bE9c51E6",
"type": "Contract",
"isVerified": true,
"name": "0xd8D2…51E6",
"url": "https://etherscan.io/address/0xd8D2297bDf4a84569bCec83C92A81549bE9c51E6"
}
],
"chain": "ethereum",
"description": "A Chainlink authorized forwarder that an oracle node uses to submit its signed reports onchain. It relays calls from its own authorized sender keys to a fixed target and holds no funds or price logic of its own.\n* Can interact with Chainlink_ETH_USD_Aggregator\n * relay signed price reports to this aggregator. Any single one of these forwarders can submit, but only a report already carrying a quorum of the signers' signatures is accepted ",
"discoveryDrivenData": true
},
{
"id": "ChainlinkAuthorizedForwarder",
"name": "ChainlinkAuthorizedForwarder",
"accounts": [
{
"address": "eth:0xDb0f470c2e87A645b1d7f8900b9a8F5aDe9aF259",
"type": "Contract",
"isVerified": true,
"name": "0xDb0f…F259",
"url": "https://etherscan.io/address/0xDb0f470c2e87A645b1d7f8900b9a8F5aDe9aF259"
}
],
"chain": "ethereum",
"description": "A Chainlink authorized forwarder that an oracle node uses to submit its signed reports onchain. It relays calls from its own authorized sender keys to a fixed target and holds no funds or price logic of its own.\n* Can interact with Chainlink_stETH_USD_Aggregator\n * relay signed price reports to this aggregator. Any single one of these forwarders can submit, but only a report already carrying a quorum of the signers' signatures is accepted \n* Can interact with Chainlink_ETH_USD_Aggregator\n * relay signed price reports to this aggregator. Any single one of these forwarders can submit, but only a report already carrying a quorum of the signers' signatures is accepted ",
"discoveryDrivenData": true
},
{
"id": "ChainlinkAuthorizedForwarder",
"name": "ChainlinkAuthorizedForwarder",
"accounts": [
{
"address": "eth:0xE62Efa5462961055757C63931a15601545E4d273",
"type": "Contract",
"isVerified": true,
"name": "0xE62E…d273",
"url": "https://etherscan.io/address/0xE62Efa5462961055757C63931a15601545E4d273"
}
],
"chain": "ethereum",
"description": "A Chainlink authorized forwarder that an oracle node uses to submit its signed reports onchain. It relays calls from its own authorized sender keys to a fixed target and holds no funds or price logic of its own.\n* Can interact with Chainlink_stETH_USD_Aggregator\n * relay signed price reports to this aggregator. Any single one of these forwarders can submit, but only a report already carrying a quorum of the signers' signatures is accepted \n* Can interact with Chainlink_rETH_ETH_Aggregator\n * relay signed price reports to this aggregator. Any single one of these forwarders can submit, but only a report already carrying a quorum of the signers' signatures is accepted ",
"discoveryDrivenData": true
},
{
"id": "ChainlinkAuthorizedForwarder",
"name": "ChainlinkAuthorizedForwarder",
"accounts": [
{
"address": "eth:0xe7b837A55df42eCc95bf893C3c31750264932596",
"type": "Contract",
"isVerified": true,
"name": "0xe7b8…2596",
"url": "https://etherscan.io/address/0xe7b837A55df42eCc95bf893C3c31750264932596"
}
],
"chain": "ethereum",
"description": "A Chainlink authorized forwarder that an oracle node uses to submit its signed reports onchain. It relays calls from its own authorized sender keys to a fixed target and holds no funds or price logic of its own.\n* Can interact with Chainlink_stETH_USD_Aggregator\n * relay signed price reports to this aggregator. Any single one of these forwarders can submit, but only a report already carrying a quorum of the signers' signatures is accepted ",
"discoveryDrivenData": true
},
{
"id": "ChainlinkAuthorizedForwarder",
"name": "ChainlinkAuthorizedForwarder",
"accounts": [
{
"address": "eth:0xE9DcbaCc91dB0e37562a8455c80d0734D7CF3bd1",
"type": "Contract",
"isVerified": true,
"name": "0xE9Dc…3bd1",
"url": "https://etherscan.io/address/0xE9DcbaCc91dB0e37562a8455c80d0734D7CF3bd1"
}
],
"chain": "ethereum",
"description": "A Chainlink authorized forwarder that an oracle node uses to submit its signed reports onchain. It relays calls from its own authorized sender keys to a fixed target and holds no funds or price logic of its own.\n* Can interact with Chainlink_stETH_USD_Aggregator\n * relay signed price reports to this aggregator. Any single one of these forwarders can submit, but only a report already carrying a quorum of the signers' signatures is accepted \n* Can interact with Chainlink_ETH_USD_Aggregator\n * relay signed price reports to this aggregator. Any single one of these forwarders can submit, but only a report already carrying a quorum of the signers' signatures is accepted ",
"discoveryDrivenData": true
},
{
"id": "ChainlinkAuthorizedForwarder",
"name": "ChainlinkAuthorizedForwarder",
"accounts": [
{
"address": "eth:0xe9E4D87B0e7f97dd622439c26605b3b038c276C4",
"type": "Contract",
"isVerified": true,
"name": "0xe9E4…76C4",
"url": "https://etherscan.io/address/0xe9E4D87B0e7f97dd622439c26605b3b038c276C4"
}
],
"chain": "ethereum",
"description": "A Chainlink authorized forwarder that an oracle node uses to submit its signed reports onchain. It relays calls from its own authorized sender keys to a fixed target and holds no funds or price logic of its own.\n* Can interact with Chainlink_ETH_USD_Aggregator\n * relay signed price reports to this aggregator. Any single one of these forwarders can submit, but only a report already carrying a quorum of the signers' signatures is accepted ",
"discoveryDrivenData": true
},
{
"id": "ChainlinkAuthorizedForwarder",
"name": "ChainlinkAuthorizedForwarder",
"accounts": [
{
"address": "eth:0xF38326579519377178725A741C35999E8051e907",
"type": "Contract",
"isVerified": true,
"name": "0xF383…e907",
"url": "https://etherscan.io/address/0xF38326579519377178725A741C35999E8051e907"
}
],
"chain": "ethereum",
"description": "A Chainlink authorized forwarder that an oracle node uses to submit its signed reports onchain. It relays calls from its own authorized sender keys to a fixed target and holds no funds or price logic of its own.\n* Can interact with Chainlink_stETH_USD_Aggregator\n * relay signed price reports to this aggregator. Any single one of these forwarders can submit, but only a report already carrying a quorum of the signers' signatures is accepted \n* Can interact with Chainlink_ETH_USD_Aggregator\n * relay signed price reports to this aggregator. Any single one of these forwarders can submit, but only a report already carrying a quorum of the signers' signatures is accepted ",
"discoveryDrivenData": true
},
{
"id": "ChainlinkAuthorizedForwarder",
"name": "ChainlinkAuthorizedForwarder",
"accounts": [
{
"address": "eth:0xFe31f3EcfDE29Fc4915d80Eb8A9d67bFF14180B3",
"type": "Contract",
"isVerified": true,
"name": "0xFe31…80B3",
"url": "https://etherscan.io/address/0xFe31f3EcfDE29Fc4915d80Eb8A9d67bFF14180B3"
}
],
"chain": "ethereum",
"description": "A Chainlink authorized forwarder that an oracle node uses to submit its signed reports onchain. It relays calls from its own authorized sender keys to a fixed target and holds no funds or price logic of its own.\n* Can interact with Chainlink_ETH_USD_Aggregator\n * relay signed price reports to this aggregator. Any single one of these forwarders can submit, but only a report already carrying a quorum of the signers' signatures is accepted ",
"discoveryDrivenData": true
},
{
"id": "ChainlinkOracleMultisig",
"name": "ChainlinkOracleMultisig",
"description": "A Multisig with 4/9 threshold. It uses the following modules: ConfirmedTransactionModule.\nThe Gnosis Safe that Chainlink uses to administer these three price feeds. It owns both the feed proxies and their aggregators, so it can swap the aggregator behind any feed and replace the set of oracle signers and how many of them must sign a price. In effect it can set the ETH, stETH, and rETH prices these feeds report, or push a feed into a stale, zero, or reverting state, which makes it their single point of control, held by Chainlink.\n",
"accounts": [
{
"address": "eth:0x21f73D42Eb58Ba49dDB685dc29D3bF5c0f0373CA",
"type": "Contract",
"isVerified": true,
"name": "0x21f7…73CA",
"url": "https://etherscan.io/address/0x21f73D42Eb58Ba49dDB685dc29D3bF5c0f0373CA"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0x80eFDeE7F82d0F2aBF3bF29A9A85edF0B42C9e19",
"type": "EOA",
"isVerified": true,
"name": "0x80eF…9e19",
"url": "https://etherscan.io/address/0x80eFDeE7F82d0F2aBF3bF29A9A85edF0B42C9e19"
},
{
"address": "eth:0x05724B9C8C1dDE1b2f659d7c0676ff63f6d5E781",
"type": "EOA",
"isVerified": true,
"name": "0x0572…E781",
"url": "https://etherscan.io/address/0x05724B9C8C1dDE1b2f659d7c0676ff63f6d5E781"
},
{
"address": "eth:0x480496c0884D61F2f56707Adb11697F8018898c2",
"type": "EOA",
"isVerified": true,
"name": "0x4804…98c2",
"url": "https://etherscan.io/address/0x480496c0884D61F2f56707Adb11697F8018898c2"
},
{
"address": "eth:0xB65B6d224351cD61f856c227b2d5cFc611E9B2d8",
"type": "EOA",
"isVerified": true,
"name": "0xB65B…B2d8",
"url": "https://etherscan.io/address/0xB65B6d224351cD61f856c227b2d5cFc611E9B2d8"
},
{
"address": "eth:0x47A1dD4E277530fffb5B5f70A43CCbD542F54e17",
"type": "EOA",
"isVerified": true,
"name": "0x47A1…4e17",
"url": "https://etherscan.io/address/0x47A1dD4E277530fffb5B5f70A43CCbD542F54e17"
},
{
"address": "eth:0xFdE996F00E42b33bdE7C640786333623aCC3f298",
"type": "EOA",
"isVerified": true,
"name": "0xFdE9…f298",
"url": "https://etherscan.io/address/0xFdE996F00E42b33bdE7C640786333623aCC3f298"
},
{
"address": "eth:0x7052cB84079905400ea52B635cAb6a275fDA8823",
"type": "EOA",
"isVerified": true,
"name": "0x7052…8823",
"url": "https://etherscan.io/address/0x7052cB84079905400ea52B635cAb6a275fDA8823"
},
{
"address": "eth:0xb7F0643D4ca8c296564Ce335062833e1afa3Afdb",
"type": "EOA",
"isVerified": true,
"name": "0xb7F0…Afdb",
"url": "https://etherscan.io/address/0xb7F0643D4ca8c296564Ce335062833e1afa3Afdb"
},
{
"address": "eth:0xD66336eA98cE0da67f25934E7cC230D4226292a0",
"type": "EOA",
"isVerified": true,
"name": "0xD663…92a0",
"url": "https://etherscan.io/address/0xD66336eA98cE0da67f25934E7cC230D4226292a0"
}
],
"discoveryDrivenData": true
},
{
"id": "EOA-1,-EOA-5,-EOA-7,-EOA-11,-EOA-14,-EOA-20-and-EOA-38",
"name": "EOA 1, EOA 5, EOA 7, EOA 11, EOA 14, EOA 20 and EOA 38",
"accounts": [
{
"address": "eth:0x05FD2a0Ce04700375e475a12d2708F1632992D32",
"type": "EOA",
"isVerified": true,
"name": "0x05FD…2D32",
"url": "https://etherscan.io/address/0x05FD2a0Ce04700375e475a12d2708F1632992D32",
"displayName": "EOA 1"
},
{
"address": "eth:0x2105394CE5f045c4d2F33Fd35cC0472B689998cC",
"type": "EOA",
"isVerified": true,
"name": "0x2105…98cC",
"url": "https://etherscan.io/address/0x2105394CE5f045c4d2F33Fd35cC0472B689998cC",
"displayName": "EOA 5"
},
{
"address": "eth:0x37939AaA3E06F59C68c4002E98972b55cE9313fF",
"type": "EOA",
"isVerified": true,
"name": "0x3793…13fF",
"url": "https://etherscan.io/address/0x37939AaA3E06F59C68c4002E98972b55cE9313fF",
"displayName": "EOA 7"
},
{
"address": "eth:0x5213f6F0f0bC40B8db5FE9124984B82Ce00d6004",
"type": "EOA",
"isVerified": true,
"name": "0x5213…6004",
"url": "https://etherscan.io/address/0x5213f6F0f0bC40B8db5FE9124984B82Ce00d6004",
"displayName": "EOA 11"
},
{
"address": "eth:0x6755F3DF25f4c1A6c3e768E286eAbc3413499D1B",
"type": "EOA",
"isVerified": true,
"name": "0x6755…9D1B",
"url": "https://etherscan.io/address/0x6755F3DF25f4c1A6c3e768E286eAbc3413499D1B",
"displayName": "EOA 14"
},
{
"address": "eth:0x8DCCa28d562157271b085632610d1Bd878690902",
"type": "EOA",
"isVerified": true,
"name": "0x8DCC…0902",
"url": "https://etherscan.io/address/0x8DCCa28d562157271b085632610d1Bd878690902",
"displayName": "EOA 20"
},
{
"address": "eth:0xFC78E810375eC72e9d3d194f3acAb896C7937611",
"type": "EOA",
"isVerified": true,
"name": "0xFC78…7611",
"url": "https://etherscan.io/address/0xFC78E810375eC72e9d3d194f3acAb896C7937611",
"displayName": "EOA 38"
}
],
"chain": "ethereum",
"description": "* Can interact with Chainlink_ETH_USD_Aggregator\n * sign price reports. A quorum of f+1 of these signing keys must sign each update, so their signatures, not the submitter, authorize the reported price \n* Can interact with Chainlink_rETH_ETH_Aggregator\n * sign price reports. A quorum of f+1 of these signing keys must sign each update, so their signatures, not the submitter, authorize the reported price ",
"discoveryDrivenData": true
},
{
"id": "EOA-2,-EOA-23,-EOA-25-and-EOA-33",
"name": "EOA 2, EOA 23, EOA 25 and EOA 33",
"accounts": [
{
"address": "eth:0x1128DAC99D33De9Daf99f6F4505c1f1E286A9712",
"type": "EOA",
"isVerified": true,
"name": "0x1128…9712",
"url": "https://etherscan.io/address/0x1128DAC99D33De9Daf99f6F4505c1f1E286A9712",
"displayName": "EOA 2"
},
{
"address": "eth:0x97590710d86ba7D34965229700652Ed4E6B6E6B7",
"type": "EOA",
"isVerified": true,
"name": "0x9759…E6B7",
"url": "https://etherscan.io/address/0x97590710d86ba7D34965229700652Ed4E6B6E6B7",
"displayName": "EOA 23"
},
{
"address": "eth:0xC83ffb4282e3c4deEf834a10b82800E7b484FbC9",
"type": "EOA",
"isVerified": true,
"name": "0xC83f…FbC9",
"url": "https://etherscan.io/address/0xC83ffb4282e3c4deEf834a10b82800E7b484FbC9",
"displayName": "EOA 25"
},
{
"address": "eth:0xEb5D1116c0F687BaAD06758008852679cf4D8cEC",
"type": "EOA",
"isVerified": true,
"name": "0xEb5D…8cEC",
"url": "https://etherscan.io/address/0xEb5D1116c0F687BaAD06758008852679cf4D8cEC",
"displayName": "EOA 33"
}
],
"chain": "ethereum",
"description": "* Can interact with Chainlink_stETH_USD_Aggregator\n * sign price reports. A quorum of f+1 of these signing keys must sign each update, so their signatures, not the submitter, authorize the reported price \n* Can interact with Chainlink_ETH_USD_Aggregator\n * sign price reports. A quorum of f+1 of these signing keys must sign each update, so their signatures, not the submitter, authorize the reported price \n* Can interact with Chainlink_rETH_ETH_Aggregator\n * sign price reports. A quorum of f+1 of these signing keys must sign each update, so their signatures, not the submitter, authorize the reported price ",
"discoveryDrivenData": true
},
{
"id": "EOA-3,-EOA-22,-EOA-28,-EOA-29,-EOA-30,-EOA-34,-EOA-35-and-EOA-37",
"name": "EOA 3, EOA 22, EOA 28, EOA 29, EOA 30, EOA 34, EOA 35 and EOA 37",
"accounts": [
{
"address": "eth:0x15E79C766b9Df3F8b3b60425f3122b2b61fd4212",
"type": "EOA",
"isVerified": true,
"name": "0x15E7…4212",
"url": "https://etherscan.io/address/0x15E79C766b9Df3F8b3b60425f3122b2b61fd4212",
"displayName": "EOA 3"
},
{
"address": "eth:0x9630a8FEA21c69De3790Fde207c4465E67966F2C",
"type": "EOA",
"isVerified": true,
"name": "0x9630…6F2C",
"url": "https://etherscan.io/address/0x9630a8FEA21c69De3790Fde207c4465E67966F2C",
"displayName": "EOA 22"
},
{
"address": "eth:0xc9e37628E76F02f84091d8e5A8DB1053C6CaC1CB",
"type": "EOA",
"isVerified": true,
"name": "0xc9e3…C1CB",
"url": "https://etherscan.io/address/0xc9e37628E76F02f84091d8e5A8DB1053C6CaC1CB",
"displayName": "EOA 28"
},
{
"address": "eth:0xd76f52789321183E08799F34A2AD9c812A95A5B1",
"type": "EOA",
"isVerified": true,
"name": "0xd76f…A5B1",
"url": "https://etherscan.io/address/0xd76f52789321183E08799F34A2AD9c812A95A5B1",
"displayName": "EOA 29"
},
{
"address": "eth:0xD953B28486a4Cd2668dbaFddbC4A3806A1B6Ae45",
"type": "EOA",
"isVerified": true,
"name": "0xD953…Ae45",
"url": "https://etherscan.io/address/0xD953B28486a4Cd2668dbaFddbC4A3806A1B6Ae45",
"displayName": "EOA 30"
},
{
"address": "eth:0xf18939edE35203f5361ff19c2BA65B5aefC985C2",
"type": "EOA",
"isVerified": true,
"name": "0xf189…85C2",
"url": "https://etherscan.io/address/0xf18939edE35203f5361ff19c2BA65B5aefC985C2",
"displayName": "EOA 34"
},
{
"address": "eth:0xf4B2220EFFc3955b627E52389673418324F5d1CA",
"type": "EOA",
"isVerified": true,
"name": "0xf4B2…d1CA",
"url": "https://etherscan.io/address/0xf4B2220EFFc3955b627E52389673418324F5d1CA",
"displayName": "EOA 35"
},
{
"address": "eth:0xf9079d1f8033069c7480027E4bA1b3b1ec99eDa8",
"type": "EOA",
"isVerified": true,
"name": "0xf907…eDa8",
"url": "https://etherscan.io/address/0xf9079d1f8033069c7480027E4bA1b3b1ec99eDa8",
"displayName": "EOA 37"
}
],
"chain": "ethereum",
"description": "* Can interact with Chainlink_stETH_USD_Aggregator\n * sign price reports. A quorum of f+1 of these signing keys must sign each update, so their signatures, not the submitter, authorize the reported price \n* Can interact with Chainlink_ETH_USD_Aggregator\n * sign price reports. A quorum of f+1 of these signing keys must sign each update, so their signatures, not the submitter, authorize the reported price ",
"discoveryDrivenData": true
},
{
"id": "EOA-4,-EOA-8,-EOA-13,-EOA-15,-EOA-16,-EOA-17,-EOA-18,-EOA-19,-EOA-24,-EOA-26,-EOA-27-and-EOA-36",
"name": "EOA 4, EOA 8, EOA 13, EOA 15, EOA 16, EOA 17, EOA 18, EOA 19, EOA 24, EOA 26, EOA 27 and EOA 36",
"accounts": [
{
"address": "eth:0x207dCc7519600F6459227168abe8e102CB99EB3e",
"type": "EOA",
"isVerified": true,
"name": "0x207d…EB3e",
"url": "https://etherscan.io/address/0x207dCc7519600F6459227168abe8e102CB99EB3e",
"displayName": "EOA 4"
},
{
"address": "eth:0x43dC29Fe432733F239D8485d7DcdAA867B7175b8",
"type": "EOA",
"isVerified": true,
"name": "0x43dC…75b8",
"url": "https://etherscan.io/address/0x43dC29Fe432733F239D8485d7DcdAA867B7175b8",
"displayName": "EOA 8"
},
{
"address": "eth:0x58c56D3b37bdD568cE476Ee5ABe1D263F2615970",
"type": "EOA",
"isVerified": true,
"name": "0x58c5…5970",
"url": "https://etherscan.io/address/0x58c56D3b37bdD568cE476Ee5ABe1D263F2615970",
"displayName": "EOA 13"
},
{
"address": "eth:0x679316Feef30712f240C1903F92751b5Ec14548b",
"type": "EOA",
"isVerified": true,
"name": "0x6793…548b",
"url": "https://etherscan.io/address/0x679316Feef30712f240C1903F92751b5Ec14548b",
"displayName": "EOA 15"
},
{
"address": "eth:0x7714a555e35FC3Af77e272835E0C31b1Afef8813",
"type": "EOA",
"isVerified": true,
"name": "0x7714…8813",
"url": "https://etherscan.io/address/0x7714a555e35FC3Af77e272835E0C31b1Afef8813",
"displayName": "EOA 16"
},
{
"address": "eth:0x84456A715540D627dbc588b73f33b1246cfCFD7C",
"type": "EOA",
"isVerified": true,
"name": "0x8445…FD7C",
"url": "https://etherscan.io/address/0x84456A715540D627dbc588b73f33b1246cfCFD7C",
"displayName": "EOA 17"
},
{
"address": "eth:0x845E553567C9F2221a238605DB7c044c672455e4",
"type": "EOA",
"isVerified": true,
"name": "0x845E…55e4",
"url": "https://etherscan.io/address/0x845E553567C9F2221a238605DB7c044c672455e4",
"displayName": "EOA 18"
},
{
"address": "eth:0x88E66A3D292D4B7b4913A28333658A9F43772991",
"type": "EOA",
"isVerified": true,
"name": "0x88E6…2991",
"url": "https://etherscan.io/address/0x88E66A3D292D4B7b4913A28333658A9F43772991",
"displayName": "EOA 19"
},
{
"address": "eth:0x9e51fa73404dfa9A38063E63bB8DAa796095Aa09",
"type": "EOA",
"isVerified": true,
"name": "0x9e51…Aa09",
"url": "https://etherscan.io/address/0x9e51fa73404dfa9A38063E63bB8DAa796095Aa09",
"displayName": "EOA 24"
},
{
"address": "eth:0xC8f5aE9ED3930643aD91c0c0d37225916e45b996",
"type": "EOA",
"isVerified": true,
"name": "0xC8f5…b996",
"url": "https://etherscan.io/address/0xC8f5aE9ED3930643aD91c0c0d37225916e45b996",
"displayName": "EOA 26"
},
{
"address": "eth:0xc90E040d0C2C07f166474891a7219da494B6ED62",
"type": "EOA",
"isVerified": true,
"name": "0xc90E…ED62",
"url": "https://etherscan.io/address/0xc90E040d0C2C07f166474891a7219da494B6ED62",
"displayName": "EOA 27"
},
{
"address": "eth:0xf8F1f7455CC3A0D045ecE1f7DB6f5249C0508236",
"type": "EOA",
"isVerified": true,
"name": "0xf8F1…8236",
"url": "https://etherscan.io/address/0xf8F1f7455CC3A0D045ecE1f7DB6f5249C0508236",
"displayName": "EOA 36"
}
],
"chain": "ethereum",
"description": "* Can interact with Chainlink_ETH_USD_Aggregator\n * sign price reports. A quorum of f+1 of these signing keys must sign each update, so their signatures, not the submitter, authorize the reported price ",
"discoveryDrivenData": true
},
{
"id": "EOA-6,-EOA-31-and-EOA-39",
"name": "EOA 6, EOA 31 and EOA 39",
"accounts": [
{
"address": "eth:0x2AE63A74771Fc84Fe25a186E139c2A39FfCa3f7c",
"type": "EOA",
"isVerified": true,
"name": "0x2AE6…3f7c",
"url": "https://etherscan.io/address/0x2AE63A74771Fc84Fe25a186E139c2A39FfCa3f7c",
"displayName": "EOA 6"
},
{
"address": "eth:0xdfE90b926c7cA7913E94D481c92A0aE2d99a593e",
"type": "EOA",
"isVerified": true,
"name": "0xdfE9…593e",
"url": "https://etherscan.io/address/0xdfE90b926c7cA7913E94D481c92A0aE2d99a593e",
"displayName": "EOA 31"
},
{
"address": "eth:0xfc81fE4fBf6B4dB2589131d0D22C127f90ebaDC0",
"type": "EOA",
"isVerified": true,
"name": "0xfc81…aDC0",
"url": "https://etherscan.io/address/0xfc81fE4fBf6B4dB2589131d0D22C127f90ebaDC0",
"displayName": "EOA 39"
}
],
"chain": "ethereum",
"description": "* Can interact with Chainlink_stETH_USD_Aggregator\n * sign price reports. A quorum of f+1 of these signing keys must sign each update, so their signatures, not the submitter, authorize the reported price ",
"discoveryDrivenData": true
},
{
"id": "EOA-9,-EOA-12,-EOA-21-and-EOA-32",
"name": "EOA 9, EOA 12, EOA 21 and EOA 32",
"accounts": [
{
"address": "eth:0x486B19D5eef9aB146593b44F324bd9CCba001f65",
"type": "EOA",
"isVerified": true,
"name": "0x486B…1f65",
"url": "https://etherscan.io/address/0x486B19D5eef9aB146593b44F324bd9CCba001f65",
"displayName": "EOA 9"
},
{
"address": "eth:0x52b6D55A50118914BF8B7DbE0225258F92C89C0B",
"type": "EOA",
"isVerified": true,
"name": "0x52b6…9C0B",
"url": "https://etherscan.io/address/0x52b6D55A50118914BF8B7DbE0225258F92C89C0B",
"displayName": "EOA 12"
},
{
"address": "eth:0x8f5E4d8e77F69EDfCabbFdC3a3Ea8550025e206d",
"type": "EOA",
"isVerified": true,
"name": "0x8f5E…206d",
"url": "https://etherscan.io/address/0x8f5E4d8e77F69EDfCabbFdC3a3Ea8550025e206d",
"displayName": "EOA 21"
},
{
"address": "eth:0xE808269B80F9AB230d95E088e6D6d9Ca7F59c811",
"type": "EOA",
"isVerified": true,
"name": "0xE808…c811",
"url": "https://etherscan.io/address/0xE808269B80F9AB230d95E088e6D6d9Ca7F59c811",
"displayName": "EOA 32"
}
],
"chain": "ethereum",
"description": "* Can interact with Chainlink_stETH_USD_Aggregator\n * sign price reports. A quorum of f+1 of these signing keys must sign each update, so their signatures, not the submitter, authorize the reported price \n* Can interact with Chainlink_rETH_ETH_Aggregator\n * sign price reports. A quorum of f+1 of these signing keys must sign each update, so their signatures, not the submitter, authorize the reported price ",
"discoveryDrivenData": true
},
{
"id": "EOA-10",
"name": "EOA 10",
"accounts": [
{
"address": "eth:0x48b59195A00b4e2870A649945c8B526FFfecfF0C",
"type": "EOA",
"isVerified": true,
"name": "0x48b5…fF0C",
"url": "https://etherscan.io/address/0x48b59195A00b4e2870A649945c8B526FFfecfF0C",
"displayName": "EOA 10"
}
],
"chain": "ethereum",
"description": "* Can interact with Chainlink_rETH_ETH_Aggregator\n * sign price reports. A quorum of f+1 of these signing keys must sign each update, so their signatures, not the submitter, authorize the reported price ",
"discoveryDrivenData": true
}
]
}
}
+0 -15
{
"addresses": {
"ethereum": [
{
"name": "SortedTroves_rETH",
"isVerified": true,
"address": "eth:0x14d8d8011dF2b396Ed2bbC4959bb73250324F386",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "The branch's troves kept as a doubly-linked list ordered by annual interest rate, so any trove's position relative to the others is known at a glance. It is maintained only by the branch's BorrowerOperations and TroveManager, which insert, remove, and re-position troves as they open, close, or change their rate. It holds no funds and stores nothing but the ordering.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x14d8d8011dF2b396Ed2bbC4959bb73250324F386#code"
},
{
"name": "TroveNFT_WETH",
"isVerified": true,
"address": "eth:0x1A0FC0b843aFD9140267D25d4E575Cb37a838013",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "The ERC721 that represents ownership of a trove: opening one mints an NFT and closing it burns one, both by the branch's TroveManager. The holder of a trove's NFT is its owner, with full control over the position, and transferring the NFT hands the entire trove, collateral and debt alike, to the new holder. In every other respect it is a standard ERC721.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x1A0FC0b843aFD9140267D25d4E575Cb37a838013#code"
},
{
"name": "AddressesRegistry_WETH",
"isVerified": true,
"address": "eth:0x20F7C9ad66983F6523a0881d0f82406541417526",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "The immutable address book and risk-parameter store for a single collateral branch: every other contract in the branch reads its sibling addresses and risk settings from here at construction. The parameters it fixes, none of which can change, are the collateral-ratio thresholds (Minimum 110%, Critical 150%, Shutdown 110%, and a Batch buffer of 10%) and the liquidation penalties (5% when a liquidation is absorbed by the Stability Pool, 10% when it is redistributed across the remaining troves). Its addresses were registered once at deployment and the owner then renounced, so nothing here can be changed afterward.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x20F7C9ad66983F6523a0881d0f82406541417526#code"
},
{
"name": "MetadataNFT_rETH",
"isVerified": true,
"address": "eth:0x3400874305E1547020fb8e80eAF1308B757171Af",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "A read-only renderer for the trove NFT: it builds the on-chain SVG image and JSON metadata returned for each trove, pulling the embedded fonts through the FixedAssetReader. It holds no funds and changes no state.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x3400874305E1547020fb8e80eAF1308B757171Af#code"
},
{
"name": "RETHPriceFeed",
"isVerified": true,
"address": "eth:0x34F1E9c7dcc279ec70d3c4488EB2D80FBa8B7b2B",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "The price source for the rETH branch. It builds the rETH/USD price from Chainlink's ETH/USD feed and the rETH/ETH rate, using the more conservative of Chainlink's market rETH/ETH feed and the canonical rate reported by the rETH token to blunt upward market manipulation. Fetching the price is permissionless and happens on every branch operation. A Chainlink feed is treated as failed if it reverts, returns a non-positive answer, or grows stale beyond its staleness window, which is 1d for the ETH/USD feed and 2d for the rETH/ETH feed. If the ETH/USD feed or the canonical rate fails the branch is permanently shut down and priced from its last healthy value; if only the rETH/ETH feed fails, the branch shuts down but keeps pricing from the ETH/USD feed and the canonical rate.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x34F1E9c7dcc279ec70d3c4488EB2D80FBa8B7b2B#code"
},
{
"name": "MetadataNFT_wstETH",
"isVerified": true,
"address": "eth:0x362f822dF79790C8077e61110484Fffa48F682A1",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "A read-only renderer for the trove NFT: it builds the on-chain SVG image and JSON metadata returned for each trove, pulling the embedded fonts through the FixedAssetReader. It holds no funds and changes no state.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x362f822dF79790C8077e61110484Fffa48F682A1#code"
},
{
"name": "CollSurplusPool_wstETH",
"isVerified": true,
"address": "eth:0x36e6CBdf68f64CF00fC3a6c634A25be32Dd0A235",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Holds the collateral left over from liquidations. When a liquidated trove is worth more than its debt plus penalty, the excess collateral is set aside here and credited to the former owner by the TroveManager; the owner later reclaims it through the BorrowerOperations. It only ever holds these unclaimed surpluses.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x36e6CBdf68f64CF00fC3a6c634A25be32Dd0A235#code"
},
{
"name": "BorrowerOperations_WETH",
"isVerified": true,
"address": "eth:0x372ABD1810eAF23Cb9D941BbE7596DFb2c46BC65",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "User-facing entry point of a single collateral branch. Borrowers open, adjust, and close troves here (depositing or withdrawing collateral and drawing or repaying BOLD), set their interest rate directly or by joining an interest-rate batch, and delegate trove management. It mints and burns BOLD as debt is drawn and repaid, and enforces the branch's collateral-ratio rules. A trove becomes liquidatable once its individual collateral ratio falls below the Minimum Collateral Ratio (MCR, 110%); troves managed by an interest-rate batch are held to the stronger MCR plus Batch Collateral Ratio buffer (BCR, 10%). While the branch's total collateral ratio is below the Critical Collateral Ratio (CCR, 150%) the branch is in restricted mode and borrowing operations that would lower it further are blocked. Anyone can shut the branch down once its total collateral ratio falls below the Shutdown Collateral Ratio (SCR, 110%), and it also shuts down automatically if the price feed reports a failure of one of its oracles.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x372ABD1810eAF23Cb9D941BbE7596DFb2c46BC65#code"
},
{
"name": "GasPool_rETH",
"isVerified": true,
"address": "eth:0x45c81dcE308389e1Bee63ae30A04Fb1e148dad41",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "A minimal per-branch vault for WETH gas compensation. Each trove posts a small fixed amount of WETH when it opens, held here and used only to cover liquidation gas: it is returned to the borrower when the trove closes, or paid to the liquidator when the trove is liquidated. The contract has no functions of its own; at deployment it simply grants the branch's BorrowerOperations and TroveManager standing approval to move its WETH for those two purposes.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x45c81dcE308389e1Bee63ae30A04Fb1e148dad41#code"
},
{
"name": "ActivePool_wstETH",
"isVerified": true,
"address": "eth:0x531a8f99c70D6A56A7CEe02d6B4281650d7919a0",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "The branch's collateral vault and interest engine. It custodies the collateral of every active trove on this branch and tracks the branch's aggregate BOLD debt. Collateral only moves in or out on instruction from the branch's own contracts (the BorrowerOperations, TroveManager, StabilityPool, and DefaultPool). It is also where borrower interest is realized: when the branch's aggregate interest is settled, the newly accrued amount is minted as fresh BOLD and split, with 75% going to the StabilityPool as depositor yield and the remainder to the InterestRouter.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x531a8f99c70D6A56A7CEe02d6B4281650d7919a0#code"
},
{
"name": "StabilityPool_WETH",
"isVerified": true,
"address": "eth:0x5721cbbd64fc7Ae3Ef44A0A3F9a790A9264Cf9BF",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "The branch's liquidation backstop. Anyone can deposit BOLD here, and those deposits are the first resource used to absorb liquidations: when a trove on this branch is liquidated, the pool burns BOLD to cancel an equal amount of that trove's debt and receives the corresponding collateral in return. Because that collateral is worth more than the debt cancelled, depositors generally come out ahead on each liquidation, and they also earn a share of the interest that branch borrowers pay. Deposits can be withdrawn at any time with no lock-up, as long as a small minimum is left so the pool can never be fully emptied.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x5721cbbd64fc7Ae3Ef44A0A3F9a790A9264Cf9BF#code"
},
{
"name": "DefaultPool_rETH",
"isVerified": true,
"address": "eth:0x5cc5ceFD034Fdc4728D487a72Ca58A410CDdCD6b",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "The counterpart to the ActivePool that holds only what is pending redistribution. When a liquidation cannot be fully covered by the StabilityPool, the liquidated trove's collateral and debt are spread across the remaining troves, and until each of those troves actually realizes its share this pool holds it: the redistributed collateral as real tokens, and the redistributed debt as a bookkeeping figure (no BOLD is kept here). When a trove is next touched and its pending share is applied, that collateral and debt move out of here into the ActivePool. Only the branch's TroveManager (which adjusts the recorded debt and moves collateral out to the ActivePool) and the ActivePool (which moves collateral in) can touch it.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x5cc5ceFD034Fdc4728D487a72Ca58A410CDdCD6b#code"
},
{
"name": "FixedAssetData_WETH",
"isVerified": true,
"address": "eth:0x5CcA549ca706C39D68156e5E0a72CcBC95f563d0",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"references": [
{
"title": "Source Code",
"url": "https://github.com/liquity/bold/tree/main/contracts/utils/assets"
}
],
"description": "A data contract holding the raw asset bytes (an embedded font and the collateral logos) used to render the trove NFT image. The bytes are stored as the contract's own bytecode via the SSTORE2 pattern rather than as executable code, so it has no logic and no Solidity source; the FixedAssetReader slices out the assets it needs.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x5CcA549ca706C39D68156e5E0a72CcBC95f563d0#code"
},
{
"name": "AddressesRegistry_rETH",
"isVerified": true,
"address": "eth:0x6106046F031a22713697e04C08B330dDaf3e8789",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "The immutable address book and risk-parameter store for a single collateral branch: every other contract in the branch reads its sibling addresses and risk settings from here at construction. The parameters it fixes, none of which can change, are the collateral-ratio thresholds (Minimum 120%, Critical 160%, Shutdown 120%, and a Batch buffer of 10%) and the liquidation penalties (5% when a liquidation is absorbed by the Stability Pool, 20% when it is redistributed across the remaining troves). Its addresses were registered once at deployment and the owner then renounced, so nothing here can be changed afterward.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x6106046F031a22713697e04C08B330dDaf3e8789#code"
},
{
"name": "BOLD Stablecoin Token",
"isVerified": true,
"address": "eth:0x6440f144b7e50D6a8439336510312d2F54beB01D",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "BOLD, the protocol's stablecoin and the debt side of every trove. It is a standard ERC20 with permit, so anyone can hold, transfer, and approve it, but only the protocol's own branch contracts can create or destroy it. New BOLD is minted when a borrower draws debt (by a branch's BorrowerOperations or ActivePool) and burned when debt is repaid, liquidated, or redeemed (by a branch's BorrowerOperations, TroveManager, or StabilityPool, or by the CollateralRegistry on redemption), so the total supply always tracks the system's outstanding debt. The set of addresses allowed to mint and burn is a fixed whitelist: each branch's contracts were registered once at deployment, after which ownership was renounced, so no minter or burner can ever be added or removed.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x6440f144b7e50D6a8439336510312d2F54beB01D#code"
},
{
"name": "UserProxy",
"isVerified": true,
"address": "eth:0x65f9A98009Aecaa3fc8A3A83FEF44e2b6931A7b2",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "A per-staker proxy deployed by the Governance to hold and stake one user's LQTY. It forwards the LQTY into Liquity's legacy V1 staking, so the staker keeps earning the V1 fee rewards (LUSD and ETH) while that same LQTY backs their V2 voting power, and it passes those rewards back to the staker. Only the Governance can operate it.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x65f9A98009Aecaa3fc8A3A83FEF44e2b6931A7b2#code"
},
{
"name": "TroveNFT_rETH",
"isVerified": true,
"address": "eth:0x7ae430E25b67f19B431e1D1Dc048a5BCF24C0873",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "The ERC721 that represents ownership of a trove: opening one mints an NFT and closing it burns one, both by the branch's TroveManager. The holder of a trove's NFT is its owner, with full control over the position, and transferring the NFT hands the entire trove, collateral and debt alike, to the new holder. In every other respect it is a standard ERC721.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x7ae430E25b67f19B431e1D1Dc048a5BCF24C0873#code"
},
{
"name": "GasPool_WETH",
"isVerified": true,
"address": "eth:0x7b9ab3DE4036caE51F1fa4ec0a2C2fd606bCF921",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "A minimal per-branch vault for WETH gas compensation. Each trove posts a small fixed amount of WETH when it opens, held here and used only to cover liquidation gas: it is returned to the borrower when the trove closes, or paid to the liquidator when the trove is liquidated. The contract has no functions of its own; at deployment it simply grants the branch's BorrowerOperations and TroveManager standing approval to move its WETH for those two purposes.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x7b9ab3DE4036caE51F1fa4ec0a2C2fd606bCF921#code"
},
{
"name": "TroveManager_WETH",
"isVerified": true,
"address": "eth:0x7bcb64B2c9206a5B699eD43363f6F98D4776Cf5A",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "The branch's ledger and enforcement engine. It holds the canonical record of every trove on this collateral branch (debt, collateral, stake, interest rate, and accounting snapshots) and is where BorrowerOperations persists changes when owners open, adjust, or close their troves. It also carries out the two things that happen to a trove without its owner. Liquidation is permissionless: once a trove's collateral ratio falls below the branch minimum, anyone can liquidate it, and its collateral (up to the debt plus a penalty) is either absorbed by the StabilityPool at a 5% penalty or redistributed across the remaining troves at a 10% penalty, with any surplus returned to the owner. Redemption is driven by the CollateralRegistry, which exchanges BOLD for collateral at face value against the lowest-interest-rate troves first, letting BOLD holders defend the peg. If the branch is ever shut down, redemption instead runs directly through this contract in an urgent mode: BOLD holders can redeem against troves of their own choosing, in any order, and are paid a 2% collateral bonus rather than a fee, so the branch can be wound down and its remaining debt cleared.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x7bcb64B2c9206a5B699eD43363f6F98D4776Cf5A#code"
},
{
"name": "Governance",
"isVerified": true,
"address": "eth:0x807DEf5E7d057DF05C796F4bc75C3Fe82Bd6EeE1",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "The protocol's revenue router and LQTY-staking governance. Every branch sends the share of borrower interest not paid to Stability Pool depositors to this contract, which hands that BOLD out to community initiatives chosen by LQTY holders. Anyone can stake LQTY here (each staker gets a personal proxy that also stakes into Liquity's legacy V1 staking), earning voting power that grows the longer it stays staked. Time is split into fixed 7d epochs; within each epoch stakers allocate their voting power across initiatives as votes and vetoes, and any initiative whose net votes clear the voting threshold becomes eligible for a share of the accrued BOLD, which anyone can then pay out to it. Registering a new initiative (for a 100 BOLD fee), unregistering a stale one, and triggering payouts are all permissionless. The starting set of initiatives was registered once at launch, after which ownership was renounced, so there is no privileged operator.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x807DEf5E7d057DF05C796F4bc75C3Fe82Bd6EeE1#code"
},
{
"name": "FixedAssetReader_WETH",
"isVerified": true,
"address": "eth:0x84087689B0D6a8A8f11C297e9e7f8De99f398258",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "A read-only accessor for the embedded font data used to draw the trove NFT image. It reads the raw bytes out of the FixedAssetData data contract (stored via the SSTORE2 pattern) and serves them to the MetadataNFT renderer. It holds no funds and changes no state.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x84087689B0D6a8A8f11C297e9e7f8De99f398258#code"
},
{
"name": "SortedTroves_wstETH",
"isVerified": true,
"address": "eth:0x84eb85a8C25049255614F0536Bea8F31682e86F1",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "The branch's troves kept as a doubly-linked list ordered by annual interest rate, so any trove's position relative to the others is known at a glance. It is maintained only by the branch's BorrowerOperations and TroveManager, which insert, remove, and re-position troves as they open, close, or change their rate. It holds no funds and stores nothing but the ordering.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x84eb85a8C25049255614F0536Bea8F31682e86F1#code"
},
{
"name": "TroveNFT_wstETH",
"isVerified": true,
"address": "eth:0x857aECeBF75f1012DC18E15020C97096aeA31b04",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "The ERC721 that represents ownership of a trove: opening one mints an NFT and closing it burns one, both by the branch's TroveManager. The holder of a trove's NFT is its owner, with full control over the position, and transferring the NFT hands the entire trove, collateral and debt alike, to the new holder. In every other respect it is a standard ERC721.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x857aECeBF75f1012DC18E15020C97096aeA31b04#code"
},
{
"name": "FixedAssetData_rETH",
"isVerified": true,
"address": "eth:0x884Acfa4593a6FdbA0a9373007E48Ea9AF881C42",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"references": [
{
"title": "Source Code",
"url": "https://github.com/liquity/bold/tree/main/contracts/utils/assets"
}
],
"description": "A data contract holding the raw asset bytes (an embedded font and the collateral logos) used to render the trove NFT image. The bytes are stored as the contract's own bytecode via the SSTORE2 pattern rather than as executable code, so it has no logic and no Solidity source; the FixedAssetReader slices out the assets it needs.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x884Acfa4593a6FdbA0a9373007E48Ea9AF881C42#code"
},
{
"name": "GasPool_wstETH",
"isVerified": true,
"address": "eth:0x8C44FBa379D8A8608C0e29B2729DeB75a981Db1f",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "A minimal per-branch vault for WETH gas compensation. Each trove posts a small fixed amount of WETH when it opens, held here and used only to cover liquidation gas: it is returned to the borrower when the trove closes, or paid to the liquidator when the trove is liquidated. The contract has no functions of its own; at deployment it simply grants the branch's BorrowerOperations and TroveManager standing approval to move its WETH for those two purposes.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x8C44FBa379D8A8608C0e29B2729DeB75a981Db1f#code"
},
{
"name": "AddressesRegistry_wstETH",
"isVerified": true,
"address": "eth:0x8d733F7ea7c23Cbea7C613B6eBd845d46d3aAc54",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "The immutable address book and risk-parameter store for a single collateral branch: every other contract in the branch reads its sibling addresses and risk settings from here at construction. The parameters it fixes, none of which can change, are the collateral-ratio thresholds (Minimum 120%, Critical 160%, Shutdown 120%, and a Batch buffer of 10%) and the liquidation penalties (5% when a liquidation is absorbed by the Stability Pool, 20% when it is redistributed across the remaining troves). Its addresses were registered once at deployment and the owner then renounced, so nothing here can be changed afterward.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x8d733F7ea7c23Cbea7C613B6eBd845d46d3aAc54#code"
},
{
"name": "ActivePool_rETH",
"isVerified": true,
"address": "eth:0x9074D72cc82DaD1e13E454755Aa8f144c479532F",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "The branch's collateral vault and interest engine. It custodies the collateral of every active trove on this branch and tracks the branch's aggregate BOLD debt. Collateral only moves in or out on instruction from the branch's own contracts (the BorrowerOperations, TroveManager, StabilityPool, and DefaultPool). It is also where borrower interest is realized: when the branch's aggregate interest is settled, the newly accrued amount is minted as fresh BOLD and split, with 75% going to the StabilityPool as depositor yield and the remainder to the InterestRouter.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x9074D72cc82DaD1e13E454755Aa8f144c479532F#code"
},
{
"name": "StabilityPool_wstETH",
"isVerified": true,
"address": "eth:0x9502b7c397E9aa22FE9dB7EF7DAF21cD2AEBe56B",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "The branch's liquidation backstop. Anyone can deposit BOLD here, and those deposits are the first resource used to absorb liquidations: when a trove on this branch is liquidated, the pool burns BOLD to cancel an equal amount of that trove's debt and receives the corresponding collateral in return. Because that collateral is worth more than the debt cancelled, depositors generally come out ahead on each liquidation, and they also earn a share of the interest that branch borrowers pay. Deposits can be withdrawn at any time with no lock-up, as long as a small minimum is left so the pool can never be fully emptied.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x9502b7c397E9aa22FE9dB7EF7DAF21cD2AEBe56B#code"
},
{
"name": "MetadataNFT_WETH",
"isVerified": true,
"address": "eth:0x9B36C3B16299D68c79F174df7e728E35b6AF4A12",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "A read-only renderer for the trove NFT: it builds the on-chain SVG image and JSON metadata returned for each trove, pulling the embedded fonts through the FixedAssetReader. It holds no funds and changes no state.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x9B36C3B16299D68c79F174df7e728E35b6AF4A12#code"
},
{
"name": "SortedTroves_WETH",
"isVerified": true,
"address": "eth:0xA25269E41BD072513849F2E64Ad221e84f3063F4",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "The branch's troves kept as a doubly-linked list ordered by annual interest rate, so any trove's position relative to the others is known at a glance. It is maintained only by the branch's BorrowerOperations and TroveManager, which insert, remove, and re-position troves as they open, close, or change their rate. It holds no funds and stores nothing but the ordering.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xA25269E41BD072513849F2E64Ad221e84f3063F4#code"
},
{
"name": "TroveManager_wstETH",
"isVerified": true,
"address": "eth:0xA2895d6A3bf110561Dfe4b71cA539d84e1928B22",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "The branch's ledger and enforcement engine. It holds the canonical record of every trove on this collateral branch (debt, collateral, stake, interest rate, and accounting snapshots) and is where BorrowerOperations persists changes when owners open, adjust, or close their troves. It also carries out the two things that happen to a trove without its owner. Liquidation is permissionless: once a trove's collateral ratio falls below the branch minimum, anyone can liquidate it, and its collateral (up to the debt plus a penalty) is either absorbed by the StabilityPool at a 5% penalty or redistributed across the remaining troves at a 20% penalty, with any surplus returned to the owner. Redemption is driven by the CollateralRegistry, which exchanges BOLD for collateral at face value against the lowest-interest-rate troves first, letting BOLD holders defend the peg. If the branch is ever shut down, redemption instead runs directly through this contract in an urgent mode: BOLD holders can redeem against troves of their own choosing, in any order, and are paid a 2% collateral bonus rather than a fee, so the branch can be wound down and its remaining debt cleared.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xA2895d6A3bf110561Dfe4b71cA539d84e1928B22#code"
},
{
"name": "FixedAssetReader_wstETH",
"isVerified": true,
"address": "eth:0xa5224865040034A9f8E5C60e0a616c9c8A63f237",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "A read-only accessor for the embedded font data used to draw the trove NFT image. It reads the raw bytes out of the FixedAssetData data contract (stored via the SSTORE2 pattern) and serves them to the MetadataNFT renderer. It holds no funds and changes no state.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xa5224865040034A9f8E5C60e0a616c9c8A63f237#code"
},
{
"name": "BorrowerOperations_wstETH",
"isVerified": true,
"address": "eth:0xa741A32f9dcFe6aDBa088fD0f97e90742d7d5DA3",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "User-facing entry point of a single collateral branch. Borrowers open, adjust, and close troves here (depositing or withdrawing collateral and drawing or repaying BOLD), set their interest rate directly or by joining an interest-rate batch, and delegate trove management. It mints and burns BOLD as debt is drawn and repaid, and enforces the branch's collateral-ratio rules. A trove becomes liquidatable once its individual collateral ratio falls below the Minimum Collateral Ratio (MCR, 120%); troves managed by an interest-rate batch are held to the stronger MCR plus Batch Collateral Ratio buffer (BCR, 10%). While the branch's total collateral ratio is below the Critical Collateral Ratio (CCR, 160%) the branch is in restricted mode and borrowing operations that would lower it further are blocked. Anyone can shut the branch down once its total collateral ratio falls below the Shutdown Collateral Ratio (SCR, 120%), and it also shuts down automatically if the price feed reports a failure of one of its oracles.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xa741A32f9dcFe6aDBa088fD0f97e90742d7d5DA3#code"
},
{
"name": "TroveManager_rETH",
"isVerified": true,
"address": "eth:0xb2B2ABEb5C357a234363FF5D180912D319e3e19e",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "The branch's ledger and enforcement engine. It holds the canonical record of every trove on this collateral branch (debt, collateral, stake, interest rate, and accounting snapshots) and is where BorrowerOperations persists changes when owners open, adjust, or close their troves. It also carries out the two things that happen to a trove without its owner. Liquidation is permissionless: once a trove's collateral ratio falls below the branch minimum, anyone can liquidate it, and its collateral (up to the debt plus a penalty) is either absorbed by the StabilityPool at a 5% penalty or redistributed across the remaining troves at a 20% penalty, with any surplus returned to the owner. Redemption is driven by the CollateralRegistry, which exchanges BOLD for collateral at face value against the lowest-interest-rate troves first, letting BOLD holders defend the peg. If the branch is ever shut down, redemption instead runs directly through this contract in an urgent mode: BOLD holders can redeem against troves of their own choosing, in any order, and are paid a 2% collateral bonus rather than a fee, so the branch can be wound down and its remaining debt cleared.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xb2B2ABEb5C357a234363FF5D180912D319e3e19e#code"
},
{
"name": "CollSurplusPool_rETH",
"isVerified": true,
"address": "eth:0xba4A2bD8b76DF84CaC98eBa3f4b967D8423192bF",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Holds the collateral left over from liquidations. When a liquidated trove is worth more than its debt plus penalty, the excess collateral is set aside here and credited to the former owner by the TroveManager; the owner later reclaims it through the BorrowerOperations. It only ever holds these unclaimed surpluses.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xba4A2bD8b76DF84CaC98eBa3f4b967D8423192bF#code"
},
{
"name": "WETHPriceFeed",
"isVerified": true,
"address": "eth:0xCC5F8102eb670c89a4a3c567C13851260303c24F",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "The price source for the WETH branch: it reports the collateral's USD value by reading Chainlink's ETH/USD feed. Fetching the price is permissionless and happens on every branch operation. If that feed fails, meaning it reverts, returns a zero or negative answer, or has not updated within its 1d staleness window, the branch is permanently shut down and thereafter priced from the last value recorded while the feed was healthy.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xCC5F8102eb670c89a4a3c567C13851260303c24F#code"
},
{
"name": "FixedAssetReader_rETH",
"isVerified": true,
"address": "eth:0xcC77baf5706BDf7CFA7FefD5337833e2e1fd0d8e",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "A read-only accessor for the embedded font data used to draw the trove NFT image. It reads the raw bytes out of the FixedAssetData data contract (stored via the SSTORE2 pattern) and serves them to the MetadataNFT renderer. It holds no funds and changes no state.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xcC77baf5706BDf7CFA7FefD5337833e2e1fd0d8e#code"
},
{
"name": "StabilityPool_rETH",
"isVerified": true,
"address": "eth:0xd442E41019B7F5C4dD78F50dc03726C446148695",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "The branch's liquidation backstop. Anyone can deposit BOLD here, and those deposits are the first resource used to absorb liquidations: when a trove on this branch is liquidated, the pool burns BOLD to cancel an equal amount of that trove's debt and receives the corresponding collateral in return. Because that collateral is worth more than the debt cancelled, depositors generally come out ahead on each liquidation, and they also earn a share of the interest that branch borrowers pay. Deposits can be withdrawn at any time with no lock-up, as long as a small minimum is left so the pool can never be fully emptied.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xd442E41019B7F5C4dD78F50dc03726C446148695#code"
},
{
"name": "DefaultPool_WETH",
"isVerified": true,
"address": "eth:0xD4558240d50C2E219a21c9d25afD513Bb6e5B1A0",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "The counterpart to the ActivePool that holds only what is pending redistribution. When a liquidation cannot be fully covered by the StabilityPool, the liquidated trove's collateral and debt are spread across the remaining troves, and until each of those troves actually realizes its share this pool holds it: the redistributed collateral as real tokens, and the redistributed debt as a bookkeeping figure (no BOLD is kept here). When a trove is next touched and its pending share is applied, that collateral and debt move out of here into the ActivePool. Only the branch's TroveManager (which adjusts the recorded debt and moves collateral out to the ActivePool) and the ActivePool (which moves collateral in) can touch it.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xD4558240d50C2E219a21c9d25afD513Bb6e5B1A0#code"
},
{
"name": "DefaultPool_wstETH",
"isVerified": true,
"address": "eth:0xD796e1648526400386CC4d12FA05E5F11e6a22A1",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "The counterpart to the ActivePool that holds only what is pending redistribution. When a liquidation cannot be fully covered by the StabilityPool, the liquidated trove's collateral and debt are spread across the remaining troves, and until each of those troves actually realizes its share this pool holds it: the redistributed collateral as real tokens, and the redistributed debt as a bookkeeping figure (no BOLD is kept here). When a trove is next touched and its pending share is applied, that collateral and debt move out of here into the ActivePool. Only the branch's TroveManager (which adjusts the recorded debt and moves collateral out to the ActivePool) and the ActivePool (which moves collateral in) can touch it.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xD796e1648526400386CC4d12FA05E5F11e6a22A1#code"
},
{
"name": "WSTETHPriceFeed",
"isVerified": true,
"address": "eth:0xe7Aa2Ba9E086A379d3beb224098bC634a46e314E",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "The price source for the wstETH branch. It builds the wstETH/USD price from two inputs: Chainlink's stETH/USD feed and the wstETH-to-stETH exchange rate reported by the wstETH token. Fetching the price is permissionless and happens on every branch operation. A Chainlink feed is treated as failed if it reverts, returns a non-positive answer, or has not updated within its 1d staleness window. If the exchange rate or the ETH/USD reference feed fails the branch is permanently shut down and priced from its last healthy value; if only the stETH/USD feed fails, the branch shuts down but keeps pricing from the ETH/USD feed and the exchange rate.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xe7Aa2Ba9E086A379d3beb224098bC634a46e314E#code"
},
{
"name": "BorrowerOperations_rETH",
"isVerified": true,
"address": "eth:0xe8119fC02953B27a1b48D2573855738485A17329",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "User-facing entry point of a single collateral branch. Borrowers open, adjust, and close troves here (depositing or withdrawing collateral and drawing or repaying BOLD), set their interest rate directly or by joining an interest-rate batch, and delegate trove management. It mints and burns BOLD as debt is drawn and repaid, and enforces the branch's collateral-ratio rules. A trove becomes liquidatable once its individual collateral ratio falls below the Minimum Collateral Ratio (MCR, 120%); troves managed by an interest-rate batch are held to the stronger MCR plus Batch Collateral Ratio buffer (BCR, 10%). While the branch's total collateral ratio is below the Critical Collateral Ratio (CCR, 160%) the branch is in restricted mode and borrowing operations that would lower it further are blocked. Anyone can shut the branch down once its total collateral ratio falls below the Shutdown Collateral Ratio (SCR, 120%), and it also shuts down automatically if the price feed reports a failure of one of its oracles.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xe8119fC02953B27a1b48D2573855738485A17329#code"
},
{
"name": "ActivePool_WETH",
"isVerified": true,
"address": "eth:0xeB5A8C825582965f1d84606E078620a84ab16AfE",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "The branch's collateral vault and interest engine. It custodies the collateral of every active trove on this branch and tracks the branch's aggregate BOLD debt. Collateral only moves in or out on instruction from the branch's own contracts (the BorrowerOperations, TroveManager, StabilityPool, and DefaultPool). It is also where borrower interest is realized: when the branch's aggregate interest is settled, the newly accrued amount is minted as fresh BOLD and split, with 75% going to the StabilityPool as depositor yield and the remainder to the InterestRouter.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xeB5A8C825582965f1d84606E078620a84ab16AfE#code"
},
{
"name": "CollSurplusPool_WETH",
"isVerified": true,
"address": "eth:0xedbE2509E502c0320D2e7f8b6746a49b4B50E2bF",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Holds the collateral left over from liquidations. When a liquidated trove is worth more than its debt plus penalty, the excess collateral is set aside here and credited to the former owner by the TroveManager; the owner later reclaims it through the BorrowerOperations. It only ever holds these unclaimed surpluses.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xedbE2509E502c0320D2e7f8b6746a49b4B50E2bF#code"
},
{
"name": "HintHelpers",
"isVerified": true,
"address": "eth:0xF0caE19C96E572234398d6665cC1147A16cBe657",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "A read-only helper for locating where a trove sits in a branch's interest-rate ordering. Off-chain callers use it to compute the position hints that keep opening and adjusting troves gas-efficient. It holds no funds and changes no state.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xF0caE19C96E572234398d6665cC1147A16cBe657#code"
},
{
"name": "FixedAssetData_wstETH",
"isVerified": true,
"address": "eth:0xf4a3fE99227F6060e4C1c62b557EEE050B6483E4",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"references": [
{
"title": "Source Code",
"url": "https://github.com/liquity/bold/tree/main/contracts/utils/assets"
}
],
"description": "A data contract holding the raw asset bytes (an embedded font and the collateral logos) used to render the trove NFT image. The bytes are stored as the contract's own bytecode via the SSTORE2 pattern rather than as executable code, so it has no logic and no Solidity source; the FixedAssetReader slices out the assets it needs.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xf4a3fE99227F6060e4C1c62b557EEE050B6483E4#code"
},
{
"name": "CollateralRegistry",
"isVerified": true,
"address": "eth:0xf949982B91C8c61e952B3bA942cbbfaef5386684",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "The protocol's redemption hub and the registry of its collateral branches: it stores only the address of each branch's collateral token and TroveManager, 3 branches in all, fixed at construction, and custodies no funds itself. Redemption is what keeps BOLD near its dollar peg. Anyone can hand in BOLD and receive an equal dollar value of collateral drawn from the branches, so whenever BOLD trades below a dollar it becomes profitable to buy it up and redeem it. Each redemption is spread across the branches in proportion to their unbacked debt, meaning the debt a branch has not covered with Stability Pool deposits, so redemptions land hardest on the branches whose Stability Pools back them the least; a branch is skipped if it has been shut down or its total collateral ratio has fallen below the shutdown threshold. The redeemer pays a fee taken from the collateral they receive, set by a base rate that jumps up with the size of the redemption relative to total BOLD supply and decays back down over time, but never below a 0.5% floor.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xf949982B91C8c61e952B3bA942cbbfaef5386684#code"
},
{
"name": "MultiTroveGetter",
"isVerified": true,
"address": "eth:0xFA61dB085510C64B83056Db3A7Acf3b6f631D235",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "A read-only helper that returns trove data in bulk, so front-ends and indexers can page through a branch's troves in a single call. It holds no funds and changes no state.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xFA61dB085510C64B83056Db3A7Acf3b6f631D235#code"
},
{
"name": "Chainlink_stETH_USD_Aggregator",
"isVerified": true,
"address": "eth:0x26f196806f43E88FD27798C9e3fb8fdF4618240f",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "A Chainlink OCR2 aggregator producing a price feed. Each update is the median of a report signed by a quorum (f+1) of its signers and relayed onchain by one of its transmitters, accepted only within a fixed min/max band. A colluding signer quorum can move the reported price anywhere within that band, while a transmitter only relays an already-signed report. Its owner sets the signer and transmitter sets and the quorum size, so it controls who can report the price.\n* Roles:\n * **getTransmitters**: ChainlinkAuthorizedForwarder\n * **ocrConfig**: EOA 12, EOA 2, EOA 21, EOA 22, EOA 23, EOA 25, EOA 28, EOA 29, EOA 3, EOA 30, EOA 31, EOA 32, EOA 33, EOA 34, EOA 35, EOA 37, EOA 39, EOA 6, EOA 9\n * **owner**: ChainlinkOracleMultisig",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x26f196806f43E88FD27798C9e3fb8fdF4618240f#code"
},
{
"name": "ConfirmedTransactionModule",
"isVerified": true,
"address": "eth:0x2e1B5a40Edc922bCE489668b11749B8eAbd67f6b",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x2e1B5a40Edc922bCE489668b11749B8eAbd67f6b#code"
},
{
"name": "Chainlink_rETH_ETH",
"isVerified": true,
"address": "eth:0x536218f9E9Eb48863970252233c8F271f554C2d0",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "A Chainlink RETH / ETH price-feed proxy. It forwards price reads to a current aggregator and lets its owner propose then confirm a replacement aggregator, so whoever owns it can swap the price source behind the feed. It holds no funds and does no aggregation of its own.\n* Roles:\n * **owner**: ChainlinkOracleMultisig",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x536218f9E9Eb48863970252233c8F271f554C2d0#code"
},
{
"name": "Chainlink_ETH_USD",
"isVerified": true,
"address": "eth:0x5f4eC3Df9cbd43714FE2740f5E3616155c5b8419",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "A Chainlink ETH / USD price-feed proxy. It forwards price reads to a current aggregator and lets its owner propose then confirm a replacement aggregator, so whoever owns it can swap the price source behind the feed. It holds no funds and does no aggregation of its own.\n* Roles:\n * **owner**: ChainlinkOracleMultisig",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x5f4eC3Df9cbd43714FE2740f5E3616155c5b8419#code"
},
{
"name": "Chainlink_ETH_USD_Aggregator",
"isVerified": true,
"address": "eth:0x7d4E742018fb52E48b08BE73d041C18B21de6Fb5",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "A Chainlink OCR2 aggregator producing a price feed. Each update is the median of a report signed by a quorum (f+1) of its signers and relayed onchain by one of its transmitters, accepted only within a fixed min/max band. A colluding signer quorum can move the reported price anywhere within that band, while a transmitter only relays an already-signed report. Its owner sets the signer and transmitter sets and the quorum size, so it controls who can report the price.\n* Roles:\n * **getTransmitters**: ChainlinkAuthorizedForwarder\n * **ocrConfig**: EOA 1, EOA 11, EOA 13, EOA 14, EOA 15, EOA 16, EOA 17, EOA 18, EOA 19, EOA 2, EOA 20, EOA 22, EOA 23, EOA 24, EOA 25, EOA 26, EOA 27, EOA 28, EOA 29, EOA 3, EOA 30, EOA 33, EOA 34, EOA 35, EOA 36, EOA 37, EOA 38, EOA 4, EOA 5, EOA 7, EOA 8\n * **owner**: ChainlinkOracleMultisig",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x7d4E742018fb52E48b08BE73d041C18B21de6Fb5#code"
},
{
"name": "Chainlink_rETH_ETH_Aggregator",
"isVerified": true,
"address": "eth:0xc77904CD2CA0806CC3DB0819E9630FF3e2f6093d",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "A Chainlink OCR2 aggregator producing a price feed. Each update is the median of a report signed by a quorum (f+1) of its signers and relayed onchain by one of its transmitters, accepted only within a fixed min/max band. A colluding signer quorum can move the reported price anywhere within that band, while a transmitter only relays an already-signed report. Its owner sets the signer and transmitter sets and the quorum size, so it controls who can report the price.\n* Roles:\n * **getTransmitters**: ChainlinkAuthorizedForwarder\n * **ocrConfig**: EOA 1, EOA 10, EOA 11, EOA 12, EOA 14, EOA 2, EOA 20, EOA 21, EOA 23, EOA 25, EOA 32, EOA 33, EOA 38, EOA 5, EOA 7, EOA 9\n * **owner**: ChainlinkOracleMultisig",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xc77904CD2CA0806CC3DB0819E9630FF3e2f6093d#code"
},
{
"name": "Chainlink_stETH_USD",
"isVerified": true,
"address": "eth:0xCfE54B5cD566aB89272946F602D76Ea879CAb4a8",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "A Chainlink STETH / USD price-feed proxy. It forwards price reads to a current aggregator and lets its owner propose then confirm a replacement aggregator, so whoever owns it can swap the price source behind the feed. It holds no funds and does no aggregation of its own.\n* Roles:\n * **owner**: ChainlinkOracleMultisig",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xCfE54B5cD566aB89272946F602D76Ea879CAb4a8#code"
}
]
},
"risks": []
}
+1 -1
{
"baseTimestamp": 1786539815,
"baseTimestamp": 1786960649,
"contractsDiscoDriven": false,
"hasDiscoUi": false,
"isDiscoDriven": false,
"permissionsDiscoDriven": false
}
+3 -3
+1 -1
{
"attributes": [
{
"id": "zk",
"label": "ZK",
"description": "Uses zero-knowledge proofs to prove private actions without revealing private data."
},
{
"id": "transfers",
"label": "Transfers",
"description": "Private transfers within the shielded pool."
},
{
"id": "defi",
"label": "DeFi",
"description": "Interop with DeFi (swaps, vaults) from within the shielded pool."
},
{
"id": "anyAmount",
"label": "Any amount",
"description": "Deposits and withdrawals can have any size."
}
],
"exitWindow": {
"value": "7d",
"sentiment": "warning",
"orderHint": 604800,
"description": "DAO-approved upgrades wait 7d before they can execute, giving users time to unshield funds if they do not approve the change.",
"walkawayTest": {
"passed": true
}
},
"privacy": {
"value": "Optional compliance",
"sentiment": "good",
"description": "Compliance is optional at the core protocol level: users can create proofs of innocence to disassociate deposits from flagged addresses, and relayers can choose to require them."
},
"reproducibility": {
"value": "Reproducible",
"sentiment": "good",
"description": "The contracts, circuits, and supporting software needed to participate in the protocol are publicly available and can be run locally."
},
"riskSummary": "## Funds can be stolen if\n1. the zk proof system is broken, allowing invalid spends or withdrawals.\n2. the [trusted setup](#trusted-setups) is compromised or all ceremony participants collude, allowing invalid spends or withdrawals.\n3. the DAO passes a malicious [upgrade](#upgrades-and-governance) and users do not react before the 7-day execution delay expires.\n
\n## Funds can be lost if\n1. a user loses the private keys required to control their private balance.\n
\n## Privacy can be lost if\n1. no broadcaster is available and transactions must be sent from a public address that can be linked to the user.",
"tokens": [
{
"token": {
"address": "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2",
"iconUrl": "https://assets.coingecko.com/coins/images/2518/large/weth.png?1696503332",
"symbol": "WETH",
"decimals": 18,
"priceId": "weth",
"sinceTimestamp": 1573689600
},
"buckets": [
{
"id": "railgun-WETH",
"type": "pool",
"label": "WETH",
"address": "eth:0xFA7093CDD9EE6932B4eb2c9e1cde7CE00B1FA4b9",
"sinceTimestamp": 1651422389,
"deposit": {
"event": "0x3a5b9dc26075a3801a6ddccf95fec485bb7500a91b44cec1add984c21ee6db3b",
"extractor": "railgunShield",
"params": {
"tokenAddress": "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2"
}
},
"withdrawal": {
"event": "0xd93cf895c7d5b2cd7dc7a098b678b3089f37d91f48d9b83a0800a91cbdf05284",
"extractor": "railgunUnshield",
"params": {
"tokenAddress": "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2"
}
}
}
]
},
{
"token": {
"address": "0xdAC17F958D2ee523a2206206994597C13D831ec7",
"iconUrl": "https://assets.coingecko.com/coins/images/325/large/Tether.png?1696501661",
"symbol": "USDT",
"decimals": 6,
"priceId": "tether",
"sinceTimestamp": 1573689600
},
"buckets": [
{
"id": "railgun-USDT",
"type": "pool",
"label": "USDT",
"address": "eth:0xFA7093CDD9EE6932B4eb2c9e1cde7CE00B1FA4b9",
"sinceTimestamp": 1651422389,
"deposit": {
"event": "0x3a5b9dc26075a3801a6ddccf95fec485bb7500a91b44cec1add984c21ee6db3b",
"extractor": "railgunShield",
"params": {
"tokenAddress": "0xdAC17F958D2ee523a2206206994597C13D831ec7"
}
},
"withdrawal": {
"event": "0xd93cf895c7d5b2cd7dc7a098b678b3089f37d91f48d9b83a0800a91cbdf05284",
"extractor": "railgunUnshield",
"params": {
"tokenAddress": "0xdAC17F958D2ee523a2206206994597C13D831ec7"
}
}
}
]
},
{
"token": {
"address": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
"iconUrl": "https://assets.coingecko.com/coins/images/6319/large/usdc.png?1696506694",
"symbol": "USDC",
"decimals": 6,
"priceId": "usd-coin",
"sinceTimestamp": 1573689600
},
"buckets": [
{
"id": "railgun-USDC",
"type": "pool",
"label": "USDC",
"address": "eth:0xFA7093CDD9EE6932B4eb2c9e1cde7CE00B1FA4b9",
"sinceTimestamp": 1651422389,
"deposit": {
"event": "0x3a5b9dc26075a3801a6ddccf95fec485bb7500a91b44cec1add984c21ee6db3b",
"extractor": "railgunShield",
"params": {
"tokenAddress": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48"
}
},
"withdrawal": {
"event": "0xd93cf895c7d5b2cd7dc7a098b678b3089f37d91f48d9b83a0800a91cbdf05284",
"extractor": "railgunUnshield",
"params": {
"tokenAddress": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48"
}
}
}
]
},
{
"token": {
"address": "0x6B175474E89094C44Da98b954EedeAC495271d0F",
"iconUrl": "https://assets.coingecko.com/coins/images/9956/large/Badge_Dai.png?1696509996",
"symbol": "DAI",
"decimals": 18,
"priceId": "dai",
"sinceTimestamp": 1574121600
},
"buckets": [
{
"id": "railgun-DAI",
"type": "pool",
"label": "DAI",
"address": "eth:0xFA7093CDD9EE6932B4eb2c9e1cde7CE00B1FA4b9",
"sinceTimestamp": 1651422389,
"deposit": {
"event": "0x3a5b9dc26075a3801a6ddccf95fec485bb7500a91b44cec1add984c21ee6db3b",
"extractor": "railgunShield",
"params": {
"tokenAddress": "0x6B175474E89094C44Da98b954EedeAC495271d0F"
}
},
"withdrawal": {
"event": "0xd93cf895c7d5b2cd7dc7a098b678b3089f37d91f48d9b83a0800a91cbdf05284",
"extractor": "railgunUnshield",
"params": {
"tokenAddress": "0x6B175474E89094C44Da98b954EedeAC495271d0F"
}
}
}
]
},
{
"token": {
"address": "0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599",
"iconUrl": "https://assets.coingecko.com/coins/images/7598/large/wrapped_bitcoin_wbtc.png?1696507857",
"symbol": "WBTC",
"decimals": 8,
"priceId": "wrapped-bitcoin",
"sinceTimestamp": 1573689600
},
"buckets": [
{
"id": "railgun-WBTC",
"type": "pool",
"label": "WBTC",
"address": "eth:0xFA7093CDD9EE6932B4eb2c9e1cde7CE00B1FA4b9",
"sinceTimestamp": 1651422389,
"deposit": {
"event": "0x3a5b9dc26075a3801a6ddccf95fec485bb7500a91b44cec1add984c21ee6db3b",
"extractor": "railgunShield",
"params": {
"tokenAddress": "0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599"
}
},
"withdrawal": {
"event": "0xd93cf895c7d5b2cd7dc7a098b678b3089f37d91f48d9b83a0800a91cbdf05284",
"extractor": "railgunUnshield",
"params": {
"tokenAddress": "0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599"
}
}
}
]
},
{
"token": {
"address": "0x85F17Cf997934a597031b2E18a9aB6ebD4B9f6a4",
"iconUrl": "https://coin-images.coingecko.com/coins/images/71681/large/near.png?1768905174",
"symbol": "NEAR",
"decimals": 24,
"priceId": "rainbow-bridged-near-ethereum",
"sinceTimestamp": 1768867200
},
"buckets": [
{
"id": "railgun-NEAR",
"type": "pool",
"label": "NEAR",
"address": "eth:0xFA7093CDD9EE6932B4eb2c9e1cde7CE00B1FA4b9",
"sinceTimestamp": 1768867200,
"deposit": {
"event": "0x3a5b9dc26075a3801a6ddccf95fec485bb7500a91b44cec1add984c21ee6db3b",
"extractor": "railgunShield",
"params": {
"tokenAddress": "0x85F17Cf997934a597031b2E18a9aB6ebD4B9f6a4"
}
},
"withdrawal": {
"event": "0xd93cf895c7d5b2cd7dc7a098b678b3089f37d91f48d9b83a0800a91cbdf05284",
"extractor": "railgunUnshield",
"params": {
"tokenAddress": "0x85F17Cf997934a597031b2E18a9aB6ebD4B9f6a4"
}
}
}
]
},
{
"token": {
"address": "0x6f40d4A6237C257fff2dB00FA0510DeEECd303eb",
"iconUrl": "https://coin-images.coingecko.com/coins/images/14688/large/Logo_1_%28brighter%29.png?1734430693",
"symbol": "FLUID",
"decimals": 18,
"priceId": "instadapp",
"sinceTimestamp": 1623801600
},
"buckets": [
{
"id": "railgun-FLUID",
"type": "pool",
"label": "FLUID",
"address": "eth:0xFA7093CDD9EE6932B4eb2c9e1cde7CE00B1FA4b9",
"sinceTimestamp": 1651422389,
"deposit": {
"event": "0x3a5b9dc26075a3801a6ddccf95fec485bb7500a91b44cec1add984c21ee6db3b",
"extractor": "railgunShield",
"params": {
"tokenAddress": "0x6f40d4A6237C257fff2dB00FA0510DeEECd303eb"
}
},
"withdrawal": {
"event": "0xd93cf895c7d5b2cd7dc7a098b678b3089f37d91f48d9b83a0800a91cbdf05284",
"extractor": "railgunUnshield",
"params": {
"tokenAddress": "0x6f40d4A6237C257fff2dB00FA0510DeEECd303eb"
}
}
}
]
},
{
"token": {
"address": "0xe76C6c83af64e4C60245D8C7dE953DF673a7A33D",
"iconUrl": "https://coin-images.coingecko.com/coins/images/16840/large/railgun.jpeg?1696516407",
"symbol": "RAIL",
"decimals": 18,
"priceId": "railgun",
"sinceTimestamp": 1625270400
},
"buckets": [
{
"id": "railgun-RAIL",
"type": "pool",
"label": "RAIL",
"address": "eth:0xFA7093CDD9EE6932B4eb2c9e1cde7CE00B1FA4b9",
"sinceTimestamp": 1651422389,
"deposit": {
"event": "0x3a5b9dc26075a3801a6ddccf95fec485bb7500a91b44cec1add984c21ee6db3b",
"extractor": "railgunShield",
"params": {
"tokenAddress": "0xe76C6c83af64e4C60245D8C7dE953DF673a7A33D"
}
},
"withdrawal": {
"event": "0xd93cf895c7d5b2cd7dc7a098b678b3089f37d91f48d9b83a0800a91cbdf05284",
"extractor": "railgunUnshield",
"params": {
"tokenAddress": "0xe76C6c83af64e4C60245D8C7dE953DF673a7A33D"
}
}
}
]
}
],
"upgradesAndGovernance": {
"content": "Railgun features an omnipotent DAO governed by the stakers of the RAIL token. The DAO has the authority to change ZK circuit logic on the core Railgun contract, which can arbitrarily change the rules for shielded tokens; as well as manage blacklisted tokens, mint RAIL tokens and manage governance rewards. See docs here: ",
"governanceInfo": {
"upgrades": {
"Normal upgrade path": "Create a proposal with an IPFS link and onchain calldata in the [Voting contract](https://etherscan.io/address/0xc480F68A3dcC3EdD82134FAB45C14A0FcF1dA3CC) → collect **500 K RAIL** sponsorship within 1mo → wait 2d → cast Yay votes within 5d and Nay votes within 6d → pass with a simple majority and **2.00 M RAIL** quorum → wait 7d → permissionless execution through the Delegator within 14d.",
"Exit window": "**7d** — a passed proposal must wait this long before it can be executed, giving users time to unshield funds."
},
"tokenGovernance": {
"Governance token": "`RAIL` 1 token = 1 vote, delegated. Total supply: **60.00 M RAIL**, DAO-owned treasury (unavailable for voting): **2.62 M RAIL**, staked for voting: **41.13 M RAIL**, the rest is circulating supply.",
"Governance token": "`RAIL` 1 token = 1 vote, delegated. Total supply: **60.00 M RAIL**, DAO-owned treasury (unavailable for voting): **2.51 M RAIL**, staked for voting: **41.16 M RAIL**, the rest is circulating supply.",
"Stake lock": "Unstaking has **1mo** delay.",
"Voting venue": "[Voting contract](https://etherscan.io/address/0xc480F68A3dcC3EdD82134FAB45C14A0FcF1dA3CC) on Ethereum. Proposal text is distributed over IPFS, its CID is available as a parameter of `createPropsal()` call on the voting contract.",
"Proposal threshold": "**No threshold to create a proposal.** A proposal must receive sponsorship from **500 K RAIL** stake within 1mo.",
"Quorum": "**2.00 M RAIL**, with a simple majority required for acceptance.",
"Execution model": "**Onchain calldata · Permissionless execution through the Delegator.** A passed proposal waits 7d, after which anyone can execute it through the [Delegator contract](https://etherscan.io/address/0xB6d513f6222Ee92Fff975E901bd792E2513fB53B) within 14d."
}
}
}
}
+1 -1
{
"addresses": {
"ethereum": [
{
"name": "Treasury",
"isVerified": true,
"address": "eth:0xE8A8B458BcD1Ececc6b6b58F80929b29cCecFF40",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x4F8E20f55f879beE7Bc010Bd6bD2138B34aC65c8"
],
"implementations": [
"eth:0xA092c7577354EA82a6c7e55B423c3DD80f0dF255"
]
},
"chain": "ethereum",
"pastUpgrades": [],
"description": "Collects Railgun fees. Managed through access control roles.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Voting\n * **defaultAdminRoleMembers**: Delegator; ultimately Voting\n * **transferRoleMembers**: Delegator, GovernorRewards, IntervalPayouts, LegacySweeper; ultimately Voting",
"upgradableBy": [
{
"name": "Voting",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xE8A8B458BcD1Ececc6b6b58F80929b29cCecFF40#code"
},
{
"name": "RailgunSmartWallet",
"isVerified": true,
"address": "eth:0xFA7093CDD9EE6932B4eb2c9e1cde7CE00B1FA4b9",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x4F8E20f55f879beE7Bc010Bd6bD2138B34aC65c8"
],
"implementations": [
"eth:0xB4F2d77bD12c6b548Ae398244d7FAD4ABCE4D89b"
"eth:0xD662C4B1F22AcEb0BEaCdf3A493De6f478686A0C"
]
},
"chain": "ethereum",
"pastUpgrades": [],
"description": "Main system contract and escrow that accepts shielded deposits, verifies private transactions and unshields, and maintains the commitment tree.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Voting\n * **owner**: Delegator; ultimately Voting",
"upgradableBy": [
{
"name": "Voting",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xFA7093CDD9EE6932B4eb2c9e1cde7CE00B1FA4b9#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "eth:0x4F8E20f55f879beE7Bc010Bd6bD2138B34aC65c8",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Admin interface for Railgun's pausable upgradeable proxies. It does not hold funds, but its controller can operate every proxy attached to it.\n* Roles:\n * **owner**: Delegator",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x4F8E20f55f879beE7Bc010Bd6bD2138B34aC65c8#code"
},
{
"name": "VerificationKeySetter_64DA",
"isVerified": true,
"address": "eth:0x64DA0892E8E24fECa6Eb5E3D8cbf2D9b6Fbe7598",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Auxiliary verifier-key staging contract. Its owner stores replacement verification keys locally and, if Railgun governance switches the contract into COMMITTING state, can register the new keys in the Railgun smart wallet verifier.\n* Roles:\n * **delegator**: Delegator; ultimately Voting\n * **owner**: EOA 2",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x64DA0892E8E24fECa6Eb5E3D8cbf2D9b6Fbe7598#code"
},
{
"name": "VerificationKeySetter_9086",
"isVerified": true,
"address": "eth:0x9086aFC6FC88667d4031Cabd556AfDD0E3903B46",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Auxiliary verifier-key staging contract. Its owner stores replacement verification keys locally and, if Railgun governance switches the contract into COMMITTING state, can register the new keys in the Railgun smart wallet verifier.\n* Roles:\n * **delegator**: Delegator; ultimately Voting\n * **owner**: EOA 1",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x9086aFC6FC88667d4031Cabd556AfDD0E3903B46#code"
},
{
"name": "GovernorRewards",
"isVerified": true,
"address": "eth:0xA02782CE1bF85f56f8cC7C0E66e61299Ac75c86f",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x4F8E20f55f879beE7Bc010Bd6bD2138B34aC65c8"
],
"implementations": [
"eth:0xaC76eB94703b16e704f76ECFFDADF36b6A53ECDB"
]
},
"chain": "ethereum",
"pastUpgrades": [],
"description": "Reward distributor that pulls assets from the Railgun treasury and allocates them to stakers via token voting.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Voting\n * **owner**: Delegator; ultimately Voting",
"upgradableBy": [
{
"name": "Voting",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xA02782CE1bF85f56f8cC7C0E66e61299Ac75c86f#code"
},
{
"name": "LegacySweeper",
"isVerified": true,
"address": "eth:0xa353bC0454931Ac46fd90c8EF27f908Ab9E34686",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xB6d513f6222Ee92Fff975E901bd792E2513fB53B"
],
"implementations": [
"eth:0x9b1310BdCC19D172D0092240e33209a9156c8EE2"
]
},
"chain": "ethereum",
"pastUpgrades": [],
"description": "Older Railgun sweeper generation that still holds Treasury transfer rights. It is upgradeable and forwards balances to an immutable receiver.\n* Roles:\n * **admin**: Delegator; ultimately Voting",
"upgradableBy": [
{
"name": "Voting",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xa353bC0454931Ac46fd90c8EF27f908Ab9E34686#code"
},
{
"name": "Delegator",
"isVerified": true,
"address": "eth:0xB6d513f6222Ee92Fff975E901bd792E2513fB53B",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Permission router proxy owned by Railgun governance.\n* Roles:\n * **owner**: Voting\n * **verificationKeyDelegates**: VerificationKeySetter_64DA, VerificationKeySetter_9086",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xB6d513f6222Ee92Fff975E901bd792E2513fB53B#code"
},
{
"name": "Rail Token",
"isVerified": true,
"address": "eth:0xe76C6c83af64e4C60245D8C7dE953DF673a7A33D",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "RAIL governance token contract with a capped (100,000,000 RAIL total supply) mint schedule and an early anti-bot transfer override.\n* Roles:\n * **owner**: Delegator; ultimately Voting",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xe76C6c83af64e4C60245D8C7dE953DF673a7A33D#code"
},
{
"name": "Staking",
"isVerified": true,
"address": "eth:0xEE6A649Aa3766bD117e12C161726b693A1B2Ee20",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "RAIL staking contract that tracks delegated voting power, enforces a 1mo unstake delay, and snapshots staking balances for governance every 1d. Its parameters define the governance voting system.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xEE6A649Aa3766bD117e12C161726b693A1B2Ee20#code"
},
{
"name": "IntervalPayouts",
"isVerified": true,
"address": "eth:0x29905A43aA3865D0D7F2743dDE63754B4aa9CA11",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Immutable payout stream that can pull a fixed amount of a configured asset from the Railgun treasury to a fixed beneficiary whenever the next interval is due.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x29905A43aA3865D0D7F2743dDE63754B4aa9CA11#code"
},
{
"name": "GovernorRewardsSweeper",
"isVerified": true,
"address": "eth:0x2eCa05b128bF5cbd5A73CC4BB625B51131FF119B",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x76EB574EFF49FB64DE6f7F2854952B05B5E24624"
],
"implementations": [
"eth:0x2ea76A3c4795DD1a5d206B285fD21b2Fb83EAf1a"
]
},
"chain": "ethereum",
"pastUpgrades": [],
"description": "Helper that forwards all ETH or ERC20 balances it holds to a fixed receiver.\n* Roles:\n * **admin**: EOA 1",
"upgradableBy": [
{
"id": "EOA-1",
"name": "EOA 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x2eCa05b128bF5cbd5A73CC4BB625B51131FF119B#code"
},
{
"name": "IntervalPayouts",
"isVerified": true,
"address": "eth:0x7673e2E62435D25EDBcb58fD0d88c4C95806b10F",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Immutable payout stream that can pull a fixed amount of a configured asset from the Railgun treasury to a fixed beneficiary whenever the next interval is due.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x7673e2E62435D25EDBcb58fD0d88c4C95806b10F#code"
},
{
"name": "IntervalPayouts",
"isVerified": true,
"address": "eth:0x859E0C1790b8a721F4943742603cDB685A73BA5D",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Immutable payout stream that can pull a fixed amount of a configured asset from the Railgun treasury to a fixed beneficiary whenever the next interval is due.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x859E0C1790b8a721F4943742603cDB685A73BA5D#code"
},
{
"name": "IntervalPayouts",
"isVerified": true,
"address": "eth:0xa863262Bf5E97e8CFeC47a71402aC360C0983060",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Immutable payout stream that can pull a fixed amount of a configured asset from the Railgun treasury to a fixed beneficiary whenever the next interval is due.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xa863262Bf5E97e8CFeC47a71402aC360C0983060#code"
},
{
"name": "IntervalPayouts",
"isVerified": true,
"address": "eth:0xCA9A2894e814305fAfc2BA83a70B34295b1DdE9D",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Immutable payout stream that can pull a fixed amount of a configured asset from the Railgun treasury to a fixed beneficiary whenever the next interval is due.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xCA9A2894e814305fAfc2BA83a70B34295b1DdE9D#code"
},
{
"name": "Getters",
"isVerified": true,
"address": "eth:0xe90275239D734899e8D94646139213F6F97bEB0E",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Read-only helper contract that batches governance snapshot and reward-view calls.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xe90275239D734899e8D94646139213F6F97bEB0E#code"
},
{
"name": "IntervalPayouts",
"isVerified": true,
"address": "eth:0xf5F9d74FbFd04801DFf83425ff6C2002f60B921A",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Immutable payout stream that can pull a fixed amount of a configured asset from the Railgun treasury to a fixed beneficiary whenever the next interval is due.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xf5F9d74FbFd04801DFf83425ff6C2002f60B921A#code"
},
{
"name": "RelayAdapt",
"isVerified": true,
"address": "eth:0xAc9f360Ae85469B27aEDdEaFC579Ef2d052aD405",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Execution adapter contract for Railgun. To interact with public contracts from shielded pools, tokens are unshielded to RelayAdapter, which performs specified calls and shields tokens back to the same user.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xAc9f360Ae85469B27aEDdEaFC579Ef2d052aD405#code"
}
]
},
"risks": []
}
+1 -1
{
"baseTimestamp": 1785404669,
"baseTimestamp": 1786961539,
"contractsDiscoDriven": false,
"hasDiscoUi": false,
"isDiscoDriven": false,
"permissionsDiscoDriven": false
}
+69 -63
+1 -1
{
"dataAvailability": [
{
"name": "All data required for proofs is published on chain",
"description": "All the data that is used to construct the system state is published on chain in the form of blobs. This ensures that it will be available for enough time.",
"references": [],
"risks": []
}
],
"exitMechanisms": [
{
"name": "Regular exit",
"description": "The user initiates the withdrawal by submitting a regular transaction on this chain. When the block containing that transaction is finalized the funds become available for withdrawal on L1. Finally the user submits an L1 transaction to claim the funds. This transaction requires a merkle proof.",
"risks": [],
"references": []
}
],
"forceTransactions": {
"name": "Users can enqueue transactions",
"description": "Users can submit a forced inclusion directly to `MainnetInbox` on L1 by publishing a blob containing one L2 block manifest and calling `saveForcedInclusion()`.\nRequests are stored in a FIFO queue and cost a dynamic fee that starts at 0.001 ETH. The fee increases linearly with the queue size and doubles when 50 requests are pending.\nAfter 9m 36s, a request is due. Every subsequent proposal must process the due requests at the head of the queue, up to ten per proposal, before the proposer's own derivation source. This prevents an active proposer from advancing the chain while selectively skipping a due request.\nHowever, `propose()` still unconditionally checks `PreconfWhitelist`. The configured 1d 1h 36m permissionless inclusion threshold is not used, so users and other unpermissioned actors cannot process the queue themselves. If all whitelisted proposers stop, the queue and the whole chain stop progressing.",
"risks": [
{
"category": "Users can be censored if",
"text": "the operator is offline or refuses to process the queue."
}
],
"references": [
{
"title": "MainnetInbox.sol - Etherscan source code, saveForcedInclusion function",
"url": "https://etherscan.io/address/0x6f21C543a4aF5189eBdb0723827577e1EF57ef1f#code"
},
{
"title": "MainnetInbox.sol - Etherscan source code, propose function",
"url": "https://etherscan.io/address/0x6f21C543a4aF5189eBdb0723827577e1EF57ef1f#code"
}
]
},
"operator": {
"name": "The system uses whitelist-based sequencing and proving",
"description": "The system uses a whitelist-based sequencing mechanism to allow for fast preconfirmations on the L2. On the L1, batch proposing is permissioned through the `PreconfWhitelist` contract, which currently has 3 active operators registered.\nFor each epoch, `PreconfWhitelist` selects a single active operator that can propose to MainnetInbox. There is no fallback proposer path, and non-selected operators cannot propose for the current epoch.\nProving is controlled separately by `ProverWhitelist`, which currently has 2 whitelisted provers.\nWhile the prover whitelist is non-empty, non-whitelisted actors cannot submit proofs. MainnetInbox currently sets minBond=0 and livenessBond=0.\nProving a proposal range requires exactly two proofs and at least one of them must be a ZK proof. Accepted combinations are SGX (Geth or Reth) plus SP1 or RISC0, or SP1 plus RISC0.",
"description": "The system uses a whitelist-based sequencing mechanism to allow for fast preconfirmations on the L2. On the L1, batch proposing is permissioned through the `PreconfWhitelist` contract, which currently has 2 active operators registered.\nFor each epoch, `PreconfWhitelist` selects a single active operator that can propose to MainnetInbox. There is no fallback proposer path, and non-selected operators cannot propose for the current epoch.\nProving is controlled separately by `ProverWhitelist`, which currently has 2 whitelisted provers.\nWhile the prover whitelist is non-empty, non-whitelisted actors cannot submit proofs. MainnetInbox currently sets minBond=0 and livenessBond=0.\nProving a proposal range requires exactly two proofs and at least one of them must be a ZK proof. Accepted combinations are SGX (Geth or Reth) plus SP1 or RISC0, or SP1 plus RISC0.",
"references": [
{
"title": "MainnetInbox.sol - Etherscan source code, propose function",
"url": "https://etherscan.io/address/0x6f21C543a4aF5189eBdb0723827577e1EF57ef1f#code"
},
{
"title": "MainnetInbox.sol - Etherscan source code, prove function",
"url": "https://etherscan.io/address/0x6f21C543a4aF5189eBdb0723827577e1EF57ef1f#code"
},
{
"title": "PreconfWhitelist.sol - Etherscan source code",
"url": "https://etherscan.io/address/0xDBae46E35C18719E6c78aaBF9c8869c4eC84c149#code"
},
{
"title": "ProverWhitelist.sol - Etherscan source code",
"url": "https://etherscan.io/address/0xEa798547d97e345395dA071a0D7ED8144CD612Ae#code"
}
],
"risks": [
{
"category": "MEV can be extracted if",
"text": "the operator exploits their centralized position and frontruns user transactions."
}
]
},
"stateValidation": {
"categories": [
{
"title": "Validity proofs",
"description": "Taiko uses a multi-proof system to validate state transitions. Exactly two proofs are required from four available verifiers: SGX (Geth), SGX (Reth), SP1, and RISC0. At least one proof must come from SP1 or RISC0: accepted combinations are either SGX verifier plus either ZK verifier, or SP1 plus RISC0. An SGX-only pair is not accepted. New proposals target a proof submission cadence of 4h. Proving is currently centralized behind ProverWhitelist with 2 whitelisted provers. While the whitelist is non-empty, non-whitelisted actors cannot submit proofs, and the configured permissionless proving delay is not used to open proving. MainnetInbox currently sets minBond=0 and livenessBond=0.",
"references": [
{
"title": "MainnetInbox.sol - Etherscan source code, getConfig function",
"url": "https://etherscan.io/address/0x6f21C543a4aF5189eBdb0723827577e1EF57ef1f#code"
},
{
"title": "MainnetInbox.sol - Etherscan source code, prove function",
"url": "https://etherscan.io/address/0x6f21C543a4aF5189eBdb0723827577e1EF57ef1f#code"
},
{
"title": "ProverWhitelist.sol - Etherscan source code",
"url": "https://etherscan.io/address/0xEa798547d97e345395dA071a0D7ED8144CD612Ae#code"
},
{
"title": "ZkRequiredVerifier.sol - Etherscan source code",
"url": "https://etherscan.io/address/0x7284aaC05555Ae6559bdAd8B4221eC9584254Eec#code"
}
],
"risks": []
}
]
},
"upgradesAndGovernance": {
"content": "Taiko Alethia has a governance structure relying primarily on a 7/9 Security Council, checked by a token DAO that is limited to veto permissions. The closed operator whitelists are managed by the 4/6 Taiko Multisig and related EOAs. Governance proposals (both paths) hold all important upgrade and config permissions in the system.\n# Standard proposals\nA threshold of 5 approving Security Council members is required to forward a Standard proposal to the OptimisticTokenVotingPlugin contract. It can be vetoed by 10% of votable TAIKO tokens during a 10d public veto period. If not vetoed, a further 7d timelock applies before the proposal can be executed.\n# Emergency proposals\nEmergency proposals are encrypted at proposal time and can only be read by Security Council members. If approved by 7 Security Council members, they can be immediately decrypted and executed.\n\n# Proof system and operators\nThe proof system currently does not require zk proofs to validate state transitions and state can be finalized with SGX proofs only. The optional zk verifier contracts can be upgraded by Multisigs. Operator roles (sequencer, proposer) are closed and the whitelist is managed by the Taiko Multisig and related EOAs.",
"governanceInfo": {
"securityCouncil": {
"Composition": "**5/9 standard · 7/9 emergency** — 9-member signer set shared by custom Aragon OSx standard and emergency multisig plugins. Members were appointed by the Taiko team rather than elected and include Taiko Labs employees. Members can appoint EOA agents to act for them.",
"Members public": "**Mapped** — Taiko publishes a [member wallet-to-entity mapping](https://github.com/taikoxyz/dao-ui-mono/blob/main/packages/ui/src/data/security-council-profiles.json). The 9 current onchain members are Aragon, Chainbound, Drew Van der Werff, Gattaca, Taiko Labs, Halborn, L2BEAT, Nethermind, and Toni Wahrstätter. Each member wallet is mapped to its voting agent onchain.",
"Charter": "**No public charter** — the [DAO values](https://dao-docs.taiko.xyz/understanding-the-dao/taiko-dao-values/) define the council’s security mission and principles, while the [proposal guidelines](https://dao-docs.taiko.xyz/understanding-the-dao/proposal-guidelines/) restrict emergency proposals to protocol-security and integrity matters. Council selection, terms, conflicts, and accountability are not defined in a public charter.",
"Can bypass DAO?": "**Yes, for emergencies** — 7 Security Council approvals execute an encrypted proposal immediately, with no TAIKO-holder veto or delay. Standard proposals require 5 approvals and remain vetoable. The council controls most core upgrades but no longer has permissions over Treasury funds.",
"DAO can override SC?": "**No** — 10% of eligible TAIKO can block a standard proposal but never an emergency one. Token holders cannot create proposals, approve payloads, remove council members, or block emergency proposals; changing the signer list requires another council-approved proposal."
},
"upgrades": {
"Normal upgrade path": "Security Council member creates a public executable payload → 5 council approvals → **10d token-holder veto period** → if less than 10% of eligible TAIKO vetoes, **7d timelock** → permissionless execution of the approved onchain actions.",
"Emergency upgrade path": "**7 Security Council approvals, instant** — proposal metadata and actions stay encrypted while approvals are collected. A council member decrypts the payload, which is integrity-checked against the approved ciphertext and executed without a token-holder veto or timelock; its contents become public upon execution or expiry.",
"Exit window": "**17d standard · 0 emergency** — the standard path provides 10d of public vetoing followed by a 7d timelock. Emergency proposals bypass both."
},
"tokenGovernance": {
"Governance token": "`TAIKO` on Ethereum — 1,000,000,000 total supply, all minted at initialization; the current implementation has no further mint function. One delegated TAIKO equals one veto vote, snapshotted when the proposal is created. The Foundation treasury, DAO controller, canonical ERC20 vault, and zero address are excluded from eligible supply.",
"Voting venue": "[Taiko DAO](https://dao.taiko.xyz/) for onchain vetoes; proposals and temperature checks are discussed on the [Taiko forum](https://community.taiko.xyz/c/formal-governance-proposals-including-temperature-checks-drafts-and-proposals-for-on-chain-voting/9).",
"Proposal threshold": "**No TAIKO threshold** — only a Security Council member can create an onchain proposal. Community members can submit forum proposals, but a council member must sponsor the idea and supply the executable payload.",
"Quorum": "**No approval quorum; 10% veto threshold.** Standard proposals pass optimistically unless at least 10% of eligible TAIKO at the proposal snapshot vetoes. Unused and undelegated eligible tokens still count in the denominator.",
"Execution model": "**Council-gated optimistic veto + permissionless execution.** The Security Council approves the exact onchain actions. Token holders can only veto; if the threshold is not reached and the 7d timelock expires, anyone can call `execute()`. Emergency proposals skip the veto and delay."
}
}
}
}
+64 -58
{
"ethereum": {
"roles": [],
"actors": [
{
"id": "SignerList (Security Council)",
"name": "SignerList (Security Council)",
"description": "A Multisig with 7/9 threshold. \nA signer list for storing multisig members and their agents, stores the addresses of the Multisigs that use this signer list. Each signer delegates their permissions to their agent address that they can configure here.\n* Can upgrade **with 7d delay**\n * AutomataDcapV3Attestation [via: DAO with 7d delay (emergency proposals bypass the delay) → TaikoDAOController]\n * Taiko Token [via: DAO with 7d delay (emergency proposals bypass the delay) → TaikoDAOController]\n * MainnetInbox [via: DAO with 7d delay (emergency proposals bypass the delay) → TaikoDAOController]\n * TaikoDAOController [via: DAO with 7d delay (emergency proposals bypass the delay)]\n * AutomataDcapV3Attestation [via: DAO with 7d delay (emergency proposals bypass the delay) → TaikoDAOController]\n * DefaultResolver [via: DAO with 7d delay (emergency proposals bypass the delay) → TaikoDAOController]\n * MainnetERC20Vault [via: DAO with 7d delay (emergency proposals bypass the delay) → TaikoDAOController]\n * DAO [via: DAO with 7d delay (emergency proposals bypass the delay)]\n * SignalService [via: DAO with 7d delay (emergency proposals bypass the delay) → TaikoDAOController]\n * MainnetBridge [via: DAO with 7d delay (emergency proposals bypass the delay) → TaikoDAOController]\n * ProverWhitelist [via: DAO with 7d delay (emergency proposals bypass the delay) → TaikoDAOController]\n * TaikoDAOController [via: DAO with 7d delay (emergency proposals bypass the delay)]\n * PreconfWhitelist [via: DAO with 7d delay (emergency proposals bypass the delay) → TaikoDAOController]\n* Can interact with TaikoRisc0Verifier\n * manage trusted RISC Zero image IDs **with 7d delay** [via: DAO with 7d delay (emergency proposals bypass the delay) → TaikoDAOController]\n* Can interact with SignerList (Security Council)\n * add/remove members from the Security Council and change its minimum size **with 7d delay** [via: DAO with 7d delay (emergency proposals bypass the delay)]\n* Can interact with AutomataDcapV3Attestation\n * manage trusted SGX measurements, revoked certificate serial numbers, TCB info, QE identity, and local report checks **with 7d delay** [via: DAO with 7d delay (emergency proposals bypass the delay) → TaikoDAOController]\n* Can interact with EmergencyMultisig\n * manage critical settings (e.g. threshold and multisig settings) for the emergency proposal governance path **with 7d delay** [via: DAO with 7d delay (emergency proposals bypass the delay)]\n* Can interact with SecureSgxVerifier\n * add SGX instances without DCAP attestation and delete registered instances **with 7d delay** [via: DAO with 7d delay (emergency proposals bypass the delay) → TaikoDAOController]\n* Can interact with MainnetInbox\n * pause and unpause the rollup system, activate the inbox, and execute the one-time state recovery path **with 7d delay** [via: DAO with 7d delay (emergency proposals bypass the delay) → TaikoDAOController]\n* Can interact with TaikoSP1Verifier\n * manage trusted SP1 program verification keys **with 7d delay** [via: DAO with 7d delay (emergency proposals bypass the delay) → TaikoDAOController]\n* Can interact with AutomataDcapV3Attestation\n * manage trusted SGX measurements, revoked certificate serial numbers, TCB info, QE identity, and local report checks **with 7d delay** [via: DAO with 7d delay (emergency proposals bypass the delay) → TaikoDAOController]\n* Can interact with DefaultResolver\n * update the contract address registered for any chainId-name pair **with 7d delay** [via: DAO with 7d delay (emergency proposals bypass the delay) → TaikoDAOController]\n* Can interact with OptimisticTokenVotingPlugin\n * manage critical settings (e.g. thresholds, delays and proposal acceptance criteria) for all governance proposals **with 7d delay** [via: DAO with 7d delay (emergency proposals bypass the delay)]\n* Can interact with MainnetERC20Vault\n * pause and unpause token bridge flows and change the bridged token implementation for a canonical token after the migration delay **with 7d delay** [via: DAO with 7d delay (emergency proposals bypass the delay) → TaikoDAOController]\n* Can interact with DAO\n * define all permissions of the central DAO smart contract **with 7d delay** [via: DAO with 7d delay (emergency proposals bypass the delay)]\n* Can interact with SecureSgxVerifier\n * add SGX instances without DCAP attestation and delete registered instances **with 7d delay** [via: DAO with 7d delay (emergency proposals bypass the delay) → TaikoDAOController]\n* Can interact with SignalService\n * pause and unpause signal proof verification **with 7d delay** [via: DAO with 7d delay (emergency proposals bypass the delay) → TaikoDAOController]\n* Can interact with MainnetBridge\n * pause and unpause bridge message flows and execute one-time bridge recovery initializers **with 7d delay** [via: DAO with 7d delay (emergency proposals bypass the delay) → TaikoDAOController]\n* Can interact with Multisig\n * manage critical settings (e.g. threshold and multisig settings) for the standard proposal governance path **with 7d delay** [via: DAO with 7d delay (emergency proposals bypass the delay)]\n* Can interact with ProverWhitelist\n * manage the prover whitelist **with 7d delay** [via: DAO with 7d delay (emergency proposals bypass the delay) → TaikoDAOController]\n* Can interact with PreconfWhitelist\n * pause/unpause, add or remove operators, and manage ejecter roles **with 7d delay** [via: DAO with 7d delay (emergency proposals bypass the delay) → TaikoDAOController]",
"accounts": [
{
"address": "eth:0x0F95E6968EC1B28c794CF1aD99609431de5179c2",
"type": "Contract",
"isVerified": true,
"name": "0x0F95…79c2",
"url": "https://etherscan.io/address/0x0F95E6968EC1B28c794CF1aD99609431de5179c2"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0xAC5898b0FFFd23F4Ef09F0E50Fa1bC4896eF7163",
"type": "EOA",
"isVerified": true,
"name": "Gustavo Gonzalez Agent",
"url": "https://etherscan.io/address/0xAC5898b0FFFd23F4Ef09F0E50Fa1bC4896eF7163"
},
{
"address": "eth:0x93533a3511E9b0d5c17b1CBD0e1737781DEf61a6",
"type": "EOA",
"isVerified": true,
"name": "Toni Wahrstätter Agent",
"url": "#Toni-Wahrstätter-Agent"
},
{
"address": "eth:0x884c3e8235788ae52C2106E847e30BD84F2FBCb8",
"type": "EOA",
"isVerified": true,
"name": "L2BEAT Agent",
"url": "https://etherscan.io/address/0x884c3e8235788ae52C2106E847e30BD84F2FBCb8"
},
{
"address": "eth:0x22aD66bcEaeff83e1461772Fa85CbeB01f0915f4",
"type": "EOA",
"isVerified": true,
"name": "Chainbound Agent",
"url": "https://etherscan.io/address/0x22aD66bcEaeff83e1461772Fa85CbeB01f0915f4"
},
{
"address": "eth:0x4236f57E9dBc238878EFac4AeF0A16D4dD06DC1A",
"type": "EOA",
"isVerified": true,
"name": "Nethermind Agent",
"url": "https://etherscan.io/address/0x4236f57E9dBc238878EFac4AeF0A16D4dD06DC1A"
},
{
"address": "eth:0x824Dce8d292a393DAb5FFdeb788DC1086257f678",
"type": "EOA",
"isVerified": true,
"name": "Aragon Agent",
"url": "https://etherscan.io/address/0x824Dce8d292a393DAb5FFdeb788DC1086257f678"
},
{
"address": "eth:0x18B4f2afe456Dc89bddE9710476dCfC62D01d656",
"type": "EOA",
"isVerified": true,
"name": "Drew Van der Werff Agent",
"url": "https://etherscan.io/address/0x18B4f2afe456Dc89bddE9710476dCfC62D01d656"
},
{
"address": "eth:0x1d955983044548E03DAA583B36A37cA4bdE6F556",
"type": "EOA",
"isVerified": true,
"name": "Halborn Agent",
"url": "#Halborn-Agent"
},
{
"address": "eth:0xc4414B079bC4A013916B3dc241555F6f505c1619",
"type": "EOA",
"isVerified": true,
"name": "Gattaca Agent",
"url": "#Gattaca-Agent"
}
],
"discoveryDrivenData": true
},
{
"id": "Taiko Multisig",
"name": "Taiko Multisig",
"description": "A Multisig with 4/6 threshold. \n* Can interact with SecureSgxVerifier\n * register SGX instances after DCAP attestation verification \n* Can interact with SecureSgxVerifier\n * register SGX instances after DCAP attestation verification \n* Can interact with SignalService\n * pause and unpause signal proof verification \n* Can interact with QuotaManager\n * update token withdrawal quotas and the quota refill period \n* Can interact with MainnetBridge\n * pause and unpause bridge message flows and fund the bridge through direct ETH transfers \n* Can interact with ProverWhitelist\n * manage the prover whitelist \n* Can interact with PreconfWhitelist\n * manage the ejecter role ",
"accounts": [
{
"address": "eth:0x9CBeE534B5D8a6280e01a14844Ee8aF350399C7F",
"type": "Contract",
"isVerified": true,
"name": "0x9CBe…9C7F",
"url": "https://etherscan.io/address/0x9CBeE534B5D8a6280e01a14844Ee8aF350399C7F"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0xAC5898b0FFFd23F4Ef09F0E50Fa1bC4896eF7163",
"type": "EOA",
"isVerified": true,
"name": "Gustavo Gonzalez Agent",
"url": "https://etherscan.io/address/0xAC5898b0FFFd23F4Ef09F0E50Fa1bC4896eF7163"
},
{
"address": "eth:0xDC4ece5620659F4d5d1536Cab52BD5e5B15F8a0a",
"type": "EOA",
"isVerified": true,
"name": "0xDC4e…8a0a",
"url": "https://etherscan.io/address/0xDC4ece5620659F4d5d1536Cab52BD5e5B15F8a0a"
},
{
"address": "eth:0x0aED2375549D1115e180bd0caea829C429Ea50B3",
"type": "EOA",
"isVerified": true,
"name": "0x0aED…50B3",
"url": "https://etherscan.io/address/0x0aED2375549D1115e180bd0caea829C429Ea50B3"
},
{
"address": "eth:0xCf76A87E24FE2054DCF02a5f65eAc0F24A34c439",
"type": "EOA",
"isVerified": true,
"name": "0xCf76…c439",
"url": "https://etherscan.io/address/0xCf76A87E24FE2054DCF02a5f65eAc0F24A34c439"
},
{
"address": "eth:0xF28C8D6b44361255FA7C116d09ccD5F914398C10",
"type": "Contract",
"isVerified": true,
"name": "Safe",
"url": "#Safe"
},
{
"address": "eth:0x3b1D1F89E0b6803174A2dE72e21A6f6f8464d5F1",
"type": "EOA",
"isVerified": true,
"name": "0x3b1D…d5F1",
"url": "https://etherscan.io/address/0x3b1D1F89E0b6803174A2dE72e21A6f6f8464d5F1"
}
],
"discoveryDrivenData": true
},
{
"id": "MainnetERC20Vault",
"name": "MainnetERC20Vault",
"accounts": [
{
"address": "eth:0x996282cA11E5DEb6B5D122CC3B9A1FcAAD4415Ab",
"type": "Contract",
"isVerified": true,
"name": "0x9962…15Ab",
"url": "https://etherscan.io/address/0x996282cA11E5DEb6B5D122CC3B9A1FcAAD4415Ab"
}
],
"chain": "ethereum",
"description": "Shared vault for Taiko chains for bridged ERC20 tokens. Pausing stops token sends, message-triggered releases, and recalls. Released or minted tokens are subject to the configured quota manager.\n* Can interact with QuotaManager\n * consume ERC20 withdrawal quota when tokens leave the vault ",
"discoveryDrivenData": true
},
{
"id": "MainnetBridge",
"name": "MainnetBridge",
"accounts": [
{
"address": "eth:0xd60247c6848B7Ca29eDdF63AA924E53dB6Ddd8EC",
"type": "Contract",
"isVerified": true,
"name": "0xd602…d8EC",
"url": "https://etherscan.io/address/0xd60247c6848B7Ca29eDdF63AA924E53dB6Ddd8EC"
}
],
"chain": "ethereum",
"description": "Shared bridge escrow for Taiko chains for bridged ETH and arbitrary bridge messages. Pausing stops sending, processing, recalling, retrying, and failing messages. ETH released from the bridge is subject to the configured quota manager.\n* Can interact with QuotaManager\n * consume ETH withdrawal quota when ETH leaves the bridge ",
"discoveryDrivenData": true
},
{
"id": "Safe",
"name": "Safe",
"description": "A Multisig with 3/5 threshold. \n* Can interact with TimelockController\n * cancel queued transactions \n * execute transactions that are ready \n * manage all access control roles **with 3d delay** [via: TimelockController with 3d delay]\n * propose transactions \n* Can interact with RiscZeroVerifierEmergencyStop\n * pause the verifier \n* Can interact with RiscZeroVerifierEmergencyStop\n * pause the verifier \n* Can interact with RiscZeroVerifierEmergencyStop\n * pause the verifier \n* Can interact with RiscZeroVerifierRouter\n * add/remove verifiers and the selectors they are mapped to **with 3d delay** [via: TimelockController with 3d delay]\n* Can interact with RiscZeroVerifierEmergencyStop\n * pause the verifier \n* Can interact with RiscZeroVerifierEmergencyStop\n * pause the verifier ",
"accounts": [
{
"address": "eth:0x2E5bcc9959dB5F5016F830E47943b07242CB2609",
"type": "Contract",
"isVerified": true,
"name": "0x2E5b…2609",
"url": "https://etherscan.io/address/0x2E5bcc9959dB5F5016F830E47943b07242CB2609"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0x10B0589c16a8851450BD7FEE274cD349fB9d6A0E",
"type": "EOA",
"isVerified": true,
"name": "0x10B0…6A0E",
"url": "https://etherscan.io/address/0x10B0589c16a8851450BD7FEE274cD349fB9d6A0E"
},
{
"address": "eth:0x751708D6341b36c0C258754fc2DbF96074f5BdC7",
"type": "EOA",
"isVerified": true,
"name": "0x7517…BdC7",
"url": "https://etherscan.io/address/0x751708D6341b36c0C258754fc2DbF96074f5BdC7"
},
{
"address": "eth:0xbF58b6DE2B893e7ab707edc6cf99Bb6989C173a4",
"type": "EOA",
"isVerified": true,
"name": "0xbF58…73a4",
"url": "https://etherscan.io/address/0xbF58b6DE2B893e7ab707edc6cf99Bb6989C173a4"
},
{
"address": "eth:0xd5D43445d0227a47cA2eACCb9392352746eD9926",
"type": "EOA",
"isVerified": true,
"name": "0xd5D4…9926",
"url": "https://etherscan.io/address/0xd5D43445d0227a47cA2eACCb9392352746eD9926"
},
{
"address": "eth:0xDA8e7102681f9652FB8a10b70949CF7F260e0A01",
"type": "EOA",
"isVerified": true,
"name": "0xDA8e…0A01",
"url": "https://etherscan.io/address/0xDA8e7102681f9652FB8a10b70949CF7F260e0A01"
}
],
"discoveryDrivenData": true
},
{
"id": "SP1VerifierGatewayMultisig",
"name": "SP1VerifierGatewayMultisig",
"description": "A Multisig with 2/3 threshold. \n* Can interact with SP1VerifierGateway\n * affect the liveness and safety of the gateway - can transfer ownership, add and freeze verifier routes ",
"accounts": [
{
"address": "eth:0xCafEf00d348Adbd57c37d1B77e0619C6244C6878",
"type": "Contract",
"isVerified": true,
"name": "0xCafE…6878",
"url": "https://etherscan.io/address/0xCafEf00d348Adbd57c37d1B77e0619C6244C6878"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0xBaB2c2aF5b91695e65955DA60d63aD1b2aE81126",
"type": "EOA",
"isVerified": true,
"name": "0xBaB2…1126",
"url": "https://etherscan.io/address/0xBaB2c2aF5b91695e65955DA60d63aD1b2aE81126"
},
{
"address": "eth:0x72Ff26D9517324eEFA89A48B75c5df41132c4f54",
"type": "EOA",
"isVerified": true,
"name": "0x72Ff…4f54",
"url": "https://etherscan.io/address/0x72Ff26D9517324eEFA89A48B75c5df41132c4f54"
},
{
"address": "eth:0x9395e83720bf2D8ac6435f9c520b48E289Cb8885",
"type": "EOA",
"isVerified": true,
"name": "0x9395…8885",
"url": "https://etherscan.io/address/0x9395e83720bf2D8ac6435f9c520b48E289Cb8885"
}
],
"discoveryDrivenData": true
},
{
"id": "Taiko Foundation Treasury Multisig",
"name": "Taiko Foundation Treasury Multisig",
"description": "A Multisig with 2/3 threshold. ",
"description": "A Multisig with 3/5 threshold. ",
"accounts": [
{
"address": "eth:0x363e846B91AF677Fb82f709b6c35BD1AaFc6B3Da",
"type": "Contract",
"isVerified": true,
"name": "0x363e…B3Da",
"url": "https://etherscan.io/address/0x363e846B91AF677Fb82f709b6c35BD1AaFc6B3Da"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0x75Ba76403b13b26AD1beC70D6eE937314eeaCD0a",
"type": "Contract",
"address": "eth:0xA1D62c7df45847089cfB052396Abe4cDa7879d25",
"type": "EOA",
"isVerified": true,
"name": "TaikoDAOController",
"url": "https://etherscan.io/address/0x75Ba76403b13b26AD1beC70D6eE937314eeaCD0a"
"name": "0xA1D6…9d25",
"url": "https://etherscan.io/address/0xA1D62c7df45847089cfB052396Abe4cDa7879d25"
},
{
"address": "eth:0xDC4ece5620659F4d5d1536Cab52BD5e5B15F8a0a",
"type": "EOA",
"isVerified": true,
"name": "0xDC4e…8a0a",
"url": "https://etherscan.io/address/0xDC4ece5620659F4d5d1536Cab52BD5e5B15F8a0a"
},
{
"address": "eth:0x7A5299927F93ffCf33cf381CB0C03C2486b9299A",
"type": "EOA",
"isVerified": true,
"name": "0x7A52…299A",
"url": "https://etherscan.io/address/0x7A5299927F93ffCf33cf381CB0C03C2486b9299A"
},
{
"address": "eth:0xF28C8D6b44361255FA7C116d09ccD5F914398C10",
"type": "Contract",
"isVerified": true,
"name": "Safe",
"url": "#Safe"
},
{
"address": "eth:0x3b1D1F89E0b6803174A2dE72e21A6f6f8464d5F1",
"type": "EOA",
"isVerified": true,
"name": "0x3b1D…d5F1",
"url": "https://etherscan.io/address/0x3b1D1F89E0b6803174A2dE72e21A6f6f8464d5F1"
}
],
"discoveryDrivenData": true
},
{
"id": "Safe",
"name": "Safe",
"description": "A Multisig with 1/2 threshold. \nMember of Taiko Foundation Treasury Multisig, Taiko Multisig, Gustavo Gonzalez Taiko.\n",
"accounts": [
{
"address": "eth:0xF28C8D6b44361255FA7C116d09ccD5F914398C10",
"type": "Contract",
"isVerified": true,
"name": "0xF28C…8C10",
"url": "https://etherscan.io/address/0xF28C8D6b44361255FA7C116d09ccD5F914398C10"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0x4757D97449acA795510b9f3152C6a9019A3545c3",
"type": "EOA",
"isVerified": true,
"name": "0x4757…45c3",
"url": "https://etherscan.io/address/0x4757D97449acA795510b9f3152C6a9019A3545c3"
},
{
"address": "eth:0x7057A707621Fadd422f84DE94A9dF7c4F1AC595C",
"type": "EOA",
"isVerified": true,
"name": "0x7057…595C",
"url": "https://etherscan.io/address/0x7057A707621Fadd422f84DE94A9dF7c4F1AC595C"
}
],
"discoveryDrivenData": true
},
{
"id": "EOA-1,-EOA-3-and-EOA-7",
"name": "EOA 1, EOA 3 and EOA 7",
"id": "EOA-1-and-EOA-5",
"name": "EOA 1 and EOA 5",
"accounts": [
{
"address": "eth:0x000cb000E880A92a8f383D69dA2142a969B93DE7",
"type": "EOA",
"isVerified": true,
"name": "0x000c…3DE7",
"url": "https://etherscan.io/address/0x000cb000E880A92a8f383D69dA2142a969B93DE7",
"displayName": "EOA 1"
},
{
"address": "eth:0x2267C7246523191b8bf7615B86b3bdEE612b7D9E",
"type": "EOA",
"isVerified": true,
"name": "0x2267…7D9E",
"url": "https://etherscan.io/address/0x2267C7246523191b8bf7615B86b3bdEE612b7D9E",
"displayName": "EOA 3"
},
{
"address": "eth:0x5F62d006C10C009ff50C878Cd6157aC861C99990",
"type": "EOA",
"isVerified": true,
"name": "0x5F62…9990",
"url": "https://etherscan.io/address/0x5F62d006C10C009ff50C878Cd6157aC861C99990",
"displayName": "EOA 7"
}
],
"chain": "ethereum",
"description": "* Can interact with PreconfWhitelist\n * eligible to propose batches on L1; only the selected current-epoch operator can successfully propose ",
"discoveryDrivenData": true
},
{
"id": "EOA-2-and-EOA-6",
"name": "EOA 2 and EOA 6",
"accounts": [
{
"address": "eth:0x0F026a3efE44E0Fe34B87375EFe69b16c05D0438",
"type": "EOA",
"isVerified": true,
"name": "0x0F02…0438",
"url": "https://etherscan.io/address/0x0F026a3efE44E0Fe34B87375EFe69b16c05D0438",
"displayName": "EOA 2"
"displayName": "EOA 1"
},
{
"address": "eth:0x45D4403351Bc34283CE6450D91c099f40D06dA4e",
"type": "EOA",
"isVerified": true,
"name": "0x45D4…dA4e",
"url": "https://etherscan.io/address/0x45D4403351Bc34283CE6450D91c099f40D06dA4e",
"displayName": "EOA 6"
"displayName": "EOA 5"
}
],
"chain": "ethereum",
"description": "* Can interact with PreconfWhitelist\n * add operators after a two-epoch activation delay and remove existing operators immediately ",
"discoveryDrivenData": true
},
{
"id": "Halborn-Agent",
"name": "Halborn Agent",
"accounts": [
{
"address": "eth:0x1d955983044548E03DAA583B36A37cA4bdE6F556",
"type": "EOA",
"isVerified": true,
"name": "0x1d95…F556",
"url": "https://etherscan.io/address/0x1d955983044548E03DAA583B36A37cA4bdE6F556",
"displayName": "Halborn Agent"
}
],
"chain": "ethereum",
"description": "Member of Halborn, SignerList (Security Council).\n* Can interact with SignerList (Security Council)\n * configure an agent address that represents this entity in the Security Council [via: Halborn]",
"discoveryDrivenData": true
},
{
"id": "EOA-4",
"name": "EOA 4",
"id": "EOA-2-and-EOA-6",
"name": "EOA 2 and EOA 6",
"accounts": [
{
"address": "eth:0x2267C7246523191b8bf7615B86b3bdEE612b7D9E",
"type": "EOA",
"isVerified": true,
"name": "0x2267…7D9E",
"url": "https://etherscan.io/address/0x2267C7246523191b8bf7615B86b3bdEE612b7D9E",
"displayName": "EOA 2"
},
{
"address": "eth:0x5F62d006C10C009ff50C878Cd6157aC861C99990",
"type": "EOA",
"isVerified": true,
"name": "0x5F62…9990",
"url": "https://etherscan.io/address/0x5F62d006C10C009ff50C878Cd6157aC861C99990",
"displayName": "EOA 6"
}
],
"chain": "ethereum",
"description": "* Can interact with PreconfWhitelist\n * eligible to propose batches on L1; only the selected current-epoch operator can successfully propose ",
"discoveryDrivenData": true
},
{
"id": "EOA-3",
"name": "EOA 3",
"accounts": [
{
"address": "eth:0x39cc8f0FEb8DFBa96674098a80eC304879576E6D",
"type": "EOA",
"isVerified": true,
"name": "0x39cc…6E6D",
"url": "https://etherscan.io/address/0x39cc8f0FEb8DFBa96674098a80eC304879576E6D",
"displayName": "EOA 4"
"displayName": "EOA 3"
}
],
"chain": "ethereum",
"description": "Member of Gattaca.\n* Can interact with SignerList (Security Council)\n * configure an agent address that represents this entity in the Security Council [via: Gattaca]",
"discoveryDrivenData": true
},
{
"id": "EOA-5",
"name": "EOA 5",
"id": "EOA-4",
"name": "EOA 4",
"accounts": [
{
"address": "eth:0x3D4997AAC0834BEb5ede861c424807Aa3F29b5bB",
"type": "EOA",
"isVerified": true,
"name": "0x3D49…b5bB",
"url": "https://etherscan.io/address/0x3D4997AAC0834BEb5ede861c424807Aa3F29b5bB",
"displayName": "EOA 5"
"displayName": "EOA 4"
}
],
"chain": "ethereum",
"description": "Member of L2BEAT.\n* Can interact with SignerList (Security Council)\n * configure an agent address that represents this entity in the Security Council [via: L2BEAT]",
"discoveryDrivenData": true
},
{
"id": "Toni-Wahrstätter-Agent",
"name": "Toni Wahrstätter Agent",
"accounts": [
{
"address": "eth:0x93533a3511E9b0d5c17b1CBD0e1737781DEf61a6",
"type": "EOA",
"isVerified": true,
"name": "0x9353…61a6",
"url": "https://etherscan.io/address/0x93533a3511E9b0d5c17b1CBD0e1737781DEf61a6",
"displayName": "Toni Wahrstätter Agent"
}
],
"chain": "ethereum",
"description": "Member of SignerList (Security Council), Toni Wahrstätter.\n* Can interact with SignerList (Security Council)\n * configure an agent address that represents this entity in the Security Council [via: Toni Wahrstätter]",
"discoveryDrivenData": true
},
{
"id": "EOA-8-and-EOA-10",
"name": "EOA 8 and EOA 10",
"id": "EOA-7-and-EOA-9",
"name": "EOA 7 and EOA 9",
"accounts": [
{
"address": "eth:0xBFD60Cb2313B848a2FC088d3bc1ab6BF498E1DD1",
"type": "EOA",
"isVerified": true,
"name": "0xBFD6…1DD1",
"url": "https://etherscan.io/address/0xBFD60Cb2313B848a2FC088d3bc1ab6BF498E1DD1",
"displayName": "EOA 8"
"displayName": "EOA 7"
},
{
"address": "eth:0xDFbD5490462963Cc242471913B53b034B209B32c",
"type": "EOA",
"isVerified": true,
"name": "0xDFbD…B32c",
"url": "https://etherscan.io/address/0xDFbD5490462963Cc242471913B53b034B209B32c",
"displayName": "EOA 10"
"displayName": "EOA 9"
}
],
"chain": "ethereum",
"description": "Member of Halborn.\n* Can interact with SignerList (Security Council)\n * configure an agent address that represents this entity in the Security Council [via: Halborn]",
"discoveryDrivenData": true
},
{
"id": "Gattaca-Agent",
"name": "Gattaca Agent",
"accounts": [
{
"address": "eth:0xc4414B079bC4A013916B3dc241555F6f505c1619",
"type": "EOA",
"isVerified": true,
"name": "0xc441…1619",
"url": "https://etherscan.io/address/0xc4414B079bC4A013916B3dc241555F6f505c1619",
"displayName": "Gattaca Agent"
}
],
"chain": "ethereum",
"description": "Member of SignerList (Security Council), Gattaca.\n* Can interact with SignerList (Security Council)\n * configure an agent address that represents this entity in the Security Council [via: Gattaca]",
"discoveryDrivenData": true
},
{
"id": "EOA-9",
"name": "EOA 9",
"id": "EOA-8",
"name": "EOA 8",
"accounts": [
{
"address": "eth:0xd0d756A346105511bc59726c82c7Fd2e3Fe69e3F",
"type": "EOA",
"isVerified": true,
"name": "0xd0d7…9e3F",
"url": "https://etherscan.io/address/0xd0d756A346105511bc59726c82c7Fd2e3Fe69e3F",
"displayName": "EOA 9"
"displayName": "EOA 8"
}
],
"chain": "ethereum",
"description": "Member of Toni Wahrstätter.\n* Can interact with SignerList (Security Council)\n * configure an agent address that represents this entity in the Security Council [via: Toni Wahrstätter]",
"discoveryDrivenData": true
},
{
"id": "EOA-11",
"name": "EOA 11",
"id": "EOA-10",
"name": "EOA 10",
"accounts": [
{
"address": "eth:0xF616A4f81857CFEe54A4A049Ec187172574bd412",
"type": "EOA",
"isVerified": true,
"name": "0xF616…d412",
"url": "https://etherscan.io/address/0xF616A4f81857CFEe54A4A049Ec187172574bd412",
"displayName": "EOA 11"
"displayName": "EOA 10"
}
],
"chain": "ethereum",
"description": "* Can interact with RiscZeroVerifierEmergencyStop\n * pause the verifier ",
"discoveryDrivenData": true
}
]
}
}
+3 -3
{
"addresses": {
"ethereum": [
{
"name": "TaikoRisc0Verifier",
"isVerified": true,
"address": "eth:0x059dAF31F571da48Ab4e74Ae12F64f907681Cd8b",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Gating router contract to verify batches using RISC Zero.\n* Roles:\n * **owner**: TaikoDAOController; ultimately SignerList (Security Council)",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x059dAF31F571da48Ab4e74Ae12F64f907681Cd8b#code"
},
{
"name": "RiscZeroGroth16Verifier",
"isVerified": true,
"address": "eth:0x20ff7C2Cf391a5F096A2Cc181cb41916680f8E97",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Verifier contract for RISC Zero Groth16 proofs (version 2.0.0-rc.3).\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x20ff7C2Cf391a5F096A2Cc181cb41916680f8E97#code"
},
{
"name": "RiscZeroGroth16Verifier",
"isVerified": true,
"address": "eth:0x2a098988600d87650Fb061FfAff08B97149Fa84D",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Verifier contract for RISC Zero Groth16 proofs (version 3.0.0).\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x2a098988600d87650Fb061FfAff08B97149Fa84D#code"
},
{
"name": "RiscZeroGroth16Verifier",
"isVerified": true,
"address": "eth:0x54aCE3ED46529B4d4F3770C8Bad5dDC48717B9bF",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Verifier contract for RISC Zero Groth16 proofs (version 2.0.3).\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x54aCE3ED46529B4d4F3770C8Bad5dDC48717B9bF#code"
},
{
"name": "MainnetInbox",
"isVerified": true,
"address": "eth:0x6f21C543a4aF5189eBdb0723827577e1EF57ef1f",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x75Ba76403b13b26AD1beC70D6eE937314eeaCD0a"
],
"implementations": [
"eth:0x5253D4C91e80b880DdB54B78E74082Abe066F6b9"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1772642207,
"transactionHash": "0x7576f1179250453948b37648a748aaade28c40b33e358fa0cbe21be6b0368601",
"implementations": [
"eth:0x0680c84378FA6A7D2F46ADa5A70637Fa2A938d42"
]
},
{
"timestamp": 1782120275,
"transactionHash": "0x2fb71b83b8971dd7bbc174f72ea5d37f57bf20277c406b0d679062b20c348e1d",
"implementations": [
"eth:0x349Ae3578f48F758d79451EeAB61Cdd5fedD0098"
]
},
{
"timestamp": 1782739115,
"transactionHash": "0xae7122add731c935d54d726ebe542e7d4f9f7321e3bdf4ec794309f813d981f7",
"implementations": [
"eth:0x64523f2580f4E7038a121D55b220a9C12C1E8f01"
]
},
{
"timestamp": 1785761183,
"transactionHash": "0x64875b5b84b41b520551854696c0ce408fb3e0aa2ede604cc95a5919b6140ea7",
"implementations": [
"eth:0x5253D4C91e80b880DdB54B78E74082Abe066F6b9"
]
}
],
"description": "The core Layer 1 entrypoint for the Taiko rollup where L2 block batches are proposed and their corresponding state transitions are proven. Users can enqueue forced inclusions by publishing an L1 blob. Once an inclusion is due, subsequent proposals must process it, but proposing remains restricted by the configured proposer checker. If the configured prover whitelist is non-empty, proofs from non-whitelisted provers revert.\n* Roles:\n * **admin**: TaikoDAOController; ultimately SignerList (Security Council)\n * **owner**: TaikoDAOController; ultimately SignerList (Security Council)",
"upgradableBy": [
{
"name": "SignerList (Security Council)",
"delay": "7d"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x6f21C543a4aF5189eBdb0723827577e1EF57ef1f#code"
},
{
"name": "ZkRequiredVerifier",
"isVerified": true,
"address": "eth:0x7284aaC05555Ae6559bdAd8B4221eC9584254Eec",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Immutable verifier policy contract for Taiko mainnet. Every accepted proof contains exactly two ordered sub-proofs and at least one must be a ZK proof. Accepted pairs are SGX-GETH or SGX-RETH with RISC0-RETH or SP1-RETH, and RISC0-RETH with SP1-RETH. The SGX-GETH plus SGX-RETH pair is not accepted.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x7284aaC05555Ae6559bdAd8B4221eC9584254Eec#code"
},
{
"name": "TaikoSP1Verifier",
"isVerified": true,
"address": "eth:0x73A0Db393ef87ce781ac7957bE10D6628432100F",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Gating router contract to verify batches using SP1.\n* Roles:\n * **owner**: TaikoDAOController; ultimately SignerList (Security Council)",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x73A0Db393ef87ce781ac7957bE10D6628432100F#code"
},
{
"name": "RiscZeroGroth16Verifier",
"isVerified": true,
"address": "eth:0xafB31f5b70623CDF4b20Ada3f7230916A5A79df9",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Verifier contract for RISC Zero Groth16 proofs (version 2.2.0).\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xafB31f5b70623CDF4b20Ada3f7230916A5A79df9#code"
},
{
"name": "ProverWhitelist",
"isVerified": true,
"address": "eth:0xEa798547d97e345395dA071a0D7ED8144CD612Ae",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x75Ba76403b13b26AD1beC70D6eE937314eeaCD0a"
],
"implementations": [
"eth:0xebb393746A4Eee84Ad14EDFf3764c3F839D1034b"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1772641607,
"transactionHash": "0x9ae9f5d95306d569099fbf42c0aa730a6b6e84e18f35e5f1a1374025597762d5",
"implementations": [
"eth:0xebb393746A4Eee84Ad14EDFf3764c3F839D1034b"
]
}
],
"description": "Defines the prover whitelist queried by the inbox before accepting proofs. If the inbox is configured with this contract and the whitelist is non-empty, only whitelisted provers can prove proposals.\n* Roles:\n * **admin**: TaikoDAOController; ultimately SignerList (Security Council)\n * **owner**: TaikoDAOController; ultimately SignerList (Security Council)\n * **proverManager**: Taiko Multisig",
"upgradableBy": [
{
"name": "SignerList (Security Council)",
"delay": "7d"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xEa798547d97e345395dA071a0D7ED8144CD612Ae#code"
},
{
"name": "RiscZeroGroth16Verifier",
"isVerified": true,
"address": "eth:0xf70aBAb028Eb6F4100A24B203E113D94E87DE93C",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Verifier contract for RISC Zero Groth16 proofs. This older implementation exposes control-root and selector constants but does not expose a VERSION getter.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xf70aBAb028Eb6F4100A24B203E113D94E87DE93C#code"
},
{
"name": "QuotaManager",
"isVerified": true,
"address": "eth:0xBaCb003f0B13CeAF09Eb9Baf5915A640BD4Bc6cC",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Defines withdrawal quotas for ETH and ERC20 releases from the shared bridge. A token quota of zero means unlimited withdrawals for that token.\n* Roles:\n * **bridge**: MainnetBridge\n * **erc20Vault**: MainnetERC20Vault\n * **owner**: Taiko Multisig",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xBaCb003f0B13CeAF09Eb9Baf5915A640BD4Bc6cC#code"
},
{
"name": "TaikoDAOController",
"isVerified": true,
"address": "eth:0x75Ba76403b13b26AD1beC70D6eE937314eeaCD0a",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x9CDf589C941ee81D75F34d3755671d614f7cf261"
],
"implementations": [
"eth:0x4347df63bdC82b8835fC9FF47bC5a71a12cC0f06"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1748146475,
"transactionHash": "0x5da0579fa85d4712efb3d66c95ee884d73259ede79760d25f685e4c3c3c4c0c1",
"implementations": [
"eth:0x4347df63bdC82b8835fC9FF47bC5a71a12cC0f06"
]
}
],
"description": "Middleware contract that maintains ownership of DAO-controlled assets and contracts. Its token weight does not count towards the DAO quorum.\nMember of Taiko Foundation Treasury Multisig.\n* Roles:\n * **admin**: DAO; ultimately SignerList (Security Council)\n * **owner**: DAO",
"description": "Middleware contract that maintains ownership of DAO-controlled assets and contracts. Its token weight does not count towards the DAO quorum.\n* Roles:\n * **admin**: DAO; ultimately SignerList (Security Council)\n * **owner**: DAO",
"upgradableBy": [
{
"name": "SignerList (Security Council)",
"delay": "7d"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x75Ba76403b13b26AD1beC70D6eE937314eeaCD0a#code"
},
{
"name": "DAO",
"isVerified": true,
"address": "eth:0x9CDf589C941ee81D75F34d3755671d614f7cf261",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x0000000000000000000000000000000000000000"
],
"implementations": [
"eth:0x52Af16664155608b845BE18aa29620EbF6eA2D3a"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1746111707,
"transactionHash": "0x8acf74d966e6eb99972a4a73382cf42aa918d4715eaf4b587d1007f24edf5208",
"implementations": [
"eth:0x52Af16664155608b845BE18aa29620EbF6eA2D3a"
]
}
],
"description": "The main contract and entrypoint of the Aragon-based DAO governance framework. Fine-grained DAO permissions, proposals, voting and thresholds are configured here.\n* Roles:\n * **currentSignerListPermissions**: SignerList (Security Council) (emergency proposals bypass the delay)\n * **daoPermissions**: DAO; ultimately SignerList (Security Council)",
"upgradableBy": [
{
"name": "SignerList (Security Council)",
"delay": "7d"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x9CDf589C941ee81D75F34d3755671d614f7cf261#code"
},
{
"name": "TaikoDAOController",
"isVerified": true,
"address": "eth:0xfC3C4ca95a8C4e5a587373f1718CD91301d6b2D3",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x9CDf589C941ee81D75F34d3755671d614f7cf261"
],
"implementations": [
"eth:0xd1934807041B168f383870A0d8F565aDe2DF9D7D"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1746942803,
"transactionHash": "0x8328e607699f67108c9b259225d5316a079ad52e648e6188c3fce7bf99abec38",
"implementations": [
"eth:0xd1934807041B168f383870A0d8F565aDe2DF9D7D"
]
}
],
"description": "Middleware contract that maintains ownership of DAO-controlled assets and contracts. Its token weight does not count towards the DAO quorum.\n* Roles:\n * **admin**: DAO; ultimately SignerList (Security Council)\n * **owner**: DAO",
"upgradableBy": [
{
"name": "SignerList (Security Council)",
"delay": "7d"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xfC3C4ca95a8C4e5a587373f1718CD91301d6b2D3#code"
},
{
"name": "TimelockController",
"isVerified": true,
"address": "eth:0x0b144E07A0826182B6b59788c34b32Bfa86Fb711",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "A timelock with access control. The current minimum delay is 3d.\n* Roles:\n * **canceller**: Safe\n * **defaultAdmin**: TimelockController; ultimately Safe\n * **executor**: Safe\n * **proposer**: Safe",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x0b144E07A0826182B6b59788c34b32Bfa86Fb711#code"
},
{
"name": "AutomataDcapV3Attestation",
"isVerified": true,
"address": "eth:0x0ffa4A625ED9DB32B70F99180FD00759fc3e9261",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x75Ba76403b13b26AD1beC70D6eE937314eeaCD0a"
],
"implementations": [
"eth:0x5e46443bd131eB6d4c6Fb4849bAD29af9596dd72"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1747268759,
"transactionHash": "0x3b734f101aeef12dbbef6a43abae4176ac967c5ab8ea0194c6d890dafd6573ad",
"implementations": [
"eth:0x5e46443bd131eB6d4c6Fb4849bAD29af9596dd72"
]
}
],
"description": "Contract managing SGX DCAP attestation policy, trusted measurements, and certificate revocation data.\n* Roles:\n * **admin**: TaikoDAOController; ultimately SignerList (Security Council)\n * **owner**: TaikoDAOController; ultimately SignerList (Security Council)",
"upgradableBy": [
{
"name": "SignerList (Security Council)",
"delay": "7d"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x0ffa4A625ED9DB32B70F99180FD00759fc3e9261#code"
},
{
"name": "Taiko Token",
"isVerified": true,
"address": "eth:0x10dea67478c5F8C5E2D90e5E9B26dBe60c54d800",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x75Ba76403b13b26AD1beC70D6eE937314eeaCD0a"
],
"implementations": [
"eth:0x5C96Ff5B7F61b9E3436Ef04DA1377C8388dfC106"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1714033799,
"transactionHash": "0x4f7a1c6ad21fbfeaecab40ea36a3845bf67e22d7770d8a259d62b995cb93cb34",
"implementations": [
"eth:0x9ae1a067F9655DD0511390e3d70Bb25933AE61eb"
]
},
{
"timestamp": 1715406371,
"transactionHash": "0x7d82794932540ed9edd259e58f6ef8ae21a49beada7f0224638f888f7149c01c",
"implementations": [
"eth:0xea53c0f4b129Cf3f3FBA896F9f23ca18246e9B3c"
]
},
{
"timestamp": 1716969803,
"transactionHash": "0x56402f9fd928be890fbd29829b817faffc0780b85e83300a29962c969808cae2",
"implementations": [
"eth:0x7dF8bfBf0f09e94200b6a158b421e2CCaCc4830F"
]
},
{
"timestamp": 1717732931,
"transactionHash": "0x0bbf7d1258c646f41a02a92a55825b1ebfd3659577d0f2b57b462f8895e23a04",
"implementations": [
"eth:0x55833dA2962c2330ccCF043ff8037e6D2939bCF6"
]
},
{
"timestamp": 1719904547,
"transactionHash": "0xc9f468d33d8d55911e4e5b5c301ed244a5f81ab0f389d2b4f398eb5b89d417ef",
"implementations": [
"eth:0xcfe803378D79d1180EbF030455040EA6513869dF"
]
},
{
"timestamp": 1747097243,
"transactionHash": "0xdb7d5de46738ad3f676db47b61772db531f9858b7a01e8c3b5aee49fa74cac95",
"implementations": [
"eth:0x87C752b0F70cAa237Edd7571B0845470A37DE040"
]
},
{
"timestamp": 1747285931,
"transactionHash": "0x986fc2c7ae945cdd358b2f2ae54364b350026f965f5861ed470f78e145f12626",
"implementations": [
"eth:0x5C96Ff5B7F61b9E3436Ef04DA1377C8388dfC106"
]
}
],
"description": "ERC20 contract implementing the TAIKO token. It defines a list of addresses designated as non-voting.\n* Roles:\n * **admin**: TaikoDAOController; ultimately SignerList (Security Council)",
"upgradableBy": [
{
"name": "SignerList (Security Council)",
"delay": "7d"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x10dea67478c5F8C5E2D90e5E9B26dBe60c54d800#code"
},
{
"name": "RiscZeroVerifierEmergencyStop",
"isVerified": true,
"address": "eth:0x1efDd13f831ceeEa14940806705A53D3211CD698",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "A verifier wrapper for the RiscZeroGroth16Verifier that allows pausing (emergency stop) the verifier by its owner.\n* Roles:\n * **owner**: Safe",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x1efDd13f831ceeEa14940806705A53D3211CD698#code"
},
{
"name": "EmergencyMultisig",
"isVerified": true,
"address": "eth:0x2AffADEb2ef5e1F2a7F58964ee191F1e88317ECd",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x0000000000000000000000000000000000000000"
],
"implementations": [
"eth:0x437E450452E8Bc142bd5317199296EcB187c514b"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1746111707,
"transactionHash": "0x8acf74d966e6eb99972a4a73382cf42aa918d4715eaf4b587d1007f24edf5208",
"implementations": [
"eth:0x437E450452E8Bc142bd5317199296EcB187c514b"
]
}
],
"description": "Modular Governance contract allowing for proposing, voting on and executing encrypted proposals (e.g. for Security Council emergency proposals).\n* Roles:\n * **dao**: DAO; ultimately SignerList (Security Council)",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x2AffADEb2ef5e1F2a7F58964ee191F1e88317ECd#code"
},
{
"name": "SecureSgxVerifier",
"isVerified": true,
"address": "eth:0x41e79EB4F03aBB5DF8716B759528dc5d8f6a84Ee",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Verifier contract for SGX proven blocks. Registered SGX instances can sign accepted proofs until their instance expiry.\n* Roles:\n * **owner**: TaikoDAOController; ultimately SignerList (Security Council)\n * **registrar**: Taiko Multisig",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x41e79EB4F03aBB5DF8716B759528dc5d8f6a84Ee#code"
},
{
"name": "RiscZeroVerifierEmergencyStop",
"isVerified": true,
"address": "eth:0x44c220f0598345195cE99AD6A57aDfFcb9Ea33e7",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "A verifier wrapper for the RiscZeroGroth16Verifier that allows pausing (emergency stop) the verifier by its owner.\n* Roles:\n * **owner**: EOA 11",
"description": "A verifier wrapper for the RiscZeroGroth16Verifier that allows pausing (emergency stop) the verifier by its owner.\n* Roles:\n * **owner**: EOA 10",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x44c220f0598345195cE99AD6A57aDfFcb9Ea33e7#code"
},
{
"name": "RiscZeroSetVerifier",
"isVerified": true,
"address": "eth:0x5005aBa3DFf7C940fcc1e48DccCAD611a80eEB85",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Set verifier contract for RISC Zero proofs (version 0.9.0). It allows verifying a whole set of proofs identified with a Merkle root at once, afterwards each individual proof could be efficiently verified just by checking Merkle inclusion against the verified root.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x5005aBa3DFf7C940fcc1e48DccCAD611a80eEB85#code"
},
{
"name": "RiscZeroVerifierEmergencyStop",
"isVerified": true,
"address": "eth:0x68dC2cB4e61774873971c499D9b239ec5Ac540E3",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "A verifier wrapper for the RiscZeroGroth16Verifier that allows pausing (emergency stop) the verifier by its owner.\n* Roles:\n * **owner**: Safe",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x68dC2cB4e61774873971c499D9b239ec5Ac540E3#code"
},
{
"name": "RiscZeroVerifierEmergencyStop",
"isVerified": true,
"address": "eth:0x844D5f01161E3559d36f23d0Aa9E9620949aF782",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "A verifier wrapper for the RiscZeroSetVerifier that allows pausing (emergency stop) the verifier by its owner.\n* Roles:\n * **owner**: Safe",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x844D5f01161E3559d36f23d0Aa9E9620949aF782#code"
},
{
"name": "AutomataDcapV3Attestation",
"isVerified": true,
"address": "eth:0x8d7C954960a36a7596d7eA4945dDf891967ca8A3",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x75Ba76403b13b26AD1beC70D6eE937314eeaCD0a"
],
"implementations": [
"eth:0x5f73f0AdC7dAA6134Fe751C4a78d524f9384e0B5"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1714550639,
"transactionHash": "0x207dec76298211a2d988b0de3e9a3f8da0edb4524a011e72f28200be08edd4c6",
"implementations": [
"eth:0xEE8FC1dbb8D345f5bF35dFb939C6f9EdC5fCDAFc"
]
},
{
"timestamp": 1715408795,
"transactionHash": "0x416560cd96dc75ccffebe889e8d1ab3e08b33f814dc4a2bf7c6f9555071d1f6f",
"implementations": [
"eth:0xde1b1FBe7D721af4A56651272ef91A59B7303323"
]
},
{
"timestamp": 1715787263,
"transactionHash": "0x46a6d47c15505a1259c64d1e09353680e525b2706dd9e095e15019dda7c1b295",
"implementations": [
"eth:0x5f73f0AdC7dAA6134Fe751C4a78d524f9384e0B5"
]
}
],
"description": "Contract managing SGX DCAP attestation policy, trusted measurements, and certificate revocation data.\n* Roles:\n * **admin**: TaikoDAOController; ultimately SignerList (Security Council)\n * **owner**: TaikoDAOController; ultimately SignerList (Security Council)",
"upgradableBy": [
{
"name": "SignerList (Security Council)",
"delay": "7d"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x8d7C954960a36a7596d7eA4945dDf891967ca8A3#code"
},
{
"name": "RiscZeroVerifierRouter",
"isVerified": true,
"address": "eth:0x8EaB2D97Dfce405A1692a21b3ff3A172d593D319",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "A router proxy that routes to verifiers based on selectors. The mapping can be changed by a permissioned owner (TimelockController).\n* Roles:\n * **owner**: TimelockController; ultimately Safe",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x8EaB2D97Dfce405A1692a21b3ff3A172d593D319#code"
},
{
"name": "DefaultResolver",
"isVerified": true,
"address": "eth:0x8Efa01564425692d0a0838DC10E300BD310Cb43e",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x75Ba76403b13b26AD1beC70D6eE937314eeaCD0a"
],
"implementations": [
"eth:0xFca4F0Ab7B95EEf2e3A60EF2Bc0c42DdAA62E66D"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1747268711,
"transactionHash": "0xe402a650eb9f8443ae3fb86d2ef4bc6105140c85774c56a3932fe097ea6f6c19",
"implementations": [
"eth:0xFca4F0Ab7B95EEf2e3A60EF2Bc0c42DdAA62E66D"
]
}
],
"description": "Maps chainId-name pairs to contract addresses. Bridge and vault contracts resolve their counterparties through this registry, so changes in this mapping effectively act as contract upgrades. The pause function is intentionally disabled in this implementation.\n* Roles:\n * **admin**: TaikoDAOController; ultimately SignerList (Security Council)\n * **owner**: TaikoDAOController; ultimately SignerList (Security Council)",
"upgradableBy": [
{
"name": "SignerList (Security Council)",
"delay": "7d"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x8Efa01564425692d0a0838DC10E300BD310Cb43e#code"
},
{
"name": "OptimisticTokenVotingPlugin",
"isVerified": true,
"address": "eth:0x989E348275b659d36f8751ea1c10D146211650BE",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x0000000000000000000000000000000000000000"
],
"implementations": [
"eth:0x5B0Da2FB08754a5dDf32e28887D2F5437485f085"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1746111707,
"transactionHash": "0x8acf74d966e6eb99972a4a73382cf42aa918d4715eaf4b587d1007f24edf5208",
"implementations": [
"eth:0x5B0Da2FB08754a5dDf32e28887D2F5437485f085"
]
}
],
"description": "An optimistic governance module. Standard proposals pass and can be executed unless 10% of votable TAIKO veto them within 7d. Emergency proposals can be executed without delay.\n* Roles:\n * **dao**: DAO; ultimately SignerList (Security Council)",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x989E348275b659d36f8751ea1c10D146211650BE#code"
},
{
"name": "SecureSgxVerifier",
"isVerified": true,
"address": "eth:0x9D3C595BFf6Ff7D2b2CbdEcF94aD917eB2fCFFd8",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Verifier contract for SGX proven blocks. Registered SGX instances can sign accepted proofs until their instance expiry.\n* Roles:\n * **owner**: TaikoDAOController; ultimately SignerList (Security Council)\n * **registrar**: Taiko Multisig",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x9D3C595BFf6Ff7D2b2CbdEcF94aD917eB2fCFFd8#code"
},
{
"name": "SignalService",
"isVerified": true,
"address": "eth:0x9e0a24964e5397B566c1ed39258e21aB5E35C77C",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x75Ba76403b13b26AD1beC70D6eE937314eeaCD0a"
],
"implementations": [
"eth:0x1A06832992785766a105838C95c1E13a0045AC85"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1714550603,
"transactionHash": "0x0898d14da2f38d677085073d2decfb7ca32902406df2e7a84f6615d9c92d4516",
"implementations": [
"eth:0xE1d91bAE44B70bD66e8b688B8421fD62dcC33c72"
]
},
{
"timestamp": 1715408795,
"transactionHash": "0x416560cd96dc75ccffebe889e8d1ab3e08b33f814dc4a2bf7c6f9555071d1f6f",
"implementations": [
"eth:0xB11Cd7bA46a12F238b4Ad831f6F296262C1e652d"
]
},
{
"timestamp": 1717663871,
"transactionHash": "0x8de1631a25b337c1e702f9ce9d9ab8a3b626922441855e959b2d79dae40bd131",
"implementations": [
"eth:0x3d59c18b31A7D950EF9bd15eD285b6c182E0f0bb"
]
},
{
"timestamp": 1717749635,
"transactionHash": "0xdb5e926c96d112ce1389da77a927fba6c7d04a711839b9e14777530ebcf83914",
"implementations": [
"eth:0xB11Cd7bA46a12F238b4Ad831f6F296262C1e652d"
]
},
{
"timestamp": 1721140223,
"transactionHash": "0x7d584f0a645cad61e634f64ffaf7e1bbfb92749878eb25b39ce0e5cf698897c7",
"implementations": [
"eth:0xDF8642a1FBFc2014de27E8E87283D6f3eEF315DF"
]
},
{
"timestamp": 1730452835,
"transactionHash": "0x13ea4d044a313cf667d16514465e6b96227ef7198bda7b19c70eefee44e9bccd",
"implementations": [
"eth:0x45fed11Ba70D4217545F18E27DDAF7D76Ff499f3"
]
},
{
"timestamp": 1747298447,
"transactionHash": "0x97789b6668d0a287b1f57bb6c8e23cce62308fb887139faeb0f06b77855995fd",
"implementations": [
"eth:0x0783Ee019C9b0f918A741469bD488A88827b3617"
]
},
{
"timestamp": 1747578311,
"transactionHash": "0x0ae99d24b294622e3d3868c8dca911a5936231ce1f97254ec0c6a6f65f7aa81c",
"implementations": [
"eth:0x42Ec977eb6B09a8D78c6D486c3b0e63569bA851c"
]
},
{
"timestamp": 1774964687,
"transactionHash": "0xb132692b255fb1ff670b37d162af03de5151fa1e77811bf009ba276e4a9a2f36",
"implementations": [
"eth:0x6a4B15E4b0296B2ECE03Ee9Ed74E4A3E3ECA68D6"
]
},
{
"timestamp": 1777562051,
"transactionHash": "0xfcd6ca82025b847a3508db2d3c82327a19e3c4afda867acae8c09da147667036",
"implementations": [
"eth:0xBC442F342FE247Dc7981AC7Fbe8293c8891F8752"
]
},
{
"timestamp": 1782739115,
"transactionHash": "0xae7122add731c935d54d726ebe542e7d4f9f7321e3bdf4ec794309f813d981f7",
"implementations": [
"eth:0x1A06832992785766a105838C95c1E13a0045AC85"
]
}
],
"description": "Facilitates secure cross-chain message passing by storing signals and state-root checkpoints. Bridge escrows and other applications use it to prove that a specific L1<->L2 signal or checkpointed state transition occurred via Merkle proofs. Pausing disables signal proof verification.\n* Roles:\n * **admin**: TaikoDAOController; ultimately SignerList (Security Council)\n * **owner**: TaikoDAOController; ultimately SignerList (Security Council)\n * **pauser**: Taiko Multisig",
"upgradableBy": [
{
"name": "SignerList (Security Council)",
"delay": "7d"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x9e0a24964e5397B566c1ed39258e21aB5E35C77C#code"
},
{
"name": "RiscZeroVerifierEmergencyStop",
"isVerified": true,
"address": "eth:0x9F9994Eb4Cb5200198FEfb470f8b50301662e696",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "A verifier wrapper for the RiscZeroGroth16Verifier that allows pausing (emergency stop) the verifier by its owner.\n* Roles:\n * **owner**: Safe",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x9F9994Eb4Cb5200198FEfb470f8b50301662e696#code"
},
{
"name": "Multisig",
"isVerified": true,
"address": "eth:0xD7dA1C25E915438720692bC55eb3a7170cA90321",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x0000000000000000000000000000000000000000"
],
"implementations": [
"eth:0x8510d389236d7213eE9B9C38CAaBc0aD24853C25"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1746111707,
"transactionHash": "0x8acf74d966e6eb99972a4a73382cf42aa918d4715eaf4b587d1007f24edf5208",
"implementations": [
"eth:0x8510d389236d7213eE9B9C38CAaBc0aD24853C25"
]
}
],
"description": "Modular Governance contract allowing for proposing, voting on and executing proposals (e.g. for Security Council standard proposals).\n* Roles:\n * **dao**: DAO; ultimately SignerList (Security Council)",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xD7dA1C25E915438720692bC55eb3a7170cA90321#code"
},
{
"name": "RiscZeroVerifierEmergencyStop",
"isVerified": true,
"address": "eth:0xDa8f3de6fBBdb261Ac771B813a578A7aBdA6B2b1",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "A verifier wrapper for the RiscZeroGroth16Verifier that allows pausing (emergency stop) the verifier by its owner.\n* Roles:\n * **owner**: Safe",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xDa8f3de6fBBdb261Ac771B813a578A7aBdA6B2b1#code"
},
{
"name": "PreconfWhitelist",
"isVerified": true,
"address": "eth:0xFD019460881e6EeC632258222393d5821029b2ac",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x75Ba76403b13b26AD1beC70D6eE937314eeaCD0a"
],
"implementations": [
"eth:0xDBae46E35C18719E6c78aaBF9c8869c4eC84c149"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1753275179,
"transactionHash": "0x2d127d401f9d22fd4c4f8c14773f2e98e9a3e87837f78bb1d2881a8fcb91cd59",
"implementations": [
"eth:0x86f0AeFA26A1447bbE62bd2bE1D30ff3353B88fB"
]
},
{
"timestamp": 1754913371,
"transactionHash": "0x1000b14e86d8db17931f65e877e2eb13cb3990d0a129eee1aff21ce6ba96d2cf",
"implementations": [
"eth:0x44eC275996BD69361EF062ed488882a58256CF11"
]
},
{
"timestamp": 1756244927,
"transactionHash": "0x27f89b30a14fdf2c6adb42c5722f4ac403eefde7d26f6a64bdfd4a86458a0c00",
"implementations": [
"eth:0x54FeDc114D78dcbDb8c7b2DeA433f9749E8fd0Fc"
]
},
{
"timestamp": 1774964687,
"transactionHash": "0xb132692b255fb1ff670b37d162af03de5151fa1e77811bf009ba276e4a9a2f36",
"implementations": [
"eth:0xDBae46E35C18719E6c78aaBF9c8869c4eC84c149"
]
}
],
"description": "Contains the whitelist of addresses eligible to propose batches on L1 and issue preconfirmations. It dynamically selects a single active operator for each epoch using a delayed Ethereum beacon block root as randomness. There is no fallback proposer path in this contract: non-selected operators cannot propose for the current epoch.\n* Roles:\n * **_ejectorManager**: Taiko Multisig\n * **admin**: TaikoDAOController; ultimately SignerList (Security Council)\n * **ejecters**: EOA 2, EOA 6\n * **operatorMapping**: EOA 1, EOA 3, EOA 7\n * **owner**: TaikoDAOController; ultimately SignerList (Security Council)",
"description": "Contains the whitelist of addresses eligible to propose batches on L1 and issue preconfirmations. It dynamically selects a single active operator for each epoch using a delayed Ethereum beacon block root as randomness. There is no fallback proposer path in this contract: non-selected operators cannot propose for the current epoch.\n* Roles:\n * **_ejectorManager**: Taiko Multisig\n * **admin**: TaikoDAOController; ultimately SignerList (Security Council)\n * **ejecters**: EOA 1, EOA 5\n * **operatorMapping**: EOA 2, EOA 6\n * **owner**: TaikoDAOController; ultimately SignerList (Security Council)",
"upgradableBy": [
{
"name": "SignerList (Security Council)",
"delay": "7d"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xFD019460881e6EeC632258222393d5821029b2ac#code"
},
{
"name": "SP1Verifier",
"isVerified": true,
"address": "eth:0x0459d576A6223fEeA177Fb3DF53C9c77BF84C459",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Verifier contract for SP1 proofs (v5.0.0).\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x0459d576A6223fEeA177Fb3DF53C9c77BF84C459#code"
},
{
"name": "SP1VerifierGateway",
"isVerified": true,
"address": "eth:0x3B6041173B80E77f038f3F2C0f9744f04837185e",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "This contract is the router for zk proof verification. It stores the mapping between identifiers and the address of onchain verifier contracts, routing each identifier to the corresponding verifier contract.\n* Roles:\n * **owner**: SP1VerifierGatewayMultisig",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x3B6041173B80E77f038f3F2C0f9744f04837185e#code"
},
{
"name": "SP1Verifier",
"isVerified": true,
"address": "eth:0x8a0fd5e825D14368d90Fe68F31fceAe3E17AFc5C",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Verifier contract for SP1 proofs (v6.0.0).\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x8a0fd5e825D14368d90Fe68F31fceAe3E17AFc5C#code"
},
{
"name": "SP1Verifier",
"isVerified": true,
"address": "eth:0xc3c6dDDAc8829b233Dc6536Ec024775a57b0AF2A",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Verifier contract for SP1 proofs (v6.1.0).\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xc3c6dDDAc8829b233Dc6536Ec024775a57b0AF2A#code"
}
]
},
"escrows": [
{
"address": "0xd60247c6848B7Ca29eDdF63AA924E53dB6Ddd8EC",
"sinceTimestamp": 1714550603,
"tokens": [
"ETH"
],
"chain": "ethereum",
"chainId": 1
},
{
"address": "0x996282cA11E5DEb6B5D122CC3B9A1FcAAD4415Ab",
"sinceTimestamp": 1714550603,
"tokens": "*",
"chain": "ethereum",
"chainId": 1
}
],
"programHashes": [
{
"title": "Proposal program of Raiko2 v0.6.0",
"description": "Proves a Taiko Shasta proposal state transition with Raiko2.",
"proverSystemProject": "sp1hypercube",
"programUrl": "https://github.com/taikoxyz/raiko2/blob/v0.6.0/guests/sp1/src/shasta_proposal.rs",
"verificationStatus": "successful",
"verificationSteps": "\nDependencies: Git, Rust/Cargo, Docker with a running daemon, and either `just` or the equivalent Cargo command below. The build pulls Docker images and locked Rust/git dependencies.\n\n1. Check out the correct tag in [raiko2](https://github.com/taikoxyz/raiko2):\n```\ngit clone https://github.com/taikoxyz/raiko2.git\ncd raiko2\ngit checkout v0.6.0\n```\nCommit hash should be `a9e88a4bd9e38383d601685d74e9d977531c909f`.\n2. From the `raiko2` root dir, rebuild the Shasta guest ELFs from source:\n```\njust build-guest all --force\n```\nIf `just` is unavailable, run the equivalent command:\n```\ncargo run -r -p xtask -- build-guest all --force\n```\nThis exports fresh ELFs to `crates/guests/elf`.\n3. Generate the guest digest summary from the rebuilt ELFs:\n```\ncargo run -r -p xtask-build-guest --bin guest-digests --features digests -- \\\n --output /tmp/raiko2-v0.6.0-guest-digests.json\n```\n4. In `/tmp/raiko2-v0.6.0-guest-digests.json`, find the entry with `object_name: \"sp1_shasta_proposal\"` and `digest_source: \"vk_bn254\"`. Its `digest` field should match this program hash.\n\nReferences: [Raiko2 v0.6.0 release](https://github.com/taikoxyz/raiko2/releases/tag/v0.6.0) and [Taiko Proposal0019 Unzen hardfork bundle](https://github.com/taikoxyz/taiko-mono/blob/9bd8e263065be0c553e41c6d4a82f978bdce80ed/packages/protocol/script/layer1/proposals/Proposal0019.md) from [taiko-mono#21935](https://github.com/taikoxyz/taiko-mono/pull/21935).\n",
"hash": "0x00ad090221a8fa0f09e1be7a53feb67be010f01310d4b2314a69d10152ee1ce0"
},
{
"title": "Proposal program of Raiko2 v0.6.0",
"description": "Proves a Taiko Shasta proposal state transition with Raiko2.",
"proverSystemProject": "sp1hypercube",
"programUrl": "https://github.com/taikoxyz/raiko2/blob/v0.6.0/guests/sp1/src/shasta_proposal.rs",
"verificationStatus": "successful",
"verificationSteps": "\nDependencies: Git, Rust/Cargo, Docker with a running daemon, and either `just` or the equivalent Cargo command below. The build pulls Docker images and locked Rust/git dependencies.\n\n1. Check out the correct tag in [raiko2](https://github.com/taikoxyz/raiko2):\n```\ngit clone https://github.com/taikoxyz/raiko2.git\ncd raiko2\ngit checkout v0.6.0\n```\nCommit hash should be `a9e88a4bd9e38383d601685d74e9d977531c909f`.\n2. From the `raiko2` root dir, rebuild the Shasta guest ELFs from source:\n```\njust build-guest all --force\n```\nIf `just` is unavailable, run the equivalent command:\n```\ncargo run -r -p xtask -- build-guest all --force\n```\nThis exports fresh ELFs to `crates/guests/elf`.\n3. Generate the guest digest summary from the rebuilt ELFs:\n```\ncargo run -r -p xtask-build-guest --bin guest-digests --features digests -- \\\n --output /tmp/raiko2-v0.6.0-guest-digests.json\n```\n4. In `/tmp/raiko2-v0.6.0-guest-digests.json`, find the entry with `object_name: \"sp1_shasta_proposal\"` and `digest_source: \"vk_hash_bytes\"`. Its `digest` field should match this program hash.\n\nReferences: [Raiko2 v0.6.0 release](https://github.com/taikoxyz/raiko2/releases/tag/v0.6.0) and [Taiko Proposal0019 Unzen hardfork bundle](https://github.com/taikoxyz/taiko-mono/blob/9bd8e263065be0c553e41c6d4a82f978bdce80ed/packages/protocol/script/layer1/proposals/Proposal0019.md) from [taiko-mono#21935](https://github.com/taikoxyz/taiko-mono/pull/21935).\n",
"hash": "0x568481106a3e83c23c37cf4a3feb67be008780984352c8c514d3a20252ee1ce0"
},
{
"title": "Aggregation program of Raiko2 v0.6.0",
"description": "Aggregates Raiko2 proofs for multiple Taiko Shasta proposals.",
"proverSystemProject": "sp1hypercube",
"programUrl": "https://github.com/taikoxyz/raiko2/blob/v0.6.0/guests/sp1/src/shasta_aggregation.rs",
"verificationStatus": "successful",
"verificationSteps": "\nDependencies: Git, Rust/Cargo, Docker with a running daemon, and either `just` or the equivalent Cargo command below. The build pulls Docker images and locked Rust/git dependencies.\n\n1. Check out the correct tag in [raiko2](https://github.com/taikoxyz/raiko2):\n```\ngit clone https://github.com/taikoxyz/raiko2.git\ncd raiko2\ngit checkout v0.6.0\n```\nCommit hash should be `a9e88a4bd9e38383d601685d74e9d977531c909f`.\n2. From the `raiko2` root dir, rebuild the Shasta guest ELFs from source:\n```\njust build-guest all --force\n```\nIf `just` is unavailable, run the equivalent command:\n```\ncargo run -r -p xtask -- build-guest all --force\n```\nThis exports fresh ELFs to `crates/guests/elf`.\n3. Generate the guest digest summary from the rebuilt ELFs:\n```\ncargo run -r -p xtask-build-guest --bin guest-digests --features digests -- \\\n --output /tmp/raiko2-v0.6.0-guest-digests.json\n```\n4. In `/tmp/raiko2-v0.6.0-guest-digests.json`, find the entry with `object_name: \"sp1_shasta_aggregation\"` and `digest_source: \"vk_bn254\"`. Its `digest` field should match this program hash.\n\nReferences: [Raiko2 v0.6.0 release](https://github.com/taikoxyz/raiko2/releases/tag/v0.6.0) and [Taiko Proposal0019 Unzen hardfork bundle](https://github.com/taikoxyz/taiko-mono/blob/9bd8e263065be0c553e41c6d4a82f978bdce80ed/packages/protocol/script/layer1/proposals/Proposal0019.md) from [taiko-mono#21935](https://github.com/taikoxyz/taiko-mono/pull/21935).\n",
"hash": "0x000b11691352e55fcf64f62620cefaa700161600093f2751032fe71ea912264d"
},
{
"title": "Aggregation program of Raiko2 v0.6.0",
"description": "Aggregates Raiko2 proofs for multiple Taiko Shasta proposals.",
"proverSystemProject": "sp1hypercube",
"programUrl": "https://github.com/taikoxyz/raiko2/blob/v0.6.0/guests/sp1/src/shasta_aggregation.rs",
"verificationStatus": "successful",
"verificationSteps": "\nDependencies: Git, Rust/Cargo, Docker with a running daemon, and either `just` or the equivalent Cargo command below. The build pulls Docker images and locked Rust/git dependencies.\n\n1. Check out the correct tag in [raiko2](https://github.com/taikoxyz/raiko2):\n```\ngit clone https://github.com/taikoxyz/raiko2.git\ncd raiko2\ngit checkout v0.6.0\n```\nCommit hash should be `a9e88a4bd9e38383d601685d74e9d977531c909f`.\n2. From the `raiko2` root dir, rebuild the Shasta guest ELFs from source:\n```\njust build-guest all --force\n```\nIf `just` is unavailable, run the equivalent command:\n```\ncargo run -r -p xtask -- build-guest all --force\n```\nThis exports fresh ELFs to `crates/guests/elf`.\n3. Generate the guest digest summary from the rebuilt ELFs:\n```\ncargo run -r -p xtask-build-guest --bin guest-digests --features digests -- \\\n --output /tmp/raiko2-v0.6.0-guest-digests.json\n```\n4. In `/tmp/raiko2-v0.6.0-guest-digests.json`, find the entry with `object_name: \"sp1_shasta_aggregation\"` and `digest_source: \"vk_hash_bytes\"`. Its `digest` field should match this program hash.\n\nReferences: [Raiko2 v0.6.0 release](https://github.com/taikoxyz/raiko2/releases/tag/v0.6.0) and [Taiko Proposal0019 Unzen hardfork bundle](https://github.com/taikoxyz/taiko-mono/blob/9bd8e263065be0c553e41c6d4a82f978bdce80ed/packages/protocol/script/layer1/proposals/Proposal0019.md) from [taiko-mono#21935](https://github.com/taikoxyz/taiko-mono/pull/21935).\n",
"hash": "0x0588b48954b957f36c9ec4c40cefaa7000b0b00024fc9d44065fce3d2912264d"
},
{
"title": "Proposal program of Raiko2 v0.6.0",
"description": "Proves a Taiko Shasta proposal state transition with Raiko2.",
"proverSystemProject": "risc0",
"programUrl": "https://github.com/taikoxyz/raiko2/blob/v0.6.0/guests/risc0/src/shasta_proposal.rs",
"verificationStatus": "successful",
"verificationSteps": "\nDependencies: Git, Rust/Cargo, Docker with a running daemon, and either `just` or the equivalent Cargo command below. The build pulls Docker images and locked Rust/git dependencies.\n\n1. Check out the correct tag in [raiko2](https://github.com/taikoxyz/raiko2):\n```\ngit clone https://github.com/taikoxyz/raiko2.git\ncd raiko2\ngit checkout v0.6.0\n```\nCommit hash should be `a9e88a4bd9e38383d601685d74e9d977531c909f`.\n2. From the `raiko2` root dir, rebuild the Shasta guest ELFs from source:\n```\njust build-guest all --force\n```\nIf `just` is unavailable, run the equivalent command:\n```\ncargo run -r -p xtask -- build-guest all --force\n```\nThis exports fresh ELFs to `crates/guests/elf`.\n3. Generate the guest digest summary from the rebuilt ELFs:\n```\ncargo run -r -p xtask-build-guest --bin guest-digests --features digests -- \\\n --output /tmp/raiko2-v0.6.0-guest-digests.json\n```\n4. In `/tmp/raiko2-v0.6.0-guest-digests.json`, find the entry with `object_name: \"risc0_shasta_proposal\"` and `digest_source: \"image_id\"`. Its `digest` field should match this program hash.\n\nReferences: [Raiko2 v0.6.0 release](https://github.com/taikoxyz/raiko2/releases/tag/v0.6.0) and [Taiko Proposal0019 Unzen hardfork bundle](https://github.com/taikoxyz/taiko-mono/blob/9bd8e263065be0c553e41c6d4a82f978bdce80ed/packages/protocol/script/layer1/proposals/Proposal0019.md) from [taiko-mono#21935](https://github.com/taikoxyz/taiko-mono/pull/21935).\n",
"hash": "0x5a818b4c7dc80e9ba85d55492c20c263c67238724e3982f76d15a158e501210b"
},
{
"title": "Aggregation program of Raiko2 v0.6.0",
"description": "Aggregates Raiko2 proofs for multiple Taiko Shasta proposals.",
"proverSystemProject": "risc0",
"programUrl": "https://github.com/taikoxyz/raiko2/blob/v0.6.0/guests/risc0/src/shasta_aggregation.rs",
"verificationStatus": "successful",
"verificationSteps": "\nDependencies: Git, Rust/Cargo, Docker with a running daemon, and either `just` or the equivalent Cargo command below. The build pulls Docker images and locked Rust/git dependencies.\n\n1. Check out the correct tag in [raiko2](https://github.com/taikoxyz/raiko2):\n```\ngit clone https://github.com/taikoxyz/raiko2.git\ncd raiko2\ngit checkout v0.6.0\n```\nCommit hash should be `a9e88a4bd9e38383d601685d74e9d977531c909f`.\n2. From the `raiko2` root dir, rebuild the Shasta guest ELFs from source:\n```\njust build-guest all --force\n```\nIf `just` is unavailable, run the equivalent command:\n```\ncargo run -r -p xtask -- build-guest all --force\n```\nThis exports fresh ELFs to `crates/guests/elf`.\n3. Generate the guest digest summary from the rebuilt ELFs:\n```\ncargo run -r -p xtask-build-guest --bin guest-digests --features digests -- \\\n --output /tmp/raiko2-v0.6.0-guest-digests.json\n```\n4. In `/tmp/raiko2-v0.6.0-guest-digests.json`, find the entry with `object_name: \"risc0_shasta_aggregation\"` and `digest_source: \"image_id\"`. Its `digest` field should match this program hash.\n\nReferences: [Raiko2 v0.6.0 release](https://github.com/taikoxyz/raiko2/releases/tag/v0.6.0) and [Taiko Proposal0019 Unzen hardfork bundle](https://github.com/taikoxyz/taiko-mono/blob/9bd8e263065be0c553e41c6d4a82f978bdce80ed/packages/protocol/script/layer1/proposals/Proposal0019.md) from [taiko-mono#21935](https://github.com/taikoxyz/taiko-mono/pull/21935).\n",
"hash": "0x9cfcc1b34a98853c3c5873a4d456726e528246f7f03a4ea35f27c2543aa6e7f0"
}
],
"risks": [
{
"category": "Funds can be stolen if",
"text": "a contract receives a malicious code upgrade. There is no delay on code upgrades.",
"isCritical": true
}
],
"zkVerifiers": [
"eth:0x0459d576A6223fEeA177Fb3DF53C9c77BF84C459",
"eth:0x8a0fd5e825D14368d90Fe68F31fceAe3E17AFc5C",
"eth:0xc3c6dDDAc8829b233Dc6536Ec024775a57b0AF2A",
"eth:0x20ff7C2Cf391a5F096A2Cc181cb41916680f8E97",
"eth:0x2a098988600d87650Fb061FfAff08B97149Fa84D",
"eth:0x54aCE3ED46529B4d4F3770C8Bad5dDC48717B9bF",
"eth:0xafB31f5b70623CDF4b20Ada3f7230916A5A79df9",
"eth:0xf70aBAb028Eb6F4100A24B203E113D94E87DE93C"
]
}
+1 -1
{
"baseTimestamp": 1785837430,
"baseTimestamp": 1786955407,
"contractsDiscoDriven": true,
"hasDiscoUi": true,
"isDiscoDriven": true,
"permissionsDiscoDriven": true
}
+1 -1
+1 -1
{
"baseTimestamp": 1785499067,
"baseTimestamp": 1786959877,
"contractsDiscoDriven": false,
"hasDiscoUi": false,
"isDiscoDriven": false,
"permissionsDiscoDriven": false
}