{
"badges": [],
"description": "The Chainlink price feeds that onchain protocols read for asset prices. Each feed is a proxy in front of an OCR2 aggregator whose reported price is the median of reports signed by a quorum of oracle nodes, all administered by a Chainlink multisig that can swap the aggregator behind any feed or reconfigure the node set and the quorum size.",
"detailedDescription": "Chainlink operates the price feeds that onchain protocols read to value their assets. This entry covers three of them: ETH/USD, stETH/USD, and rETH/ETH. Each feed is a proxy standing in front of an aggregator; consumers read the latest answer from the proxy, which forwards to whichever aggregator sits behind it.\n\n### How a price is produced\n\nEach feed runs Chainlink's OCR2 protocol. Offchain, the feed's oracle nodes observe a price and assemble a report carrying the median of their observations. To land onchain the report must be signed by a quorum of the feed's signers and relayed by one of its authorized transmitters. The aggregator recovers each signature, requires a quorum of distinct active signers, and records the report's median as the new answer. The quorum differs per feed: 11 of 31 signers for ETH/USD, 7 of 19 for stETH/USD, and 6 of 16 for rETH/ETH.\n\nTransmitters cannot alter a report, only submit it or withhold it; each is a forwarder contract that relays for a single node key set by the owner. The signers are the trust root: a colluding quorum can sign a report with any observations and move the reported price to almost any value. The only onchain check on the median is a floor of 1 (essentially zero at the feed's precision) and a ceiling so high it never binds, so the sole value the quorum cannot report is zero or a negative number.\n\n### Governance and trust surface\n\nA single 4/9 Gnosis Safe owns every proxy and aggregator. Through it the operators can rewrite a feed's signer and transmitter sets and its quorum size, or repoint a proxy to an entirely different aggregator in a two-step propose-then-confirm, so the Safe can replace either the price source or the parties that control it. It also sets the nodes' payees and billing and manages who may read the feed.\n\nReads are not fully public: each aggregator gates its price reads to an owner-managed allowlist of contracts plus any account calling directly as an externally owned account. A consuming protocol therefore reads a feed through its allowlisted proxy rather than calling the aggregator itself.",
"links": {
"websites": [
"https://chain.link/"
],
"documentation": [
"https://docs.chain.link/data-feeds"
],
"repositories": [
"https://github.com/smartcontractkit/chainlink"
],
"socialMedia": [
"https://x.com/chainlink"
]
}
}
colors+1-0
null
ecosystemColors+1-0
null
milestones+1-0
null
chainConfig+1-0
null
escrows+1-0
null
bridgeInfo+1-0
null
bridgeRisks+1-0
null
bridgeTechnology+1-0
null
scalingInfo+1-0
null
scalingStage+1-0
null
scalingRisks+1-0
null
scalingDa+1-0
null
scalingTechnology+1-0
null
daLayer+1-0
null
daBridge+1-0
null
customDa+1-0
null
zkCatalogInfo+1-0
null
interopConfig+1-0
null
privacyInfo+1-0
null
defiInfo+3-0
{
"category": "Oracle"
}
externalDependencies+1-0
null
tvsInfo+1-0
null
tvsConfig+1-0
null
activityConfig+1-0
null
livenessInfo+1-0
null
livenessConfig+1-0
null
costsInfo+1-0
null
trackedTxsConfig+1-0
null
daTrackingConfig+1-0
null
ecosystemInfo+1-0
null
ecosystemConfig+1-0
null
permissions+1088-0
{
"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_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": "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": "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:0x605b23dDB04B02D3413d365aC01e87aC2e1A0367",
"type": "Contract",
"isVerified": true,
"name": "0x605b…0367",
"url": "https://etherscan.io/address/0x605b23dDB04B02D3413d365aC01e87aC2e1A0367"
}
],
"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: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: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-19-and-EOA-38",
"name": "EOA 1, EOA 5, EOA 7, EOA 11, EOA 14, EOA 19 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 19"
},
{
"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-21,-EOA-22,-EOA-28,-EOA-29,-EOA-30,-EOA-34-and-EOA-35",
"name": "EOA 3, EOA 21, EOA 22, EOA 28, EOA 29, EOA 30, EOA 34 and EOA 35",
"accounts": [
{
"address": "eth:0x15E79C766b9Df3F8b3b60425f3122b2b61fd4212",
"type": "EOA",
"isVerified": true,
"name": "0x15E7…4212",
"url": "https://etherscan.io/address/0x15E79C766b9Df3F8b3b60425f3122b2b61fd4212",
"displayName": "EOA 3"
},
{
"address": "eth:0x93A3cA10Ca637ec5BBf8B2C00F5647EA20754dcb",
"type": "EOA",
"isVerified": true,
"name": "0x93A3…4dcb",
"url": "https://etherscan.io/address/0x93A3cA10Ca637ec5BBf8B2C00F5647EA20754dcb",
"displayName": "EOA 21"
},
{
"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"
}
],
"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-24,-EOA-26,-EOA-27,-EOA-36-and-EOA-37",
"name": "EOA 4, EOA 8, EOA 13, EOA 15, EOA 16, EOA 17, EOA 18, EOA 24, EOA 26, EOA 27, EOA 36 and EOA 37",
"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:0x88E66A3D292D4B7b4913A28333658A9F43772991",
"type": "EOA",
"isVerified": true,
"name": "0x88E6…2991",
"url": "https://etherscan.io/address/0x88E66A3D292D4B7b4913A28333658A9F43772991",
"displayName": "EOA 18"
},
{
"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"
},
{
"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_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-20-and-EOA-32",
"name": "EOA 9, EOA 12, EOA 20 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 20"
},
{
"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
}
]
}
}
contracts+112-0
{
"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 20, 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 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 21, 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 19, EOA 2, EOA 20, 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": []
}
{
"badges": [],
"description": "Liquity V2 is a borrowing protocol where users draw the BOLD stablecoin against ETH, wstETH, and rETH collateral at a user-set interest rate, each collateral held in its own isolated branch with a dedicated Stability Pool. Its contracts are immutable and adminless, so the protocol adds no trust assumptions of its own; the only one it carries is the externally controlled Chainlink price feed that each branch relies on to value its collateral.",
"detailedDescription": "Liquity V2 is an immutable borrowing protocol that issues BOLD, an onchain overcollateralized stablecoin soft-pegged to the US dollar. A user locks collateral and draws BOLD against it at an interest rate they set, from 0.5% to 250%. Each of three collaterals is a fully isolated branch with its own market, Stability Pool, and price feed: ETH (as WETH), Lido wstETH, and Rocket Pool rETH. A position is a trove, held as a transferable NFT.\n\nThe core contracts that govern borrowing, liquidations, and redemptions are immutable: no admin key, no pause, no upgrade path over user funds. Its only revenue, the interest borrowers pay, is split on each branch three quarters to Stability Pool depositors as yield and one quarter, via the single governed component, to community initiatives chosen by LQTY stakers; that component touches neither user funds nor parameters. This adminlessness is only of the protocol's own logic: each branch's price comes from an external [Chainlink](/defi/projects/chainlink) feed, fixed at deployment but run by Chainlink, whose operators and multisig can let it fail or move the value it reports.\n\nBOLD's dollar peg holds without active governance. A hard floor comes from redemptions: under a dollar, redeeming BOLD for a dollar of collateral is profitable, so arbitrage burns supply until the peg recovers. The ceiling is softer and market-driven: above a dollar, low redemption risk lets borrowers lower their rates, which makes minting fresh BOLD more attractive while cutting Stability Pool yields, so supply rises and the price eases back toward a dollar; below a dollar the same forces run in reverse, lifting yields and demand for BOLD.\n\n### Opening a trove\n\nTo open a trove, a borrower deposits collateral and draws at least 2,000 BOLD at their chosen rate. The position must stay above the branch's Minimum Collateral Ratio (MCR): 110% on the ETH branch, 120% on the wstETH and rETH branches. A trove in an interest-rate batch (see below) is instead held to the MCR plus a 10% Batch Collateral Ratio buffer (BCR).\n\nOpening costs two things: a 0.0375 WETH gas-compensation deposit, set aside and paid to the trove's liquidator or refunded on close, and an upfront borrowing fee of about seven days of interest at the branch's average rate, added to the debt.\n\nBeyond transferring the NFT, the owner can delegate specific actions: an add manager may add collateral or repay debt, a remove manager may withdraw collateral or draw BOLD to a set receiver, and an interest-rate delegate may change only the rate, within an agreed band.\n\n### Voluntary actions on a trove\n\nWhile a trove stays healthy, its owner or a delegate can freely adjust it, adding or withdrawing collateral and drawing or repaying BOLD, as long as it stays above the MCR with debt at or above 2,000 BOLD. Closing repays the debt, returns the collateral, and refunds the gas deposit. Accrued interest can be folded into the debt at any time.\n\nA trove's rate can change at any time, but a change within seven days of the previous one carries the upfront fee again, deterring redemption-gaming; later changes are free.\n\nA borrower can instead delegate the rate to an interest-rate batch. Anyone can register as a batch manager, declaring a fixed rate band and a management fee capped at 10% per year; they set one rate for the whole batch, changeable no more often than a declared period of at least an hour. Joining or leaving always charges the upfront fee.\n\n### Liquidations\n\nA trove becomes liquidatable once its collateral ratio falls below the MCR (or MCR plus BCR for a batched trove). Liquidation is permissionless: anyone can liquidate a list of underwater troves in one call.\n\nThe Stability Pool absorbs liquidations first, burning BOLD equal to the debt and taking the trove's collateral in return; it seizes the debt plus a 5% penalty, so depositors gain. If the pool cannot cover the whole debt, the rest is redistributed across the branch's other troves in proportion to size, at a higher penalty: 10% on ETH, 20% on wstETH and rETH.\n\nThe liquidator is paid the gas deposit plus 0.5% of the trove's collateral (capped at 2 units) as gas compensation. Whatever collateral remains after debt, penalty, and this compensation is the former owner's, claimable later.\n\n### Redemptions\n\nRedemptions are the mechanism behind the price floor: any holder can swap BOLD for an equal dollar value of collateral at the oracle price, burning the BOLD.\n\nA redemption is spread across branches in proportion to how unbacked each is (its debt minus the BOLD in its Stability Pool); branches that are shut down or below their Shutdown Collateral Ratio are skipped. Within a branch, troves are redeemed in ascending order of interest rate: a borrower's chosen rate is their redemption risk, so the lowest-rate troves go first and paying a higher rate moves a trove down the queue. A redeemed trove loses collateral and an equal dollar of debt, so aside from the fee the borrower has no net loss, just less collateral exposure.\n\nA redemption fee, taken from the collateral paid out, protects borrowers from cheap redemption. It starts at 0.5% and rises with the fraction of BOLD supply redeemed, then decays with a roughly six-hour half-life, so a wave of redemptions grows costlier before relaxing. A redemption that leaves a trove below the 2,000 BOLD minimum turns it into a \"zombie\", pulled from the ordinary queue and redeemed first next time.\n\n### Emergency scenarios\n\nBefore shutdown, a softer protection applies: no borrowing operation may push a branch's total collateral ratio below its Critical Collateral Ratio (CCR), 150% on ETH and 160% on wstETH and rETH. As a branch nears it, weakening actions like drawing more BOLD or withdrawing collateral are blocked until it recovers.\n\nA branch shuts down in one of two ways: anyone can trigger it once the branch's total collateral ratio falls below its Shutdown Collateral Ratio (SCR), 110% on ETH and 120% on wstETH and rETH, or it happens automatically when the Chainlink feed fails, meaning it reverts, returns a non-positive price, or goes stale past its window (1d for the ETH/USD and stETH/USD feeds, 2d for the rETH/ETH feed).\n\nAfter shutdown, all borrowing-side activity stops (no new troves, no drawing or repaying BOLD, no collateral moves, no rate changes) and interest stops accruing. Borrowers can still close troves and claim surplus, and Stability Pool depositors can still withdraw. Shutdown also opens urgent redemption: any holder can redeem against troves of their choosing, in any order, paying no fee and receiving a 2% collateral bonus instead.",
"links": {
"websites": [
"https://www.liquity.org/"
],
"documentation": [
"https://docs.liquity.org/"
],
"repositories": [
"https://github.com/liquity/bold"
],
"socialMedia": [
"https://x.com/LiquityProtocol",
"https://discord.com/invite/HFKpCdgQm6"
]
},
"references": [
{
"title": "Liquity V2 Whitepaper",
"url": "https://liquity.gitbook.io/v2-whitepaper"
}
]
}
[
{
"project": "chainlink",
"description": "Supplies the price feeds each branch reads to value its ETH, wstETH, or rETH collateral. A stale, zero, or reverting feed shuts that branch down."
},
{
"name": "Rocket Pool rETH",
"icon": "reth",
"description": "The rETH branch values its collateral partly from the rETH-to-ETH exchange rate reported by Rocket Pool's rETH token. A wrong rate misprices the branch, and a failing one shuts it down."
},
{
"name": "Lido wstETH",
"icon": "wsteth",
"description": "The wstETH branch values its collateral from Lido's wstETH-to-stETH exchange rate reported by the wstETH token. A wrong rate misprices the branch, and a failing one shuts it down."
}
]
{
"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_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": "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": "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:0x605b23dDB04B02D3413d365aC01e87aC2e1A0367",
"type": "Contract",
"isVerified": true,
"name": "0x605b…0367",
"url": "https://etherscan.io/address/0x605b23dDB04B02D3413d365aC01e87aC2e1A0367"
}
],
"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: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: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-19-and-EOA-38",
"name": "EOA 1, EOA 5, EOA 7, EOA 11, EOA 14, EOA 19 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 19"
},
{
"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-21,-EOA-22,-EOA-28,-EOA-29,-EOA-30,-EOA-34-and-EOA-35",
"name": "EOA 3, EOA 21, EOA 22, EOA 28, EOA 29, EOA 30, EOA 34 and EOA 35",
"accounts": [
{
"address": "eth:0x15E79C766b9Df3F8b3b60425f3122b2b61fd4212",
"type": "EOA",
"isVerified": true,
"name": "0x15E7…4212",
"url": "https://etherscan.io/address/0x15E79C766b9Df3F8b3b60425f3122b2b61fd4212",
"displayName": "EOA 3"
},
{
"address": "eth:0x93A3cA10Ca637ec5BBf8B2C00F5647EA20754dcb",
"type": "EOA",
"isVerified": true,
"name": "0x93A3…4dcb",
"url": "https://etherscan.io/address/0x93A3cA10Ca637ec5BBf8B2C00F5647EA20754dcb",
"displayName": "EOA 21"
},
{
"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"
}
],
"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-24,-EOA-26,-EOA-27,-EOA-36-and-EOA-37",
"name": "EOA 4, EOA 8, EOA 13, EOA 15, EOA 16, EOA 17, EOA 18, EOA 24, EOA 26, EOA 27, EOA 36 and EOA 37",
"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:0x88E66A3D292D4B7b4913A28333658A9F43772991",
"type": "EOA",
"isVerified": true,
"name": "0x88E6…2991",
"url": "https://etherscan.io/address/0x88E66A3D292D4B7b4913A28333658A9F43772991",
"displayName": "EOA 18"
},
{
"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"
},
{
"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_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-20-and-EOA-32",
"name": "EOA 9, EOA 12, EOA 20 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 20"
},
{
"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
}
]
}
}
contracts+850-0
{
"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 20, 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 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 21, 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 19, EOA 2, EOA 20, 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": []
}
{
"badges": [],
"description": "Uniswap v3 is a concentrated-liquidity AMM where anyone can deploy an immutable, adminless pool for any token pair at an enabled fee tier. User funds sit only in the pools, which no one can upgrade or pause. UNI tokenholder governance, acting through a 2-day timelock, holds two bounded control powers over v3 pools: enabling new fee tiers and setting a protocol fee capped at 1/4 of LP fees per side. Under the current UNIfication configuration, collected protocol fees are exchanged by the Firepit for UNI sent permanently to 0xdead; governance can change this disposal path after the timelock.",
"detailedDescription": "Uniswap v3 is a concentrated-liquidity automated market maker: a set of immutable pool contracts on Ethereum where anyone can swap one ERC-20 token for another against liquidity other users have deposited. There is no operator in the trading path and user funds sit only in the pools, which have no admin, no pause switch, and no upgrade path. The periphery contracts most users interact with, the routers and the position manager, are conveniences that hold no user funds: any contract that implements the pools' payment callbacks can trade and provide liquidity without them.\n\nUNI tokenholder governance exists alongside the pools rather than above them. Acting through a 2-day timelock, it can enable new fee tiers and set a protocol fee that pool code hard-caps at one quarter of LP fees; it cannot upgrade or pause a pool, move liquidity providers' funds, or censor swaps or pool creation.\n\n### Pools and concentrated liquidity\n\nEach pool trades one pair of tokens at one fee tier. The price axis is divided into ticks, discrete points spaced 0.01% apart, and a liquidity provider concentrates capital into a chosen tick range instead of spreading it from zero to infinity as in earlier AMM designs. While the market price is inside the range, the position earns fees like a leveraged-up constant-product position; outside it, the position sits idle, fully converted into one of the two tokens. Internally the pool tracks the current price as sqrtPriceX96, the square root of the token1/token0 price in Q64.96 fixed-point form.\n\nThe factory currently has 4 swap fee tiers enabled: 0.01%, 0.05%, 0.3%, and 1% of each swap. Those fees accrue to in-range liquidity after any protocol-fee share. Each tier fixes which ticks are usable via a tick spacing, coarser at higher tiers: the 0.05% USDC/WETH pool can use every 10th tick, the 0.3% WBTC/WETH pool every 60th.\n\nPool creation is permissionless: anyone can have the factory deploy a pool for any token pair at any enabled tier, one pool per pair and tier. Pools are deployed with CREATE2, so a pool's address is computable in advance from the factory address, the pair, and the fee. Once deployed, a pool never changes: its tokens, fee, and tick spacing are fixed. The only things anyone can later adjust are its oracle buffer size (permissionlessly, described below) and its protocol-fee share (governance-set, described below).\n\n### Providing liquidity\n\nLiquidity providers commonly mint through the NonfungiblePositionManager, which wraps each position as a transferable ERC-721 NFT and does the fee accounting per token ID. For positions minted this way, the NFT holder uses the manager to add or remove liquidity and collect fees. The manager is a convenience, not a gatekeeper: a pool's mint function is open to any contract that pays for the deposit in the pool's callback, and the owner of a direct pool position can withdraw liquidity and collect fees by calling the pool's burn and collect functions directly.\n\n### Swapping\n\nSwaps normally go through a router: SwapRouter, SwapRouter02 (which also reaches Uniswap v2 pools), or the UniversalRouter, which can pull tokens through Permit2 instead of direct ERC-20 allowances to the router. Which pools a trade crosses is computed off-chain by the interface or a routing API, and the chain never verifies that the chosen route was the best one. Router swap calls encode a minimum output or maximum input, but deadline protection depends on the entrypoint: the original SwapRouter includes a deadline, while SwapRouter02 and UniversalRouter provide deadline-bearing wrappers or overloads alongside paths with no deadline. A transaction sent through a no-deadline path can execute later as long as its amount bound still passes. A bad route can therefore execute anywhere down to the signed minimum, so the slippage tolerance, not the quote, is the real protection; anything below it reverts. Swapping without any router is equally possible for a contract that pays the pool in its swap callback.\n\n### The built-in oracle\n\nEvery pool doubles as a price oracle: it records cumulative-tick observations from which anyone can read a time-weighted average price over a chosen window, without any off-chain reporter. A pool starts with a single observation slot, and anyone can pay a one-time gas cost to grow the observation buffer, lengthening the window the pool can serve.\n\n### Governance and the fee switch\n\nProtocol control sits with UNI holders. An address with more than 1,000,000 UNI of delegated votes can submit a proposal to GovernorBravo; voting starts 13,140 blocks later and runs for 40,320 blocks. Passing takes more for- than against-votes and at least 40,000,000 UNI voting for. A passed proposal is queued in the Timelock and executable 2 days later. The same Timelock is the UNI token's minter, with new issuance capped at 2% per mint and a minimum interval of 1 year.\n\nOver pool behavior, governance holds exactly two control knobs, both exercised through the factory owner role. It can enable new fee tiers, each permanently bound to its tick spacing and never removable. And it can switch on the protocol fee: pool code requires each side's share to be zero or between 1/10 and 1/4 of that side's LP fees, so at most a quarter of swap fees, and never principal, can be diverted.\n\nThe protocol fee is switched on: since the UNIfication proposal the factory owner role sits with the V3OpenFeeAdapter, where governance sets the fee schedule (currently 1/4 of LP fees per side by default and 1/6 of LP fees per side on the 0.3% tier). Anyone can apply the scheduled fee to pools and, while the adapter remains factory owner, sweep accrued protocol fees to its hardcoded TokenJar.\n\nUnder the current configuration, the Firepit is the TokenJar's releaser. Anyone can burn the configured threshold of UNI by sending it permanently to 0xdead, then release up to 20 selected TokenJar balances to a chosen recipient. This disposal path is governed rather than immutable: after the timelock, governance can replace the TokenJar releaser, change the Firepit threshold (including to zero), or transfer factory ownership so a new owner can collect accrued protocol fees to another recipient. These controls apply only to protocol-fee accounting and cannot withdraw liquidity providers' principal.\n\nGovernance cannot upgrade, pause, or drain a pool, change a live pool's swap fee or tick spacing, block a swap, or stop anyone from creating a pool at an enabled tier.",
"links": {
"websites": [
"https://app.uniswap.org/"
],
"documentation": [
"https://docs.uniswap.org/contracts/v3/overview"
],
"repositories": [
"https://github.com/Uniswap/v3-core"
],
"socialMedia": [
"https://x.com/Uniswap"
]
},
"references": [
{
"title": "Uniswap v3 Core Whitepaper",
"url": "https://app.uniswap.org/whitepaper-v3.pdf"
},
{
"title": "UNIfication proposal (protocol fees & UNI burn)",
"url": "https://vote.uniswapfoundation.org/proposals/93"
}
]
}
colors+1-0
null
ecosystemColors+1-0
null
milestones+1-0
null
chainConfig+1-0
null
escrows+1-0
null
bridgeInfo+1-0
null
bridgeRisks+1-0
null
bridgeTechnology+1-0
null
scalingInfo+1-0
null
scalingStage+1-0
null
scalingRisks+1-0
null
scalingDa+1-0
null
scalingTechnology+1-0
null
daLayer+1-0
null
daBridge+1-0
null
customDa+1-0
null
zkCatalogInfo+1-0
null
interopConfig+1-0
null
privacyInfo+1-0
null
defiInfo+3-0
{
"category": "DEX"
}
externalDependencies+1-0
[]
tvsInfo+1-0
null
tvsConfig+1-0
null
activityConfig+1-0
null
livenessInfo+1-0
null
livenessConfig+1-0
null
costsInfo+1-0
null
trackedTxsConfig+1-0
null
daTrackingConfig+1-0
null
ecosystemInfo+1-0
null
ecosystemConfig+1-0
null
permissions+23-0
{
"ethereum": {
"roles": [],
"actors": [
{
"id": "GovernorBravo",
"name": "GovernorBravo",
"accounts": [
{
"address": "eth:0x408ED6354d4973f66138C91495F2f2FCbd8724C3",
"type": "Contract",
"isVerified": true,
"name": "0x408E…24C3",
"url": "https://etherscan.io/address/0x408ED6354d4973f66138C91495F2f2FCbd8724C3"
}
],
"chain": "ethereum",
"description": "Upgradeable Governor Bravo governance proxy. Holders with more than the current proposal threshold of 1,000,000 UNI can create proposals. Voting begins 13,140 blocks after proposal creation and lasts 40,320 blocks; success requires more for-votes than against-votes and at least 40,000,000 UNI voting for. Successful proposals are queued in the configured timelock. The proxy admin can replace the implementation or nominate a new admin.\n* Can upgrade **with 2d delay**\n * GovernorBravo [via: Timelock with 2d delay]\n* Can interact with Firepit\n * can change the burn-token amount required per token-jar release **with 2d delay** [via: Timelock with 2d delay]\n * can replace the thresholdSetter **with 2d delay** [via: Timelock with 2d delay]\n* Can interact with Timelock\n * can queue, cancel, and execute timelocked transactions, and change the delay or admin (through the timelock itself) \n* Can interact with UNIToken\n * can mint up to 2% of the token supply per mint after the minimum 1y interval, and set a new minter **with 2d delay** [via: Timelock with 2d delay]\n* Can interact with UniswapV3Factory\n * can enable new fee tiers, set the protocol fee share (up to 1/4 of LP fees per side) on any pool, collect accrued protocol fees, and transfer factory ownership **with 2d delay** [via: Timelock with 2d delay → V3OpenFeeAdapter]\n* Can interact with V3OpenFeeAdapter\n * can enable new fee tiers, change the feeSetter, and transfer UniswapV3Factory ownership to a new contract **with 2d delay** [via: Timelock with 2d delay]\n * sets the protocol fee schedule (global default, per-tier defaults, per-pool overrides) that anyone can then apply to pools **with 2d delay** [via: Timelock with 2d delay]\n* Can interact with TokenJar\n * can replace the releaser and thereby redirect all held and future token balances **with 2d delay** [via: Timelock with 2d delay]",
"discoveryDrivenData": true
}
]
}
}
contracts+202-0
{
"addresses": {
"ethereum": [
{
"name": "Permit2",
"isVerified": true,
"address": "eth:0x000000000022D473030F116dDEE9F6B43aC78BA3",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Signature-based token approval hub. Users grant it one ERC20 approval per token, then authorize spenders via time- and amount-bounded signed permits, revocable via lockdown. Immutable and ownerless; any spender with a valid permit can pull the permitted amount.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x000000000022D473030F116dDEE9F6B43aC78BA3#code"
},
{
"name": "Firepit",
"isVerified": true,
"address": "eth:0x0D5Cd355e2aBEB8fb1552F56c965B867346d6721",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Burn-and-release contract: anyone can transfer the configured threshold (currently 4,000 UNI) to a fixed burn address and release selected balances from its token jar to a chosen recipient. The threshold setter can change the threshold, including to zero, and the owner can replace the threshold setter.\n* Roles:\n * **owner**: Timelock; ultimately GovernorBravo\n * **thresholdSetter**: Timelock; ultimately GovernorBravo",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x0D5Cd355e2aBEB8fb1552F56c965B867346d6721#code"
},
{
"name": "Timelock",
"isVerified": true,
"address": "eth:0x1a9C8182C09F50C8318d769245beA52c32BE35BC",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Compound-style timelock. Its admin can queue, cancel, and execute transactions. A queued transaction becomes executable after 2d and remains executable for a 14d grace period. The delay can be changed only through the timelock itself and must remain between 2d and 1mo. After the one-time admin initialization path has been used, changing the admin requires a timelocked self-call; there is no emergency bypass.\n* Roles:\n * **admin**: GovernorBravo",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x1a9C8182C09F50C8318d769245beA52c32BE35BC#code"
},
{
"name": "UNIToken",
"isVerified": true,
"address": "eth:0x1f9840a85d5aF5bf1D1762F925BDADdC4201F984",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "ERC20 governance token with checkpoint voting. Its constructor mints a fixed initial supply; the minter can mint at most 2% of supply per mint, with a minimum interval of 1y. Votes count only when delegated.\n* Roles:\n * **minter**: Timelock; ultimately GovernorBravo",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x1f9840a85d5aF5bf1D1762F925BDADdC4201F984#code"
},
{
"name": "UniswapV3Factory",
"isVerified": true,
"address": "eth:0x1F98431c8aD98523631AE4a59f267346ea31F984",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Deploys Uniswap v3 pools: anyone can create one pool per token pair and enabled fee tier, at a CREATE2 address deterministic in (token0, token1, fee). Immutable. Its owner holds exactly three powers: enable new fee tiers (irreversible), call setFeeProtocol/collectProtocol on pools, and transfer the owner role. It cannot modify, pause, or upgrade deployed pools.\n* Roles:\n * **owner**: V3OpenFeeAdapter; ultimately GovernorBravo",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x1F98431c8aD98523631AE4a59f267346ea31F984#code"
},
{
"name": "UniversalRouter",
"isVerified": true,
"address": "eth:0x66a9893cC07D91D95644AEDD05D03f95e1dBA8Af",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Command-based router that executes caller-supplied operations such as v2/v3/v4 swaps, Permit2 transfers, WETH wrapping, and token sweeps in one transaction. Immutable and unprivileged; routes are computed off-chain by the caller.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x66a9893cC07D91D95644AEDD05D03f95e1dBA8Af#code"
},
{
"name": "SwapRouter02",
"isVerified": true,
"address": "eth:0x68b3465833fb72A70ecDF485E0e4C7bD8665Fc45",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Swap router covering both v2 and v3 pools with multicall batching. Immutable and unprivileged: it only moves funds of callers who approved it, along routes the caller encodes.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x68b3465833fb72A70ecDF485E0e4C7bD8665Fc45#code"
},
{
"name": "UniswapV3Pool_USDC_WETH_005",
"isVerified": true,
"address": "eth:0x88e6A0c2dDD26FEEb64F039a2c41296FcB3f5640",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "A concentrated-liquidity AMM pool for one token pair at one fee tier, deployed by the factory and fully immutable: no owner, no pause, no upgrade path. LPs provide liquidity on tick ranges; swap fees accrue to in-range positions. The factory owner can divert up to 1/4 of the swap fee per side as protocol fee. Also a TWAP oracle whose observation buffer anyone can grow.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x88e6A0c2dDD26FEEb64F039a2c41296FcB3f5640#code"
},
{
"name": "NonfungiblePositionManager",
"isVerified": true,
"address": "eth:0xC36442b4a4522E871399CD717aBDD847Ab11FE88",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Wraps pool positions into ERC721 NFTs: it is the pool-level owner of the wrapped positions and tracks each tokenId's range, liquidity, and fees, so NFT holders manage and collect through it. Immutable and unprivileged: no special rights in the pools, which can equally be used directly.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xC36442b4a4522E871399CD717aBDD847Ab11FE88#code"
},
{
"name": "UniswapV3Pool_WBTC_WETH_03",
"isVerified": true,
"address": "eth:0xCBCdF9626bC03E24f779434178A73a0B4bad62eD",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "A concentrated-liquidity AMM pool for one token pair at one fee tier, deployed by the factory and fully immutable: no owner, no pause, no upgrade path. LPs provide liquidity on tick ranges; swap fees accrue to in-range positions. The factory owner can divert up to 1/4 of the swap fee per side as protocol fee. Also a TWAP oracle whose observation buffer anyone can grow.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xCBCdF9626bC03E24f779434178A73a0B4bad62eD#code"
},
{
"name": "SwapRouter",
"isVerified": true,
"address": "eth:0xE592427A0AEce92De3Edee1F18E0157C05861564",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "V3 swap router supporting single- and multi-hop exact-input and exact-output swaps. Immutable and unprivileged; it executes the route encoded by the caller.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xE592427A0AEce92De3Edee1F18E0157C05861564#code"
},
{
"name": "V3OpenFeeAdapter",
"isVerified": true,
"address": "eth:0xf2371551Fe3937Db7c750f4DfABe5c2fFFdcBf5A",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Adapter for administering a configured Uniswap v3 factory. While it holds the factory owner role, anyone can ask it to apply configured protocol fees to pools or collect accrued fees to its fixed recipient. The fee setter controls global, per-tier, and per-pool fee settings; the owner can replace the fee setter, enable factory fee tiers, or transfer factory ownership.\n* Roles:\n * **feeSetter**: Timelock; ultimately GovernorBravo\n * **owner**: Timelock; ultimately GovernorBravo",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xf2371551Fe3937Db7c750f4DfABe5c2fFFdcBf5A#code"
},
{
"name": "TokenJar",
"isVerified": true,
"address": "eth:0xf38521f130fcCF29dB1961597bc5d2B60F995f85",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Token escrow whose releaser can transfer held balances. The owner can replace the releaser, changing who controls accumulated and future deposits.\n* Roles:\n * **owner**: Timelock; ultimately GovernorBravo",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xf38521f130fcCF29dB1961597bc5d2B60F995f85#code"
}
]
},
"risks": []
}