{
"badges": [],
"description": "Lido is Ethereum’s largest liquid staking protocol. Users deposit ETH and receive stETH, a rebasing token whose supply tracks the protocol’s total pooled ETH staked across four node-operator modules. Because staked ETH lives on the beacon chain, the core trust surface is the execution-layer↔consensus-layer boundary, bridged by a 5-of-9 oracle committee (bounded by on-chain sanity checks) and by trustless EIP-4788 beacon-root proofs. Withdrawal credentials are set by the protocol, so node operators cannot take user principal. Every protocol-critical change is controlled by the Lido DAO through Dual Governance, which gives stETH holders a veto and a rage-quit exit against DAO proposals over a 3-day-plus timelock.",
"detailedDescription": "Lido is Ethereum’s largest liquid staking protocol. Users deposit ETH and receive stETH, a rebasing ERC-20 whose balance equals `shares × shareRate`, so its total supply tracks the protocol’s total pooled ETH. wstETH is an immutable, adminless wrapper where 1 wstETH permanently equals one stETH share; its value changes only through the stETH contract it points to.\n\n### Staking and node operators\n\nDeposited ETH is buffered in the Lido contract, then routed by the StakingRouter across four staking modules — the curated Node Operators Registry, Simple DVT, the permissionless Community Staking Module, and the MaxEB Curated Module v2. Withdrawal credentials for pooled validators are set by the router to the protocol’s WithdrawalVault, not by operators, so operators can never redirect user principal. Their misbehavior can only degrade yield (socialized to stETH holders), they post a bond in the newer modules (CSM/CMv2), and their validators can be force-exited via EIP-7002.\n\n\n\n### The oracle and the EL↔CL boundary\n\nBecause validator balances, exits and slashings live on the consensus layer, Lido bridges that boundary two ways: a 9-member oracle committee (quorum 5 of 9, the same members across all consensus instances) that reports aggregate balances and drives the daily rebase and withdrawal finalization; and trustless EIP-4788 beacon-root proofs for facts about specific validators. A malicious oracle quorum is bounded by the OracleReportSanityChecker, which clamps per-report rebase and consensus-layer balance change within on-chain limits — it can degrade or freeze, but principal theft is tightly bounded. If the oracle committee stops reporting, rebases and withdrawal finalization stop.\n\n### Deposits, DSM and withdrawals\n\nDeposits of pooled ETH into new validators flow only through the Deposit Security Module (stVaults deposit through the PredepositGuarantee instead): 6 guardians (quorum 4) sign off on the current deposit-contract root and key set before each deposit, guarding against the [deposit-frontrunning attack](https://hackmd.io/@lido/HJfjMgW56), in which a node operator pre-registers one of its validator keys with its own withdrawal credentials so that Lido’s deposit to that key would end up under the operator’s control; any single guardian can pause deposits. Withdrawals are requested into the WithdrawalQueue (minting an unstETH NFT) and can only be finalized inside the oracle report, paying the lesser of the rate at request time and the report’s share rate.\n\n\n\n### stVaults (Lido V3)\n\nIsolated StakingVaults let operators mint stETH against 0x02-credential collateral, over-collateralized per tier, capped at 10% of stETH shares per vault and a global 30% external-ratio cap in the Lido contract. Bad debt can only be socialized to stETH holders through a role-gated committee process with an LDO objection window.\n\n### Governance and Dual Governance\n\nEvery protocol-critical action is controlled by the Lido DAO and must pass Dual Governance: Aragon Voting proposes, and execution flows through a timelock (3-day submit + 1-day schedule minimum) to the DAO Agent, which is proxy-admin of the entire protocol. stETH and wstETH holders can veto by locking ≥1% of supply in the signalling Escrow, and rage-quit at ≥10% to exit before a contested proposal executes. A time-boxed emergency committee set can freeze execution or, until 2027-06-20, reset governance to a no-veto fallback. Because the DAO can re-point the whole protocol by swapping the LidoLocator implementation, the ultimate trust assumption is the DAO acting through Dual Governance’s economic-veto timelock.",
"links": {
"websites": [
"https://lido.fi/"
],
"documentation": [
"https://docs.lido.fi/"
],
"repositories": [
"https://github.com/lidofinance/core"
],
"socialMedia": [
"https://x.com/LidoFinance"
]
}
}
{
"ethereum": {
"roles": [],
"actors": [
{
"id": "Voting",
"name": "Voting",
"accounts": [
{
"address": "eth:0x2e59A20f205bB85a89C53f1936454680651E618e",
"type": "Contract",
"isVerified": true,
"name": "0x2e59…618e",
"url": "https://etherscan.io/address/0x2e59A20f205bB85a89C53f1936454680651E618e"
}
],
"chain": "ethereum",
"description": "Lido DAO's Aragon token voting application. LDO holders vote on executable DAO scripts, with configurable support, quorum, vote duration, and an objection phase.\n* Can upgrade **with 3d delay**\n * ExitPenalties [via: DualGovernance → EmergencyProtectedTimelock with 3d delay → Executor → Lido Dao Agent]\n * ExitPenalties [via: DualGovernance → EmergencyProtectedTimelock with 3d delay → Executor → Lido Dao Agent]\n * ValidatorsExitBusOracle [via: DualGovernance → EmergencyProtectedTimelock with 3d delay → Executor → Lido Dao Agent]\n * VaultHub [via: DualGovernance → EmergencyProtectedTimelock with 3d delay → Executor → Lido Dao Agent]\n * CuratedGate [via: DualGovernance → EmergencyProtectedTimelock with 3d delay → Executor → Lido Dao Agent]\n * Core Accounting [via: DualGovernance → EmergencyProtectedTimelock with 3d delay → Executor → Lido Dao Agent]\n * Accounting [via: DualGovernance → EmergencyProtectedTimelock with 3d delay → Executor → Lido Dao Agent]\n * FeeDistributor [via: DualGovernance → EmergencyProtectedTimelock with 3d delay → Executor → Lido Dao Agent]\n * CuratedGate [via: DualGovernance → EmergencyProtectedTimelock with 3d delay → Executor → Lido Dao Agent]\n * StakingVault [via: DualGovernance → EmergencyProtectedTimelock with 3d delay → Executor → Lido Dao Agent]\n * TopUpGateway [via: DualGovernance → EmergencyProtectedTimelock with 3d delay → Executor → Lido Dao Agent]\n * FeeOracle [via: DualGovernance → EmergencyProtectedTimelock with 3d delay → Executor → Lido Dao Agent]\n * Accounting [via: DualGovernance → EmergencyProtectedTimelock with 3d delay → Executor → Lido Dao Agent]\n * LazyOracle [via: DualGovernance → EmergencyProtectedTimelock with 3d delay → Executor → Lido Dao Agent]\n * CuratedGate [via: DualGovernance → EmergencyProtectedTimelock with 3d delay → Executor → Lido Dao Agent]\n * StakingVault [via: DualGovernance → EmergencyProtectedTimelock with 3d delay → Executor → Lido Dao Agent]\n * CuratedGate [via: DualGovernance → EmergencyProtectedTimelock with 3d delay → Executor → Lido Dao Agent]\n * AccountingOracle [via: DualGovernance → EmergencyProtectedTimelock with 3d delay → Executor → Lido Dao Agent]\n * CuratedGate [via: DualGovernance → EmergencyProtectedTimelock with 3d delay → Executor → Lido Dao Agent]\n * WithdrawalQueueERC721 [via: DualGovernance → EmergencyProtectedTimelock with 3d delay → Executor → Lido Dao Agent]\n * CuratedGate [via: DualGovernance → EmergencyProtectedTimelock with 3d delay → Executor → Lido Dao Agent]\n * FeeOracle [via: DualGovernance → EmergencyProtectedTimelock with 3d delay → Executor → Lido Dao Agent]\n * ParametersRegistry [via: DualGovernance → EmergencyProtectedTimelock with 3d delay → Executor → Lido Dao Agent]\n * ConsolidationMigrator [via: DualGovernance → EmergencyProtectedTimelock with 3d delay → Executor → Lido Dao Agent]\n * VettedGate [via: DualGovernance → EmergencyProtectedTimelock with 3d delay → Executor → Lido Dao Agent]\n * MetaRegistry [via: DualGovernance → EmergencyProtectedTimelock with 3d delay → Executor → Lido Dao Agent]\n * ValidatorStrikes [via: DualGovernance → EmergencyProtectedTimelock with 3d delay → Executor → Lido Dao Agent]\n * VettedGate [via: DualGovernance → EmergencyProtectedTimelock with 3d delay → Executor → Lido Dao Agent]\n * WithdrawalVault [via: DualGovernance → EmergencyProtectedTimelock with 3d delay → Executor → Lido Dao Agent]\n * LidoLocator [via: DualGovernance → EmergencyProtectedTimelock with 3d delay → Executor → Lido Dao Agent]\n * OperatorGrid [via: DualGovernance → EmergencyProtectedTimelock with 3d delay → Executor → Lido Dao Agent]\n * StakingVault [via: DualGovernance → EmergencyProtectedTimelock with 3d delay → Executor → Lido Dao Agent]\n * ConsolidationBus [via: DualGovernance → EmergencyProtectedTimelock with 3d delay → Executor → Lido Dao Agent]\n * FeeDistributor [via: DualGovernance → EmergencyProtectedTimelock with 3d delay → Executor → Lido Dao Agent]\n * CuratedModule [via: DualGovernance → EmergencyProtectedTimelock with 3d delay → Executor → Lido Dao Agent]\n * CSModule [via: DualGovernance → EmergencyProtectedTimelock with 3d delay → Executor → Lido Dao Agent]\n * StakingVault [via: DualGovernance → EmergencyProtectedTimelock with 3d delay → Executor → Lido Dao Agent]\n * Burner [via: DualGovernance → EmergencyProtectedTimelock with 3d delay → Executor → Lido Dao Agent]\n * CuratedGate [via: DualGovernance → EmergencyProtectedTimelock with 3d delay → Executor → Lido Dao Agent]\n * ValidatorStrikes [via: DualGovernance → EmergencyProtectedTimelock with 3d delay → Executor → Lido Dao Agent]\n * PredepositGuarantee [via: DualGovernance → EmergencyProtectedTimelock with 3d delay → Executor → Lido Dao Agent]\n * StakingRouter [via: DualGovernance → EmergencyProtectedTimelock with 3d delay → Executor → Lido Dao Agent]\n * ParametersRegistry [via: DualGovernance → EmergencyProtectedTimelock with 3d delay → Executor → Lido Dao Agent]\n* Can interact with ValidatorsExitBusOracle\n * grant or revoke every ValidatorsExitBusOracle role **with 3d delay** [via: DualGovernance → EmergencyProtectedTimelock with 3d delay → Executor → Lido Dao Agent]\n * pause validator-exit report processing for a chosen duration [via: DualGovernance → ResealManager]\n * resume validator-exit report processing [via: DualGovernance → ResealManager]\n* Can interact with OracleReportSanityChecker\n * grant or revoke OracleReportSanityChecker roles **with 3d delay** [via: DualGovernance → EmergencyProtectedTimelock with 3d delay → Executor → Lido Dao Agent]\n* Can interact with Escrow\n * change the minimum asset-lock duration and convert this signalling escrow into a Rage Quit escrow [via: DualGovernance]\n* Can interact with ConsolidationGateway\n * grant or revoke ConsolidationGateway roles **with 3d delay** [via: DualGovernance → EmergencyProtectedTimelock with 3d delay → Executor → Lido Dao Agent]\n * pause validator consolidation requests for a chosen duration [via: DualGovernance → ResealManager]\n * resume validator consolidation requests [via: DualGovernance → ResealManager]\n* Can interact with VaultHub\n * grant or revoke every VaultHub role **with 3d delay** [via: DualGovernance → EmergencyProtectedTimelock with 3d delay → Executor → Lido Dao Agent]\n * pause VaultHub operations for a chosen duration [via: DualGovernance → ResealManager]\n * resume VaultHub operations [via: DualGovernance → ResealManager]\n* Can interact with CuratedGate\n * grant or revoke gate roles and change the gate's display name **with 3d delay** [via: DualGovernance → EmergencyProtectedTimelock with 3d delay → Executor → Lido Dao Agent]\n* Can interact with Executor\n * make arbitrary calls through this executor and transfer its ownership **with 3d delay** [via: DualGovernance → EmergencyProtectedTimelock with 3d delay]\n* Can interact with Voting\n * change the minimum quorum required for a vote to pass \n * change the minimum support required for a vote to pass \n * grant, revoke, parameterize, or transfer management of the quorum-setting permission \n * grant, revoke, parameterize, or transfer management of the support-setting permission \n * grant, revoke, parameterize, or transfer management of the unsafe vote-time permission \n * grant, revoke, parameterize, or transfer management of the vote-creation permission \n* Can interact with Accounting\n * grant or revoke Accounting roles, change the bond lock period and penalty recipient, and configure fee splits and custom rewards claimers **with 3d delay** [via: DualGovernance → EmergencyProtectedTimelock with 3d delay → Executor → Lido Dao Agent]\n * pause bond deposits and reward claims for a chosen duration [via: DualGovernance → ResealManager]\n * resume bond deposits and reward claims [via: DualGovernance → ResealManager]\n* Can interact with FeeDistributor\n * grant or revoke FeeDistributor roles and change the rebate recipient **with 3d delay** [via: DualGovernance → EmergencyProtectedTimelock with 3d delay → Executor → Lido Dao Agent]\n* Can interact with CuratedGate\n * grant or revoke gate roles and change the gate's display name **with 3d delay** [via: DualGovernance → EmergencyProtectedTimelock with 3d delay → Executor → Lido Dao Agent]\n* Can interact with TiebreakerBuildersSubcommittee\n * add or remove subcommittee members, change quorum and voting timelock, or transfer subcommittee ownership **with 3d delay** [via: DualGovernance → EmergencyProtectedTimelock with 3d delay → Executor]\n* Can interact with Lido Dao Agent\n * grant, revoke, parameterize, or transfer management of the Agent asset-transfer permission \n * grant, revoke, parameterize, or transfer management of the Agent execution permission **with 3d delay** [via: DualGovernance → EmergencyProtectedTimelock with 3d delay → Executor → Lido Dao Agent]\n * grant, revoke, parameterize, or transfer management of the Agent script-runner permission **with 3d delay** [via: DualGovernance → EmergencyProtectedTimelock with 3d delay → Executor → Lido Dao Agent]\n* Can interact with TopUpGateway\n * grant or revoke TopUpGateway roles **with 3d delay** [via: DualGovernance → EmergencyProtectedTimelock with 3d delay → Executor → Lido Dao Agent]\n * pause validator top-ups for a chosen duration [via: DualGovernance → ResealManager]\n * resume validator top-ups [via: DualGovernance → ResealManager]\n* Can interact with FeeOracle\n * grant or revoke every FeeOracle role **with 3d delay** [via: DualGovernance → EmergencyProtectedTimelock with 3d delay → Executor → Lido Dao Agent]\n * pause fee report submission for a chosen duration [via: DualGovernance → ResealManager]\n * resume fee report submission [via: DualGovernance → ResealManager]\n* Can interact with Accounting\n * grant or revoke Accounting roles, change the bond lock period and penalty recipient, and configure fee splits and custom rewards claimers **with 3d delay** [via: DualGovernance → EmergencyProtectedTimelock with 3d delay → Executor → Lido Dao Agent]\n * pause bond deposits and reward claims for a chosen duration [via: DualGovernance → ResealManager]\n * resume bond deposits and reward claims [via: DualGovernance → ResealManager]\n* Can interact with NodeOperatorsRegistry\n * add, activate, deactivate, rename, and change reward addresses of node operators, update penalty settings, and manage signing keys **with 3d delay** [via: DualGovernance → EmergencyProtectedTimelock with 3d delay → Executor → Lido Dao Agent]\n * grant, revoke, parameterize, or transfer management of the node-operator management permission **with 3d delay** [via: DualGovernance → EmergencyProtectedTimelock with 3d delay → Executor → Lido Dao Agent]\n * grant, revoke, parameterize, or transfer management of the operator-limit permission **with 3d delay** [via: DualGovernance → EmergencyProtectedTimelock with 3d delay → Executor → Lido Dao Agent]\n * grant, revoke, parameterize, or transfer management of the signing-key permission **with 3d delay** [via: DualGovernance → EmergencyProtectedTimelock with 3d delay → Executor → Lido Dao Agent]\n * grant, revoke, parameterize, or transfer management of the staking-router permission **with 3d delay** [via: DualGovernance → EmergencyProtectedTimelock with 3d delay → Executor → Lido Dao Agent]\n* Can interact with TimelockedGovernance\n * submit emergency-governance proposals and cancel all pending proposals \n* Can interact with LazyOracle\n * grant or revoke LazyOracle roles **with 3d delay** [via: DualGovernance → EmergencyProtectedTimelock with 3d delay → Executor → Lido Dao Agent]\n* Can interact with UpgradeableBeacon\n * change the beacon implementation **with 3d delay** [via: DualGovernance → EmergencyProtectedTimelock with 3d delay → Executor → Lido Dao Agent]\n* Can interact with CircuitBreaker\n * change pause and heartbeat durations and assign, replace, or remove pausers for supported protocol contracts **with 3d delay** [via: DualGovernance → EmergencyProtectedTimelock with 3d delay → Executor → Lido Dao Agent]\n* Can interact with CuratedGate\n * grant or revoke gate roles and change the gate's display name **with 3d delay** [via: DualGovernance → EmergencyProtectedTimelock with 3d delay → Executor → Lido Dao Agent]\n* Can interact with Ejector\n * grant or revoke Ejector roles **with 3d delay** [via: DualGovernance → EmergencyProtectedTimelock with 3d delay → Executor → Lido Dao Agent]\n * pause validator ejection requests [via: DualGovernance → ResealManager]\n * resume validator ejection requests [via: DualGovernance → ResealManager]\n* Can interact with HashConsensus\n * add or remove oracle committee members and change the report quorum **with 3d delay** [via: DualGovernance → EmergencyProtectedTimelock with 3d delay → Executor → Lido Dao Agent]\n * grant or revoke every HashConsensus role **with 3d delay** [via: DualGovernance → EmergencyProtectedTimelock with 3d delay → Executor → Lido Dao Agent]\n* Can interact with CuratedGate\n * grant or revoke gate roles and change the gate's display name **with 3d delay** [via: DualGovernance → EmergencyProtectedTimelock with 3d delay → Executor → Lido Dao Agent]\n* Can interact with ResealManager\n * reseal an already paused contract indefinitely or resume a paused contract through this adapter [via: DualGovernance]\n* Can interact with OracleRouter\n * appoint the manager and emergency operator of the OracleRouter and configure all token price feed routes, staleness limits and activation flags \n* Can interact with HashConsensus\n * add or remove oracle committee members and change the report quorum **with 3d delay** [via: DualGovernance → EmergencyProtectedTimelock with 3d delay → Executor → Lido Dao Agent]\n * grant or revoke every HashConsensus role **with 3d delay** [via: DualGovernance → EmergencyProtectedTimelock with 3d delay → Executor → Lido Dao Agent]\n* Can interact with AccountingOracle\n * grant or revoke every AccountingOracle role **with 3d delay** [via: DualGovernance → EmergencyProtectedTimelock with 3d delay → Executor → Lido Dao Agent]\n* Can interact with EVMScriptRegistry\n * grant, revoke, parameterize, or transfer management of the executor-adder permission **with 3d delay** [via: DualGovernance → EmergencyProtectedTimelock with 3d delay → Executor → Lido Dao Agent]\n * grant, revoke, parameterize, or transfer management of the registry-manager permission **with 3d delay** [via: DualGovernance → EmergencyProtectedTimelock with 3d delay → Executor → Lido Dao Agent]\n* Can interact with CuratedGate\n * grant or revoke gate roles and change the gate's display name **with 3d delay** [via: DualGovernance → EmergencyProtectedTimelock with 3d delay → Executor → Lido Dao Agent]\n* Can interact with WithdrawalQueueERC721\n * grant or revoke every WithdrawalQueue role **with 3d delay** [via: DualGovernance → EmergencyProtectedTimelock with 3d delay → Executor → Lido Dao Agent]\n * pause new withdrawal requests for a chosen duration [via: DualGovernance → ResealManager]\n * resume new withdrawal requests [via: DualGovernance → ResealManager]\n* Can interact with CuratedGate\n * grant or revoke gate roles and change the gate's display name **with 3d delay** [via: DualGovernance → EmergencyProtectedTimelock with 3d delay → Executor → Lido Dao Agent]\n* Can interact with FeeOracle\n * grant or revoke every FeeOracle role **with 3d delay** [via: DualGovernance → EmergencyProtectedTimelock with 3d delay → Executor → Lido Dao Agent]\n * pause fee report submission for a chosen duration [via: DualGovernance → ResealManager]\n * resume fee report submission [via: DualGovernance → ResealManager]\n* Can interact with HashConsensus\n * add or remove oracle committee members and change the report quorum **with 3d delay** [via: DualGovernance → EmergencyProtectedTimelock with 3d delay → Executor → Lido Dao Agent]\n * grant or revoke every HashConsensus role **with 3d delay** [via: DualGovernance → EmergencyProtectedTimelock with 3d delay → Executor → Lido Dao Agent]\n* Can interact with Lido DAO ACL\n * create new Aragon app permissions and assign their initial grantee and manager **with 3d delay** [via: DualGovernance → EmergencyProtectedTimelock with 3d delay → Executor → Lido Dao Agent]\n * grant, revoke, parameterize, or transfer management of the permission-creator permission **with 3d delay** [via: DualGovernance → EmergencyProtectedTimelock with 3d delay → Executor → Lido Dao Agent]\n* Can interact with ParametersRegistry\n * grant or revoke ParametersRegistry roles **with 3d delay** [via: DualGovernance → EmergencyProtectedTimelock with 3d delay → Executor → Lido Dao Agent]\n* Can interact with ConsolidationMigrator\n * grant or revoke ConsolidationMigrator roles **with 3d delay** [via: DualGovernance → EmergencyProtectedTimelock with 3d delay → Executor → Lido Dao Agent]\n* Can interact with VettedGate\n * grant or revoke gate roles and change the gate's display name **with 3d delay** [via: DualGovernance → EmergencyProtectedTimelock with 3d delay → Executor → Lido Dao Agent]\n * pause onboarding and curve claims through this gate [via: DualGovernance → ResealManager]\n * resume onboarding and curve claims through this gate [via: DualGovernance → ResealManager]\n* Can interact with MetaRegistry\n * grant or revoke MetaRegistry roles **with 3d delay** [via: DualGovernance → EmergencyProtectedTimelock with 3d delay → Executor → Lido Dao Agent]\n* Can interact with ValidatorStrikes\n * grant or revoke ValidatorStrikes roles and change the Ejector used for poor-performing validators **with 3d delay** [via: DualGovernance → EmergencyProtectedTimelock with 3d delay → Executor → Lido Dao Agent]\n* Can interact with Liquid staked Ether 2.0 Token\n * change the ETH deposit-reserve target retained in the stETH buffer **with 3d delay** [via: DualGovernance → EmergencyProtectedTimelock with 3d delay → Executor → Lido Dao Agent]\n * grant, revoke, parameterize, or transfer management of the buffer-reserve permission **with 3d delay** [via: DualGovernance → EmergencyProtectedTimelock with 3d delay → Executor → Lido Dao Agent]\n * grant, revoke, parameterize, or transfer management of the staking-control permission **with 3d delay** [via: DualGovernance → EmergencyProtectedTimelock with 3d delay → Executor → Lido Dao Agent]\n * grant, revoke, parameterize, or transfer management of the staking-pause permission **with 3d delay** [via: DualGovernance → EmergencyProtectedTimelock with 3d delay → Executor → Lido Dao Agent]\n * grant, revoke, parameterize, or transfer management of the stETH pause permission **with 3d delay** [via: DualGovernance → EmergencyProtectedTimelock with 3d delay → Executor → Lido Dao Agent]\n * grant, revoke, parameterize, or transfer management of the stETH resume permission **with 3d delay** [via: DualGovernance → EmergencyProtectedTimelock with 3d delay → Executor → Lido Dao Agent]\n* Can interact with NodeOperatorsRegistry\n * grant, revoke, parameterize, or transfer management of the node-operator management permission **with 3d delay** [via: DualGovernance → EmergencyProtectedTimelock with 3d delay → Executor → Lido Dao Agent]\n * grant, revoke, parameterize, or transfer management of the operator-limit permission **with 3d delay** [via: DualGovernance → EmergencyProtectedTimelock with 3d delay → Executor → Lido Dao Agent]\n * grant, revoke, parameterize, or transfer management of the staking-router permission **with 3d delay** [via: DualGovernance → EmergencyProtectedTimelock with 3d delay → Executor → Lido Dao Agent]\n* Can interact with VettedGate\n * grant or revoke gate roles and change the gate's display name **with 3d delay** [via: DualGovernance → EmergencyProtectedTimelock with 3d delay → Executor → Lido Dao Agent]\n * pause onboarding and curve claims through this gate [via: DualGovernance → ResealManager]\n * resume onboarding and curve claims through this gate [via: DualGovernance → ResealManager]\n* Can interact with PermissionlessGate\n * grant or revoke asset-recovery and administrative roles **with 3d delay** [via: DualGovernance → EmergencyProtectedTimelock with 3d delay → Executor → Lido Dao Agent]\n* Can interact with Lido DAO Kernel\n * grant, revoke, parameterize, or transfer management of the Aragon application-manager permission **with 3d delay** [via: DualGovernance → EmergencyProtectedTimelock with 3d delay → Executor → Lido Dao Agent]\n* Can interact with Finance\n * change Finance budgets for tracked assets \n * change or disable existing DAO payments \n * change the Finance accounting-period duration \n * create one-time or recurring DAO payments out of the Agent's assets, within the limits set on the role's ACL parameters \n * execute due DAO payments \n * grant, revoke, parameterize, or transfer management of the accounting-period permission \n * grant, revoke, parameterize, or transfer management of the budget-change permission \n * grant, revoke, parameterize, or transfer management of the payment-creation permission \n * grant, revoke, parameterize, or transfer management of the payment-execution permission \n * grant, revoke, parameterize, or transfer management of the payment-management permission \n* Can interact with TokenRateNotifier\n * add or remove token-rate observers and transfer or renounce ownership **with 3d delay** [via: DualGovernance → EmergencyProtectedTimelock with 3d delay → Executor → Lido Dao Agent]\n* Can interact with TiebreakerEthereumEcosystemSubcommittee\n * add or remove subcommittee members, change quorum and voting timelock, or transfer subcommittee ownership **with 3d delay** [via: DualGovernance → EmergencyProtectedTimelock with 3d delay → Executor]\n* Can interact with OracleDaemonConfig\n * grant or revoke OracleDaemonConfig roles **with 3d delay** [via: DualGovernance → EmergencyProtectedTimelock with 3d delay → Executor → Lido Dao Agent]\n* Can interact with DualGovernance\n * cancel all pending governance proposals while the Dual Governance state permits cancellation \n * change Dual Governance configuration, proposer executors, tiebreaker and reseal settings **with 3d delay** [via: DualGovernance → EmergencyProtectedTimelock with 3d delay → Executor]\n * submit proposals to the Dual Governance timelock \n* Can interact with Community Staking Module Verifier\n * grant or revoke verifier pause and resume roles **with 3d delay** [via: DualGovernance → EmergencyProtectedTimelock with 3d delay → Executor → Lido Dao Agent]\n * pause processing of validator proofs [via: DualGovernance → ResealManager]\n * resume processing of validator proofs [via: DualGovernance → ResealManager]\n* Can interact with OperatorGrid\n * grant or revoke OperatorGrid roles **with 3d delay** [via: DualGovernance → EmergencyProtectedTimelock with 3d delay → Executor → Lido Dao Agent]\n* Can interact with EmergencyProtectedTimelock\n * change timelock delays and governance, transfer executor ownership, configure emergency protection, or deactivate emergency mode before its timeout **with 3d delay** [via: DualGovernance → EmergencyProtectedTimelock with 3d delay → Executor]\n * submit, schedule, and cancel timelocked proposals. Execution additionally waits 86400 after scheduling [via: DualGovernance]\n* Can interact with HashConsensus\n * add or remove oracle committee members and change the report quorum **with 3d delay** [via: DualGovernance → EmergencyProtectedTimelock with 3d delay → Executor → Lido Dao Agent]\n * grant or revoke every HashConsensus role **with 3d delay** [via: DualGovernance → EmergencyProtectedTimelock with 3d delay → Executor → Lido Dao Agent]\n* Can interact with ConsolidationBus\n * grant or revoke ConsolidationBus roles **with 3d delay** [via: DualGovernance → EmergencyProtectedTimelock with 3d delay → Executor → Lido Dao Agent]\n* Can interact with FeeDistributor\n * grant or revoke FeeDistributor roles and change the rebate recipient **with 3d delay** [via: DualGovernance → EmergencyProtectedTimelock with 3d delay → Executor → Lido Dao Agent]\n* Can interact with CuratedModule\n * grant or revoke Curated Staking Module roles **with 3d delay** [via: DualGovernance → EmergencyProtectedTimelock with 3d delay → Executor → Lido Dao Agent]\n * pause module deposits and operator-management operations for a chosen duration [via: DualGovernance → ResealManager]\n * resume the Curated Staking Module [via: DualGovernance → ResealManager]\n* Can interact with CSModule\n * grant or revoke Community Staking Module roles **with 3d delay** [via: DualGovernance → EmergencyProtectedTimelock with 3d delay → Executor → Lido Dao Agent]\n * pause module deposits and operator-management operations for a chosen duration [via: DualGovernance → ResealManager]\n * resume the Community Staking Module [via: DualGovernance → ResealManager]\n* Can interact with TiebreakerNodeOperatorsSubcommittee\n * add or remove subcommittee members, change quorum and voting timelock, or transfer subcommittee ownership **with 3d delay** [via: DualGovernance → EmergencyProtectedTimelock with 3d delay → Executor]\n* Can interact with TriggerableWithdrawalsGateway\n * change the maximum, replenishment rate, and frame duration of the triggerable-withdrawal limit **with 3d delay** [via: DualGovernance → EmergencyProtectedTimelock with 3d delay → Executor → Lido Dao Agent]\n * grant or revoke every TriggerableWithdrawalsGateway role **with 3d delay** [via: DualGovernance → EmergencyProtectedTimelock with 3d delay → Executor → Lido Dao Agent]\n * pause triggerable withdrawals for a chosen duration [via: DualGovernance → ResealManager]\n * resume triggerable withdrawals [via: DualGovernance → ResealManager]\n* Can interact with Ejector\n * grant or revoke Ejector roles **with 3d delay** [via: DualGovernance → EmergencyProtectedTimelock with 3d delay → Executor → Lido Dao Agent]\n * pause validator ejection requests [via: DualGovernance → ResealManager]\n * resume validator ejection requests [via: DualGovernance → ResealManager]\n* Can interact with Burner\n * grant or revoke Burner roles and enable migration of excess stETH **with 3d delay** [via: DualGovernance → EmergencyProtectedTimelock with 3d delay → Executor → Lido Dao Agent]\n* Can interact with CuratedGate\n * grant or revoke gate roles and change the gate's display name **with 3d delay** [via: DualGovernance → EmergencyProtectedTimelock with 3d delay → Executor → Lido Dao Agent]\n* Can interact with EasyTrack\n * cancel individual, multiple, or all pending EasyTrack motions \n * grant or revoke EasyTrack roles, change motion settings and executor, and add or remove allowed script factories \n * pause creation and enactment of EasyTrack motions \n * unpause EasyTrack motion processing \n* Can interact with ValidatorStrikes\n * grant or revoke ValidatorStrikes roles and change the Ejector used for poor-performing validators **with 3d delay** [via: DualGovernance → EmergencyProtectedTimelock with 3d delay → Executor → Lido Dao Agent]\n* Can interact with PredepositGuarantee\n * grant or revoke PredepositGuarantee roles **with 3d delay** [via: DualGovernance → EmergencyProtectedTimelock with 3d delay → Executor → Lido Dao Agent]\n * pause predeposit proving and validator-deposit operations for a chosen duration [via: DualGovernance → ResealManager]\n * resume predeposit proving and validator-deposit operations [via: DualGovernance → ResealManager]\n* Can interact with DepositSecurityModule\n * transfer ownership, configure guardians, quorum and pause parameters, and unpause staking-module deposits **with 3d delay** [via: DualGovernance → EmergencyProtectedTimelock with 3d delay → Executor → Lido Dao Agent]\n* Can interact with TiebreakerCoreCommittee\n * add or remove committee members, change quorum and voting timelock, or transfer committee ownership **with 3d delay** [via: DualGovernance → EmergencyProtectedTimelock with 3d delay → Executor]\n* Can interact with TokenManager\n * assign LDO with an optional revocable vesting schedule \n * grant, revoke, parameterize, or transfer management of the LDO assignment permission \n * grant, revoke, parameterize, or transfer management of the LDO burn permission \n * grant, revoke, parameterize, or transfer management of the LDO issuance permission \n * grant, revoke, parameterize, or transfer management of the LDO mint permission \n * grant, revoke, parameterize, or transfer management of the vesting-revocation permission \n * mint LDO up to the issued supply \n * revoke revocable LDO vesting grants \n* Can interact with MEV Boost Relay Allowed List\n * appoint or dismiss the relay-list manager, transfer ownership, and recover ERC-20 tokens **with 3d delay** [via: DualGovernance → EmergencyProtectedTimelock with 3d delay → Executor → Lido Dao Agent]\n* Can interact with Community Staking Module Verifier\n * grant or revoke verifier pause and resume roles **with 3d delay** [via: DualGovernance → EmergencyProtectedTimelock with 3d delay → Executor → Lido Dao Agent]\n * pause processing of validator proofs [via: DualGovernance → ResealManager]\n * resume processing of validator proofs [via: DualGovernance → ResealManager]\n* Can interact with StakingRouter\n * add staking modules, change their fees and status, set deposit and top-up limits, and configure router-wide module parameters **with 3d delay** [via: DualGovernance → EmergencyProtectedTimelock with 3d delay → Executor → Lido Dao Agent]\n * grant or revoke StakingRouter roles and administer the router's privileged operations **with 3d delay** [via: DualGovernance → EmergencyProtectedTimelock with 3d delay → Executor → Lido Dao Agent]\n* Can interact with EVMScriptExecutor\n * replace the EasyTrack contract authorized to use this executor \n* Can interact with ParametersRegistry\n * grant or revoke ParametersRegistry roles **with 3d delay** [via: DualGovernance → EmergencyProtectedTimelock with 3d delay → Executor → Lido Dao Agent]",
"discoveryDrivenData": true
},
{
"id": "EasyTrack",
"name": "EasyTrack",
"accounts": [
{
"address": "eth:0xF0211b7660680B49De1A7E9f25C65660F0a13Fea",
"type": "Contract",
"isVerified": true,
"name": "0xF021…3Fea",
"url": "https://etherscan.io/address/0xF0211b7660680B49De1A7E9f25C65660F0a13Fea"
}
],
"chain": "ethereum",
"description": "Optimistic Lido DAO motion system. Approved factories restrict the target and selector of each motion; LDO holders can object, and an unobstructed motion is executed through the EVMScriptExecutor after its delay.\n* Can interact with ValidatorsExitBusOracle\n * submit a validator-exit report hash without going through HashConsensus [via: EVMScriptExecutor]\n* Can interact with CuratedGate\n * replace the Merkle root and content identifier that determine eligible node operators [via: EVMScriptExecutor]\n* Can interact with VaultsAdapter\n * change stVault fees and jail status, set liability targets, socialize bad debt between connected vaults, and force validator exits of vaults with an obligations shortfall, through this adapter's fixed function surface [via: EVMScriptExecutor]\n* Can interact with CuratedGate\n * replace the Merkle root and content identifier that determine eligible node operators [via: EVMScriptExecutor]\n* Can interact with NodeOperatorsRegistry\n * set a node operator's vetted signing-key limit [via: EVMScriptExecutor]\n* Can interact with CuratedGate\n * replace the Merkle root and content identifier that determine eligible node operators [via: EVMScriptExecutor]\n* Can interact with CuratedGate\n * replace the Merkle root and content identifier that determine eligible node operators [via: EVMScriptExecutor]\n* Can interact with CuratedGate\n * replace the Merkle root and content identifier that determine eligible node operators [via: EVMScriptExecutor]\n* Can interact with CuratedGate\n * replace the Merkle root and content identifier that determine eligible node operators [via: EVMScriptExecutor]\n* Can interact with ConsolidationMigrator\n * allow a source and target operator pair and select the address allowed to submit its consolidation [via: EVMScriptExecutor]\n* Can interact with VettedGate\n * replace the Merkle root and content identifier that determine eligibility [via: EVMScriptExecutor]\n* Can interact with MetaRegistry\n * create, update, and remove node-operator groups [via: EVMScriptExecutor]\n* Can interact with NodeOperatorsRegistry\n * add or remove signing keys for node operators within the permission's parameter constraints [via: EVMScriptExecutor]\n * add, activate, deactivate, rename, and change reward addresses of node operators, update penalty settings, and manage signing keys [via: EVMScriptExecutor]\n * grant, revoke, parameterize, or transfer management of the signing-key permission [via: EVMScriptExecutor]\n * obtain deposit data, update validator and target limits, report exited validators, and finalize rewards [via: EVMScriptExecutor]\n * set a node operator's vetted signing-key limit [via: EVMScriptExecutor]\n* Can interact with VettedGate\n * replace the Merkle root and content identifier that determine eligibility [via: EVMScriptExecutor]\n* Can interact with Finance\n * create one-time or recurring DAO payments out of the Agent's assets, within the limits set on the role's ACL parameters [via: EVMScriptExecutor]\n* Can interact with OperatorGrid\n * register node-operator groups, set their aggregate share limits, create or alter vault risk and fee tiers, change confirmation timing, and jail or unjail vaults [via: EVMScriptExecutor]\n* Can interact with CuratedModule\n * report slashed withdrawn validators for node operators [via: EVMScriptExecutor]\n * settle a previously reported general delayed penalty [via: EVMScriptExecutor]\n* Can interact with CSModule\n * report slashed withdrawn validators for node operators [via: EVMScriptExecutor]\n * settle a previously reported general delayed penalty [via: EVMScriptExecutor]\n* Can interact with CuratedGate\n * replace the Merkle root and content identifier that determine eligible node operators [via: EVMScriptExecutor]\n* Can interact with MEV Boost Relay Allowed List\n * add or remove supported MEV-Boost relay endpoints [via: EVMScriptExecutor]\n* Can interact with StakingRouter\n * change a staking module's target share and priority-exit share [via: EVMScriptExecutor]\n* Can interact with EVMScriptExecutor\n * execute an approved EasyTrack script through this adapter ",
"discoveryDrivenData": true
},
{
"id": "CircuitBreaker",
"name": "CircuitBreaker",
"accounts": [
{
"address": "eth:0x6019CB557978296BA3C08a7B73225C0975DFB2F7",
"type": "Contract",
"isVerified": true,
"name": "0x6019…B2F7",
"url": "https://etherscan.io/address/0x6019CB557978296BA3C08a7B73225C0975DFB2F7"
}
],
"chain": "ethereum",
"description": "Emergency pause coordinator. The admin assigns one heartbeat-gated pauser to each registered protocol contract; a live pauser can trigger one time-bounded pause before its assignment is consumed.\n* Can interact with ValidatorsExitBusOracle\n * pause validator-exit report processing for a chosen duration \n* Can interact with ConsolidationGateway\n * pause validator consolidation requests for a chosen duration \n* Can interact with VaultHub\n * pause VaultHub operations for a chosen duration \n* Can interact with Accounting\n * pause bond deposits and reward claims for a chosen duration \n* Can interact with TopUpGateway\n * pause validator top-ups for a chosen duration \n* Can interact with FeeOracle\n * pause fee report submission for a chosen duration \n* Can interact with Accounting\n * pause bond deposits and reward claims for a chosen duration \n* Can interact with Ejector\n * pause validator ejection requests \n* Can interact with WithdrawalQueueERC721\n * pause new withdrawal requests for a chosen duration \n* Can interact with FeeOracle\n * pause fee report submission for a chosen duration \n* Can interact with VettedGate\n * pause onboarding and curve claims through this gate \n* Can interact with VettedGate\n * pause onboarding and curve claims through this gate \n* Can interact with Community Staking Module Verifier\n * pause processing of validator proofs \n* Can interact with CuratedModule\n * pause module deposits and operator-management operations for a chosen duration \n* Can interact with CSModule\n * pause module deposits and operator-management operations for a chosen duration \n* Can interact with TriggerableWithdrawalsGateway\n * pause triggerable withdrawals for a chosen duration \n* Can interact with Ejector\n * pause validator ejection requests \n* Can interact with PredepositGuarantee\n * pause predeposit proving and validator-deposit operations for a chosen duration \n* Can interact with Community Staking Module Verifier\n * pause processing of validator proofs ",
"discoveryDrivenData": true
},
{
"id": "CuratedModuleCommittee",
"name": "CuratedModuleCommittee",
"description": "A Multisig with 5/9 threshold. \n* Can interact with CuratedGate\n * pause onboarding through this gate \n* Can interact with CuratedGate\n * pause onboarding through this gate \n* Can interact with CircuitBreaker\n * maintain a live heartbeat and trigger a one-time emergency pause of the specific protocol contract assigned to it in the pauser map \n* Can interact with CuratedGate\n * pause onboarding through this gate \n* Can interact with CuratedGate\n * pause onboarding through this gate \n* Can interact with CuratedGate\n * pause onboarding through this gate \n* Can interact with CuratedGate\n * pause onboarding through this gate \n* Can interact with ConsolidationMigrator\n * remove an allowed source and target operator pair \n* Can interact with MetaRegistry\n * set a node operator's metadata and group assignments \n* Can interact with ConsolidationBus\n * remove pending validator consolidation batches \n* Can interact with CuratedModule\n * report a general delayed penalty against a node operator \n* Can interact with CuratedGate\n * pause onboarding through this gate \n* Can interact with ParametersRegistry\n * change general delayed-penalty, penalty-rebate, key-removal and other charge parameters ",
"accounts": [
{
"address": "eth:0x2570e0b22AD904501dfB0d49575991ACB801dD91",
"type": "Contract",
"isVerified": true,
"name": "0x2570…dD91",
"url": "https://etherscan.io/address/0x2570e0b22AD904501dfB0d49575991ACB801dD91"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0xe8E5503242896efeBE3AAC55e4Ce614b0f3aF259",
"type": "EOA",
"isVerified": true,
"name": "0xe8E5…F259",
"url": "https://etherscan.io/address/0xe8E5503242896efeBE3AAC55e4Ce614b0f3aF259"
},
{
"address": "eth:0xfAd931F268dc5f8E5cdc3000baAaC0cbdb4E0a9C",
"type": "EOA",
"isVerified": true,
"name": "0xfAd9…0a9C",
"url": "https://etherscan.io/address/0xfAd931F268dc5f8E5cdc3000baAaC0cbdb4E0a9C"
},
{
"address": "eth:0x3F3C4146F597d2b1d9bC51Ad56E084cfd77Ebd9a",
"type": "EOA",
"isVerified": true,
"name": "0x3F3C…bd9a",
"url": "https://etherscan.io/address/0x3F3C4146F597d2b1d9bC51Ad56E084cfd77Ebd9a"
},
{
"address": "eth:0x6B70C69A2b6c54C3525dA5e5b241aC7437D672CB",
"type": "EOA",
"isVerified": true,
"name": "0x6B70…72CB",
"url": "https://etherscan.io/address/0x6B70C69A2b6c54C3525dA5e5b241aC7437D672CB"
},
{
"address": "eth:0x19aC7c69e5F1AC95b8d49b30Cbb79e81f1ab0dba",
"type": "EOA",
"isVerified": true,
"name": "0x19aC…0dba",
"url": "https://etherscan.io/address/0x19aC7c69e5F1AC95b8d49b30Cbb79e81f1ab0dba"
},
{
"address": "eth:0x7FfFE46F9aB8288c5D7aC3e63722f3DE8e3743E3",
"type": "EOA",
"isVerified": true,
"name": "0x7FfF…43E3",
"url": "https://etherscan.io/address/0x7FfFE46F9aB8288c5D7aC3e63722f3DE8e3743E3"
},
{
"address": "eth:0xFd660518dC1b52d9F67FAcd42bbBA962B06b8E54",
"type": "EOA",
"isVerified": true,
"name": "0xFd66…8E54",
"url": "https://etherscan.io/address/0xFd660518dC1b52d9F67FAcd42bbBA962B06b8E54"
},
{
"address": "eth:0x75b2219E1D68788f0C6f0FdA07D1d3Ab550CfE18",
"type": "EOA",
"isVerified": true,
"name": "0x75b2…fE18",
"url": "https://etherscan.io/address/0x75b2219E1D68788f0C6f0FdA07D1d3Ab550CfE18"
},
{
"address": "eth:0x08F21e00D9eE3D082cC2a7CcC9C2a5770666e7c2",
"type": "EOA",
"isVerified": true,
"name": "0x08F2…e7c2",
"url": "https://etherscan.io/address/0x08F21e00D9eE3D082cC2a7CcC9C2a5770666e7c2"
}
],
"discoveryDrivenData": true
},
{
"id": "CommunityStakingModuleCommittee",
"name": "CommunityStakingModuleCommittee",
"description": "A Multisig with 4/6 threshold. \n* Can interact with Accounting\n * assign a bond curve to an individual node operator \n* Can interact with CircuitBreaker\n * maintain a live heartbeat and trigger a one-time emergency pause of the specific protocol contract assigned to it in the pauser map \n* Can interact with ParametersRegistry\n * change general delayed-penalty, penalty-rebate, key-removal and other charge parameters \n* Can interact with CSModule\n * report a general delayed penalty against a node operator ",
"accounts": [
{
"address": "eth:0xC52fC3081123073078698F1EAc2f1Dc7Bd71880f",
"type": "Contract",
"isVerified": true,
"name": "0xC52f…880f",
"url": "https://etherscan.io/address/0xC52fC3081123073078698F1EAc2f1Dc7Bd71880f"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0xdac96e602fbb38De089DaB03f7a37B70C4234221",
"type": "EOA",
"isVerified": true,
"name": "0xdac9…4221",
"url": "https://etherscan.io/address/0xdac96e602fbb38De089DaB03f7a37B70C4234221"
},
{
"address": "eth:0x83EecCAf434AC9Da6132aB1124aFb755A2eA9266",
"type": "EOA",
"isVerified": true,
"name": "0x83Ee…9266",
"url": "https://etherscan.io/address/0x83EecCAf434AC9Da6132aB1124aFb755A2eA9266"
},
{
"address": "eth:0xfcfbafa0d5f5512C65DbB4C073fE4Ee6Dc3c4779",
"type": "EOA",
"isVerified": true,
"name": "0xfcfb…4779",
"url": "https://etherscan.io/address/0xfcfbafa0d5f5512C65DbB4C073fE4Ee6Dc3c4779"
},
{
"address": "eth:0x6aC2dF117C82F51BfdEF1A249672b9A9cA6b3d86",
"type": "EOA",
"isVerified": true,
"name": "0x6aC2…3d86",
"url": "https://etherscan.io/address/0x6aC2dF117C82F51BfdEF1A249672b9A9cA6b3d86"
},
{
"address": "eth:0x7aFd3C7f16FdBB3AdF331Fcc20A585d768ECf60d",
"type": "EOA",
"isVerified": true,
"name": "0x7aFd…f60d",
"url": "https://etherscan.io/address/0x7aFd3C7f16FdBB3AdF331Fcc20A585d768ECf60d"
},
{
"address": "eth:0xCbC39c37Ee315E4A504Cc1AD0D7956A76e20D90d",
"type": "EOA",
"isVerified": true,
"name": "0xCbC3…D90d",
"url": "https://etherscan.io/address/0xCbC39c37Ee315E4A504Cc1AD0D7956A76e20D90d"
}
],
"discoveryDrivenData": true
},
{
"id": "TreasuryManagementCommittee",
"name": "TreasuryManagementCommittee",
"description": "A Multisig with 4/7 threshold. \nMultisig of the Lido DAO Treasury Management Committee.\n* Can interact with OracleRouter\n * configure the OracleRouter's token price feed routes, staleness limits and activation flags, and resync them with the Chainlink Feed Registry ",
"accounts": [
{
"address": "eth:0xa02FC823cCE0D016bD7e17ac684c9abAb2d6D647",
"type": "Contract",
"isVerified": true,
"name": "0xa02F…D647",
"url": "https://etherscan.io/address/0xa02FC823cCE0D016bD7e17ac684c9abAb2d6D647"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0x8ecd93982FfbB2f937ADa6c6e50d1950974081C0",
"type": "EOA",
"isVerified": true,
"name": "0x8ecd…81C0",
"url": "https://etherscan.io/address/0x8ecd93982FfbB2f937ADa6c6e50d1950974081C0"
},
{
"address": "eth:0xF3d5Fdb50154B1b3047F311485780Baa1D770492",
"type": "EOA",
"isVerified": true,
"name": "0xF3d5…0492",
"url": "https://etherscan.io/address/0xF3d5Fdb50154B1b3047F311485780Baa1D770492"
},
{
"address": "eth:0x8aA493BcD7f989caD67dd3CB48A4c2E6b40FeDB0",
"type": "EOA",
"isVerified": true,
"name": "0x8aA4…eDB0",
"url": "https://etherscan.io/address/0x8aA493BcD7f989caD67dd3CB48A4c2E6b40FeDB0"
},
{
"address": "eth:0x620bD63538Bf10a87214b6187f5bc85926C2971f",
"type": "EOA",
"isVerified": true,
"name": "0x620b…971f",
"url": "https://etherscan.io/address/0x620bD63538Bf10a87214b6187f5bc85926C2971f"
},
{
"address": "eth:0x5da409e1cbDABeC67471dB01Ff956f804bb8879f",
"type": "EOA",
"isVerified": true,
"name": "0x5da4…879f",
"url": "https://etherscan.io/address/0x5da409e1cbDABeC67471dB01Ff956f804bb8879f"
},
{
"address": "eth:0x83A8B5c6990cBC78FFc45cbbfE5748B895973623",
"type": "EOA",
"isVerified": true,
"name": "0x83A8…3623",
"url": "https://etherscan.io/address/0x83A8B5c6990cBC78FFc45cbbfE5748B895973623"
},
{
"address": "eth:0x6402f26ae319b4edB6c4D459D437Fe274dE29f20",
"type": "EOA",
"isVerified": true,
"name": "0x6402…9f20",
"url": "https://etherscan.io/address/0x6402f26ae319b4edB6c4D459D437Fe274dE29f20"
}
],
"discoveryDrivenData": true
},
{
"id": "DepositSecurityModule",
"name": "DepositSecurityModule",
"accounts": [
{
"address": "eth:0xF573E9E3de1f86B085417ab294f56E7920B4e9Be",
"type": "Contract",
"isVerified": true,
"name": "0xF573…e9Be",
"url": "https://etherscan.io/address/0xF573E9E3de1f86B085417ab294f56E7920B4e9Be"
}
],
"chain": "ethereum",
"description": "Guardian-based circuit breaker for legacy staking-module deposits. Guardians can collectively pause deposits if a malicious or stale deposit is observed, while the owner configures guardians and resumes deposits.\n* Can interact with StakingRouter\n * decrease the vetted-signing-key limit of a node operator ",
"discoveryDrivenData": true
},
{
"id": "StVaultsCommittee",
"name": "StVaultsCommittee",
"description": "A Multisig with 4/7 threshold. \n* Can interact with VaultsAdapter\n * change the validator-exit fee limit and withdraw ETH held by this adapter ",
"accounts": [
{
"address": "eth:0x18A1065c81b0Cc356F1b1C843ddd5E14e4AefffF",
"type": "Contract",
"isVerified": true,
"name": "0x18A1…fffF",
"url": "https://etherscan.io/address/0x18A1065c81b0Cc356F1b1C843ddd5E14e4AefffF"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0x1555f8A94fC27A06C6610D00157216fa8783EA91",
"type": "EOA",
"isVerified": true,
"name": "0x1555…EA91",
"url": "https://etherscan.io/address/0x1555f8A94fC27A06C6610D00157216fa8783EA91"
},
{
"address": "eth:0x4D55af0756B43Ee0C1052e585a185A47771b022e",
"type": "EOA",
"isVerified": true,
"name": "0x4D55…022e",
"url": "https://etherscan.io/address/0x4D55af0756B43Ee0C1052e585a185A47771b022e"
},
{
"address": "eth:0xDbB7D7941d1340CB3ba862dF3A0f18084b5a69Ad",
"type": "EOA",
"isVerified": true,
"name": "0xDbB7…69Ad",
"url": "https://etherscan.io/address/0xDbB7D7941d1340CB3ba862dF3A0f18084b5a69Ad"
},
{
"address": "eth:0x28939ef21690Fe8358E93d661d1ce6d7fA9154F3",
"type": "EOA",
"isVerified": true,
"name": "0x2893…54F3",
"url": "https://etherscan.io/address/0x28939ef21690Fe8358E93d661d1ce6d7fA9154F3"
},
{
"address": "eth:0x21b82AA7149c8Fd0562E78b740937442FfD43094",
"type": "EOA",
"isVerified": true,
"name": "0x21b8…3094",
"url": "https://etherscan.io/address/0x21b82AA7149c8Fd0562E78b740937442FfD43094"
},
{
"address": "eth:0x512B58efaef534Af685F7638c177B927650eF995",
"type": "EOA",
"isVerified": true,
"name": "0x512B…F995",
"url": "https://etherscan.io/address/0x512B58efaef534Af685F7638c177B927650eF995"
},
{
"address": "eth:0xcD0cDa37f68a6758f86a4e2910E60174af1190B5",
"type": "EOA",
"isVerified": true,
"name": "0xcD0c…90B5",
"url": "https://etherscan.io/address/0xcD0cDa37f68a6758f86a4e2910E60174af1190B5"
}
],
"discoveryDrivenData": true
},
{
"id": "TiebreakerBuildersSubcommittee",
"name": "TiebreakerBuildersSubcommittee",
"accounts": [
{
"address": "eth:0x3D3ba54D54bbFF40F2Dfa2A8e27bD4dE3dab2951",
"type": "Contract",
"isVerified": true,
"name": "0x3D3b…2951",
"url": "https://etherscan.io/address/0x3D3ba54D54bbFF40F2Dfa2A8e27bD4dE3dab2951"
}
],
"chain": "ethereum",
"description": "A tiebreaker subcommittee whose members reach quorum on a proposal before forwarding it to the top-level tiebreaker committee.\n* Can interact with TiebreakerCoreCommittee\n * vote to schedule a governance proposal or resume a sealable contract through the Dual Governance tiebreaker ",
"discoveryDrivenData": true
},
{
"id": "EmergencyBrakesEthereum",
"name": "EmergencyBrakesEthereum",
"description": "A Multisig with 3/5 threshold. \n* Can interact with EasyTrack\n * pause creation and enactment of EasyTrack motions ",
"accounts": [
{
"address": "eth:0x73b047fe6337183A454c5217241D780a932777bD",
"type": "Contract",
"isVerified": true,
"name": "0x73b0…77bD",
"url": "https://etherscan.io/address/0x73b047fe6337183A454c5217241D780a932777bD"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0xCFfE0F3B089e46D8212408Ba061c425776E64322",
"type": "EOA",
"isVerified": true,
"name": "0xCFfE…4322",
"url": "https://etherscan.io/address/0xCFfE0F3B089e46D8212408Ba061c425776E64322"
},
{
"address": "eth:0xdd19274b614b5ecAcf493Bc43C380ef6B8dfB56c",
"type": "EOA",
"isVerified": true,
"name": "0xdd19…B56c",
"url": "https://etherscan.io/address/0xdd19274b614b5ecAcf493Bc43C380ef6B8dfB56c"
},
{
"address": "eth:0x59F8D74Fe49d5ebEAc069E3baf07eB4b614BD5A7",
"type": "EOA",
"isVerified": true,
"name": "0x59F8…D5A7",
"url": "https://etherscan.io/address/0x59F8D74Fe49d5ebEAc069E3baf07eB4b614BD5A7"
},
{
"address": "eth:0x6f5c9B92DC47C89155930E708fBc305b55A5519A",
"type": "EOA",
"isVerified": true,
"name": "0x6f5c…519A",
"url": "https://etherscan.io/address/0x6f5c9B92DC47C89155930E708fBc305b55A5519A"
},
{
"address": "eth:0x2a61d3ba5030Ef471C74f612962c7367ECa3a62d",
"type": "EOA",
"isVerified": true,
"name": "0x2a61…a62d",
"url": "https://etherscan.io/address/0x2a61d3ba5030Ef471C74f612962c7367ECa3a62d"
}
],
"discoveryDrivenData": true
},
{
"id": "CircuitBreakerCommittee",
"name": "CircuitBreakerCommittee",
"description": "A Multisig with 3/6 threshold. \n* Can interact with CircuitBreaker\n * maintain a live heartbeat and trigger a one-time emergency pause of the specific protocol contract assigned to it in the pauser map ",
"accounts": [
{
"address": "eth:0x8772E3a2D86B9347A2688f9bc1808A6d8917760C",
"type": "Contract",
"isVerified": true,
"name": "0x8772…760C",
"url": "https://etherscan.io/address/0x8772E3a2D86B9347A2688f9bc1808A6d8917760C"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0x5a409567bCa7459b3aC7e6E5a3F1a3C278071b71",
"type": "EOA",
"isVerified": true,
"name": "0x5a40…1b71",
"url": "https://etherscan.io/address/0x5a409567bCa7459b3aC7e6E5a3F1a3C278071b71"
},
{
"address": "eth:0xA39a62304d8d43B35114ad7bd1258B0E50e139b3",
"type": "EOA",
"isVerified": true,
"name": "0xA39a…39b3",
"url": "https://etherscan.io/address/0xA39a62304d8d43B35114ad7bd1258B0E50e139b3"
},
{
"address": "eth:0xC80C089d5151A7456aaeb116174CB5A8EcC94fF9",
"type": "EOA",
"isVerified": true,
"name": "0xC80C…4fF9",
"url": "https://etherscan.io/address/0xC80C089d5151A7456aaeb116174CB5A8EcC94fF9"
},
{
"address": "eth:0x59F8D74Fe49d5ebEAc069E3baf07eB4b614BD5A7",
"type": "EOA",
"isVerified": true,
"name": "0x59F8…D5A7",
"url": "https://etherscan.io/address/0x59F8D74Fe49d5ebEAc069E3baf07eB4b614BD5A7"
},
{
"address": "eth:0x912e21CdA3D7012146da4Df33309d860a9eb0bEb",
"type": "EOA",
"isVerified": true,
"name": "0x912e…0bEb",
"url": "https://etherscan.io/address/0x912e21CdA3D7012146da4Df33309d860a9eb0bEb"
},
{
"address": "eth:0xA4cddAB88F16eA33dA1b0851ee2Beb6d2f5C91e4",
"type": "EOA",
"isVerified": true,
"name": "0xA4cd…91e4",
"url": "https://etherscan.io/address/0xA4cddAB88F16eA33dA1b0851ee2Beb6d2f5C91e4"
}
],
"discoveryDrivenData": true
},
{
"id": "DualGovernanceEmergencyActivationCommittee",
"name": "DualGovernanceEmergencyActivationCommittee",
"description": "A Multisig with 4/7 threshold. \n* Can interact with EmergencyProtectedTimelock\n * activate emergency mode while emergency protection is enabled ",
"accounts": [
{
"address": "eth:0x8B7854488Fde088d686Ea672B6ba1A5242515f45",
"type": "Contract",
"isVerified": true,
"name": "0x8B78…5f45",
"url": "https://etherscan.io/address/0x8B7854488Fde088d686Ea672B6ba1A5242515f45"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0x9bdFf3B294400A6a5D56647872d4035C944C10ce",
"type": "EOA",
"isVerified": true,
"name": "0x9bdF…10ce",
"url": "https://etherscan.io/address/0x9bdFf3B294400A6a5D56647872d4035C944C10ce"
},
{
"address": "eth:0xA032E9E70c6200b7e51fCdeF15B611fC38833Cc1",
"type": "EOA",
"isVerified": true,
"name": "0xA032…3Cc1",
"url": "https://etherscan.io/address/0xA032E9E70c6200b7e51fCdeF15B611fC38833Cc1"
},
{
"address": "eth:0x8f929Defb7638B5ee6390bdd3bf87B266Df5EDf4",
"type": "EOA",
"isVerified": true,
"name": "0x8f92…EDf4",
"url": "https://etherscan.io/address/0x8f929Defb7638B5ee6390bdd3bf87B266Df5EDf4"
},
{
"address": "eth:0x237Cddf3aA765260cf6b60E064065Da7c3Aa1559",
"type": "EOA",
"isVerified": true,
"name": "0x237C…1559",
"url": "https://etherscan.io/address/0x237Cddf3aA765260cf6b60E064065Da7c3Aa1559"
},
{
"address": "eth:0xcfc7834eb929e7E621F0Ba71d421A27Eddf6DDA1",
"type": "EOA",
"isVerified": true,
"name": "0xcfc7…DDA1",
"url": "https://etherscan.io/address/0xcfc7834eb929e7E621F0Ba71d421A27Eddf6DDA1"
},
{
"address": "eth:0x62c89F5768D0FeC0915fb614C5eDd9fdeaA2A3fd",
"type": "EOA",
"isVerified": true,
"name": "0x62c8…A3fd",
"url": "https://etherscan.io/address/0x62c89F5768D0FeC0915fb614C5eDd9fdeaA2A3fd"
},
{
"address": "eth:0xAe0E06b1B5ecB80f157A7DB8A7c9E83fC1720711",
"type": "EOA",
"isVerified": true,
"name": "0xAe0E…0711",
"url": "https://etherscan.io/address/0xAe0E06b1B5ecB80f157A7DB8A7c9E83fC1720711"
}
],
"discoveryDrivenData": true
},
{
"id": "P2P",
"name": "P2P",
"description": "A Multisig with 2/3 threshold. \n* Can interact with TiebreakerNodeOperatorsSubcommittee\n * vote to forward a proposal-scheduling or sealable-resume request to the tiebreaker core committee ",
"accounts": [
{
"address": "eth:0x8ed4dfd3A610CCF1FB45e797bf5D8e0f93084F22",
"type": "Contract",
"isVerified": true,
"name": "0x8ed4…4F22",
"url": "https://etherscan.io/address/0x8ed4dfd3A610CCF1FB45e797bf5D8e0f93084F22"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0x7d32EDD94Ce35dE727d7Df60D582da2cBa55FB25",
"type": "EOA",
"isVerified": true,
"name": "0x7d32…FB25",
"url": "https://etherscan.io/address/0x7d32EDD94Ce35dE727d7Df60D582da2cBa55FB25"
},
{
"address": "eth:0xE21a08C60b065cE42FD5b0BD99a98A0FAe6ddA23",
"type": "EOA",
"isVerified": true,
"name": "0xE21a…dA23",
"url": "https://etherscan.io/address/0xE21a08C60b065cE42FD5b0BD99a98A0FAe6ddA23"
},
{
"address": "eth:0xF37FeF00Fe67956E9870114815c42F0Cc18373ce",
"type": "EOA",
"isVerified": true,
"name": "0xF37F…73ce",
"url": "https://etherscan.io/address/0xF37FeF00Fe67956E9870114815c42F0Cc18373ce"
}
],
"discoveryDrivenData": true
},
{
"id": "Finance",
"name": "Finance",
"accounts": [
{
"address": "eth:0xB9E5CBB9CA5b0d659238807E84D0176930753d86",
"type": "Contract",
"isVerified": true,
"name": "0xB9E5…3d86",
"url": "https://etherscan.io/address/0xB9E5CBB9CA5b0d659238807E84D0176930753d86"
}
],
"chain": "ethereum",
"description": "Lido DAO's Aragon Finance application. ACL roles create and execute one-time or recurring treasury payments and change their budgets, recipients, amounts and accounting period.\n* Can interact with Lido Dao Agent\n * transfer ETH and ERC-20 tokens held by the Agent ",
"discoveryDrivenData": true
},
{
"id": "TiebreakerEthereumEcosystemSubcommittee",
"name": "TiebreakerEthereumEcosystemSubcommittee",
"accounts": [
{
"address": "eth:0xBF048f2111497B6Df5E062811f5fC422804D4baE",
"type": "Contract",
"isVerified": true,
"name": "0xBF04…4baE",
"url": "https://etherscan.io/address/0xBF048f2111497B6Df5E062811f5fC422804D4baE"
}
],
"chain": "ethereum",
"description": "A tiebreaker subcommittee whose members reach quorum on a proposal before forwarding it to the top-level tiebreaker committee.\n* Can interact with TiebreakerCoreCommittee\n * vote to schedule a governance proposal or resume a sealable contract through the Dual Governance tiebreaker ",
"discoveryDrivenData": true
},
{
"id": "DualGovernanceEmergencyExecutionCommittee",
"name": "DualGovernanceEmergencyExecutionCommittee",
"description": "A Multisig with 5/7 threshold. \n* Can interact with EmergencyProtectedTimelock\n * execute a submitted proposal without the ordinary scheduling delay during emergency mode, or reset governance to the configured emergency governance ",
"accounts": [
{
"address": "eth:0xC7792b3F2B399bB0EdF53fECDceCeB97FBEB18AF",
"type": "Contract",
"isVerified": true,
"name": "0xC779…18AF",
"url": "https://etherscan.io/address/0xC7792b3F2B399bB0EdF53fECDceCeB97FBEB18AF"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0x8f929Defb7638B5ee6390bdd3bf87B266Df5EDf4",
"type": "EOA",
"isVerified": true,
"name": "0x8f92…EDf4",
"url": "https://etherscan.io/address/0x8f929Defb7638B5ee6390bdd3bf87B266Df5EDf4"
},
{
"address": "eth:0x9bdFf3B294400A6a5D56647872d4035C944C10ce",
"type": "EOA",
"isVerified": true,
"name": "0x9bdF…10ce",
"url": "https://etherscan.io/address/0x9bdFf3B294400A6a5D56647872d4035C944C10ce"
},
{
"address": "eth:0xA032E9E70c6200b7e51fCdeF15B611fC38833Cc1",
"type": "EOA",
"isVerified": true,
"name": "0xA032…3Cc1",
"url": "https://etherscan.io/address/0xA032E9E70c6200b7e51fCdeF15B611fC38833Cc1"
},
{
"address": "eth:0x237Cddf3aA765260cf6b60E064065Da7c3Aa1559",
"type": "EOA",
"isVerified": true,
"name": "0x237C…1559",
"url": "https://etherscan.io/address/0x237Cddf3aA765260cf6b60E064065Da7c3Aa1559"
},
{
"address": "eth:0xAe0E06b1B5ecB80f157A7DB8A7c9E83fC1720711",
"type": "EOA",
"isVerified": true,
"name": "0xAe0E…0711",
"url": "https://etherscan.io/address/0xAe0E06b1B5ecB80f157A7DB8A7c9E83fC1720711"
},
{
"address": "eth:0x62c89F5768D0FeC0915fb614C5eDd9fdeaA2A3fd",
"type": "EOA",
"isVerified": true,
"name": "0x62c8…A3fd",
"url": "https://etherscan.io/address/0x62c89F5768D0FeC0915fb614C5eDd9fdeaA2A3fd"
},
{
"address": "eth:0xcfc7834eb929e7E621F0Ba71d421A27Eddf6DDA1",
"type": "EOA",
"isVerified": true,
"name": "0xcfc7…DDA1",
"url": "https://etherscan.io/address/0xcfc7834eb929e7E621F0Ba71d421A27Eddf6DDA1"
}
],
"discoveryDrivenData": true
},
{
"id": "TiebreakerNodeOperatorsSubcommittee",
"name": "TiebreakerNodeOperatorsSubcommittee",
"accounts": [
{
"address": "eth:0xDBfa0B8A15a503f25224fcA5F84a3853230A715C",
"type": "Contract",
"isVerified": true,
"name": "0xDBfa…715C",
"url": "https://etherscan.io/address/0xDBfa0B8A15a503f25224fcA5F84a3853230A715C"
}
],
"chain": "ethereum",
"description": "A tiebreaker subcommittee whose members reach quorum on a proposal before forwarding it to the top-level tiebreaker committee.\n* Can interact with TiebreakerCoreCommittee\n * vote to schedule a governance proposal or resume a sealable contract through the Dual Governance tiebreaker ",
"discoveryDrivenData": true
},
{
"id": "TiebreakerCoreCommittee",
"name": "TiebreakerCoreCommittee",
"accounts": [
{
"address": "eth:0xf65614d73952Be91ce0aE7Dd9cFf25Ba15bEE2f5",
"type": "Contract",
"isVerified": true,
"name": "0xf656…E2f5",
"url": "https://etherscan.io/address/0xf65614d73952Be91ce0aE7Dd9cFf25Ba15bEE2f5"
}
],
"chain": "ethereum",
"description": "Top-level Dual Governance tiebreaker committee. Its members reach quorum to schedule a delayed governance proposal or resume a paused sealable contract when Dual Governance is tied.\n* Can interact with DualGovernance\n * schedule a proposal or resume a sealable contract when Dual Governance is in a tie state ",
"discoveryDrivenData": true
},
{
"id": "TokenManager",
"name": "TokenManager",
"accounts": [
{
"address": "eth:0xf73a1260d222f447210581DDf212D915c09a3249",
"type": "Contract",
"isVerified": true,
"name": "0xf73a…3249",
"url": "https://etherscan.io/address/0xf73a1260d222f447210581DDf212D915c09a3249"
}
],
"chain": "ethereum",
"description": "Aragon TokenManager for LDO. Its ACL roles can issue supply, mint or burn LDO, assign vested balances, and revoke vesting.\n* Can interact with Voting\n * create executable Lido DAO votes ",
"discoveryDrivenData": true
},
{
"id": "ResealCommittee",
"name": "ResealCommittee",
"description": "A Multisig with 5/6 threshold. \n* Can interact with DualGovernance\n * request that a sealable contract be paused indefinitely through the configured ResealManager ",
"accounts": [
{
"address": "eth:0xFFe21561251c49AdccFad065C94Fb4931dF49081",
"type": "Contract",
"isVerified": true,
"name": "0xFFe2…9081",
"url": "https://etherscan.io/address/0xFFe21561251c49AdccFad065C94Fb4931dF49081"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0x5a409567bCa7459b3aC7e6E5a3F1a3C278071b71",
"type": "EOA",
"isVerified": true,
"name": "0x5a40…1b71",
"url": "https://etherscan.io/address/0x5a409567bCa7459b3aC7e6E5a3F1a3C278071b71"
},
{
"address": "eth:0xA39a62304d8d43B35114ad7bd1258B0E50e139b3",
"type": "EOA",
"isVerified": true,
"name": "0xA39a…39b3",
"url": "https://etherscan.io/address/0xA39a62304d8d43B35114ad7bd1258B0E50e139b3"
},
{
"address": "eth:0xFe45baf0F18c207152A807c1b05926583CFE2e4b",
"type": "EOA",
"isVerified": true,
"name": "0xFe45…2e4b",
"url": "https://etherscan.io/address/0xFe45baf0F18c207152A807c1b05926583CFE2e4b"
},
{
"address": "eth:0x59F8D74Fe49d5ebEAc069E3baf07eB4b614BD5A7",
"type": "EOA",
"isVerified": true,
"name": "0x59F8…D5A7",
"url": "https://etherscan.io/address/0x59F8D74Fe49d5ebEAc069E3baf07eB4b614BD5A7"
},
{
"address": "eth:0x912e21CdA3D7012146da4Df33309d860a9eb0bEb",
"type": "EOA",
"isVerified": true,
"name": "0x912e…0bEb",
"url": "https://etherscan.io/address/0x912e21CdA3D7012146da4Df33309d860a9eb0bEb"
},
{
"address": "eth:0x9A3f38AF97b791C85c043D46a64f56f87E0283D4",
"type": "EOA",
"isVerified": true,
"name": "0x9A3f…83D4",
"url": "https://etherscan.io/address/0x9A3f38AF97b791C85c043D46a64f56f87E0283D4"
}
],
"discoveryDrivenData": true
},
{
"id": "GatewayFM",
"name": "GatewayFM",
"description": "A Multisig with 1/1 threshold. ",
"accounts": [
{
"address": "eth:0xf8Bfa395744Cb25fa4368Ffe2344Dc35546092d9",
"type": "Contract",
"isVerified": true,
"name": "0xf8Bf…92d9",
"url": "https://etherscan.io/address/0xf8Bfa395744Cb25fa4368Ffe2344Dc35546092d9"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0xddD80BC94975C10A2f613511F80bd860FcB76818",
"type": "EOA",
"isVerified": true,
"name": "EOA 30",
"url": "#EOA-30"
}
],
"discoveryDrivenData": true
},
{
"id": "EOA-1,-EOA-2,-EOA-3,-EOA-4,-EOA-5,-EOA-6,-EOA-7,-EOA-8-and-EOA-9",
"name": "EOA 1, EOA 2, EOA 3, EOA 4, EOA 5, EOA 6, EOA 7, EOA 8 and EOA 9",
"accounts": [
{
"address": "eth:0x007DE4a5F7bc37E2F26c0cb2E8A95006EE9B89b5",
"type": "EOA",
"isVerified": true,
"name": "0x007D…89b5",
"url": "https://etherscan.io/address/0x007DE4a5F7bc37E2F26c0cb2E8A95006EE9B89b5",
"displayName": "EOA 1"
},
{
"address": "eth:0x042a9e5acCfa17e28300F1b5967f20891E973922",
"type": "EOA",
"isVerified": true,
"name": "0x042a…3922",
"url": "https://etherscan.io/address/0x042a9e5acCfa17e28300F1b5967f20891E973922",
"displayName": "EOA 2"
},
{
"address": "eth:0x404335BcE530400a5814375E7Ec1FB55fAff3eA2",
"type": "EOA",
"isVerified": true,
"name": "0x4043…3eA2",
"url": "https://etherscan.io/address/0x404335BcE530400a5814375E7Ec1FB55fAff3eA2",
"displayName": "EOA 3"
},
{
"address": "eth:0x4118DAD7f348A4063bD15786c299De2f3B1333F3",
"type": "EOA",
"isVerified": true,
"name": "0x4118…33F3",
"url": "https://etherscan.io/address/0x4118DAD7f348A4063bD15786c299De2f3B1333F3",
"displayName": "EOA 4"
},
{
"address": "eth:0x61c91ECd902EB56e314bB2D5c5C07785444Ea1c8",
"type": "EOA",
"isVerified": true,
"name": "0x61c9…a1c8",
"url": "https://etherscan.io/address/0x61c91ECd902EB56e314bB2D5c5C07785444Ea1c8",
"displayName": "EOA 5"
},
{
"address": "eth:0x73181107c8D9ED4ce0bbeF7A0b4ccf3320C41d12",
"type": "EOA",
"isVerified": true,
"name": "0x7318…1d12",
"url": "https://etherscan.io/address/0x73181107c8D9ED4ce0bbeF7A0b4ccf3320C41d12",
"displayName": "EOA 6"
},
{
"address": "eth:0x8dB977C13CAA938BC58464bFD622DF0570564b78",
"type": "EOA",
"isVerified": true,
"name": "0x8dB9…4b78",
"url": "https://etherscan.io/address/0x8dB977C13CAA938BC58464bFD622DF0570564b78",
"displayName": "EOA 7"
},
{
"address": "eth:0xc79F702202E3A6B0B6310B537E786B9ACAA19BAf",
"type": "EOA",
"isVerified": true,
"name": "0xc79F…9BAf",
"url": "https://etherscan.io/address/0xc79F702202E3A6B0B6310B537E786B9ACAA19BAf",
"displayName": "EOA 8"
},
{
"address": "eth:0xe57B3792aDCc5da47EF4fF588883F0ee0c9835C9",
"type": "EOA",
"isVerified": true,
"name": "0xe57B…35C9",
"url": "https://etherscan.io/address/0xe57B3792aDCc5da47EF4fF588883F0ee0c9835C9",
"displayName": "EOA 9"
}
],
"chain": "ethereum",
"description": "* Can interact with HashConsensus\n * submit report hashes and participate in reaching oracle consensus \n* Can interact with HashConsensus\n * submit report hashes and participate in reaching oracle consensus \n* Can interact with HashConsensus\n * submit report hashes and participate in reaching oracle consensus \n* Can interact with HashConsensus\n * submit report hashes and participate in reaching oracle consensus ",
"discoveryDrivenData": true
},
{
"id": "EOA-10,-EOA-11,-EOA-12,-EOA-13,-EOA-14-and-EOA-16",
"name": "EOA 10, EOA 11, EOA 12, EOA 13, EOA 14 and EOA 16",
"accounts": [
{
"address": "eth:0x4B87F16B8d32cb5a859a4C48a88edB5adBe3498E",
"type": "EOA",
"isVerified": true,
"name": "0x4B87…498E",
"url": "https://etherscan.io/address/0x4B87F16B8d32cb5a859a4C48a88edB5adBe3498E",
"displayName": "EOA 10"
},
{
"address": "eth:0x5fd0dDbC3351d009eb3f88DE7Cd081a614C519F1",
"type": "EOA",
"isVerified": true,
"name": "0x5fd0…19F1",
"url": "https://etherscan.io/address/0x5fd0dDbC3351d009eb3f88DE7Cd081a614C519F1",
"displayName": "EOA 11"
},
{
"address": "eth:0x6d22aE126eB2c37F67a1391B37FF4f2863e61389",
"type": "EOA",
"isVerified": true,
"name": "0x6d22…1389",
"url": "https://etherscan.io/address/0x6d22aE126eB2c37F67a1391B37FF4f2863e61389",
"displayName": "EOA 12"
},
{
"address": "eth:0x7912Fa976BcDe9c2cf728e213e892AD7588E6AaF",
"type": "EOA",
"isVerified": true,
"name": "0x7912…6AaF",
"url": "https://etherscan.io/address/0x7912Fa976BcDe9c2cf728e213e892AD7588E6AaF",
"displayName": "EOA 13"
},
{
"address": "eth:0xa56b128Ea2Ea237052b0fA2a96a387C0E43157d8",
"type": "EOA",
"isVerified": true,
"name": "0xa56b…57d8",
"url": "https://etherscan.io/address/0xa56b128Ea2Ea237052b0fA2a96a387C0E43157d8",
"displayName": "EOA 14"
},
{
"address": "eth:0xf82D88217C249297C6037BA77CE34b3d8a90ab43",
"type": "EOA",
"isVerified": true,
"name": "0xf82D…ab43",
"url": "https://etherscan.io/address/0xf82D88217C249297C6037BA77CE34b3d8a90ab43",
"displayName": "EOA 16"
}
],
"chain": "ethereum",
"description": "* Can interact with DepositSecurityModule\n * sign deposit-pause intents which can pause staking-module deposits once the configured quorum is met ",
"discoveryDrivenData": true
},
{
"id": "EOA-15",
"name": "EOA 15",
"accounts": [
{
"address": "eth:0xF82aC5937A20dC862F9bc0668779031E06000f17",
"type": "EOA",
"isVerified": true,
"name": "0xF82a…0f17",
"url": "https://etherscan.io/address/0xF82aC5937A20dC862F9bc0668779031E06000f17",
"displayName": "EOA 15"
}
],
"chain": "ethereum",
"description": "* Can interact with TopUpGateway\n * submit validator top-ups backed by consensus-layer proofs ",
"discoveryDrivenData": true
},
{
"id": "EOA-17,-EOA-20,-EOA-22,-EOA-25-and-EOA-28",
"name": "EOA 17, EOA 20, EOA 22, EOA 25 and EOA 28",
"accounts": [
{
"address": "eth:0x49769C3443c74f144991cA560ba5F635581B8176",
"type": "EOA",
"isVerified": true,
"name": "0x4976…8176",
"url": "https://etherscan.io/address/0x49769C3443c74f144991cA560ba5F635581B8176",
"displayName": "EOA 17"
},
{
"address": "eth:0x805fa0f79DC0DDCD73dCBc23487d2D5bd77de598",
"type": "EOA",
"isVerified": true,
"name": "0x805f…e598",
"url": "https://etherscan.io/address/0x805fa0f79DC0DDCD73dCBc23487d2D5bd77de598",
"displayName": "EOA 20"
},
{
"address": "eth:0x81000e270B4f66B8666544E8FEc073e0a23FFf00",
"type": "EOA",
"isVerified": true,
"name": "0x8100…Ff00",
"url": "https://etherscan.io/address/0x81000e270B4f66B8666544E8FEc073e0a23FFf00",
"displayName": "EOA 22"
},
{
"address": "eth:0x9A921867EbB579D137184b397E7D087f1ae716fd",
"type": "EOA",
"isVerified": true,
"name": "0x9A92…16fd",
"url": "https://etherscan.io/address/0x9A921867EbB579D137184b397E7D087f1ae716fd",
"displayName": "EOA 25"
},
{
"address": "eth:0xD8a9072D82a28307279aC0aD3c97Cb61bEe67952",
"type": "EOA",
"isVerified": true,
"name": "0xD8a9…7952",
"url": "https://etherscan.io/address/0xD8a9072D82a28307279aC0aD3c97Cb61bEe67952",
"displayName": "EOA 28"
}
],
"chain": "ethereum",
"description": "* Can interact with TiebreakerBuildersSubcommittee\n * vote to forward a proposal-scheduling or sealable-resume request to the tiebreaker core committee ",
"discoveryDrivenData": true
},
{
"id": "EOA-18,-EOA-19,-EOA-21,-EOA-26-and-EOA-31",
"name": "EOA 18, EOA 19, EOA 21, EOA 26 and EOA 31",
"accounts": [
{
"address": "eth:0x5d60F5d653Cc318d1f0ABacd83eD4feeAa6e5804",
"type": "EOA",
"isVerified": true,
"name": "0x5d60…5804",
"url": "https://etherscan.io/address/0x5d60F5d653Cc318d1f0ABacd83eD4feeAa6e5804",
"displayName": "EOA 18"
},
{
"address": "eth:0x60BDa95a40d5536303BFcf84D679ca461A23398d",
"type": "EOA",
"isVerified": true,
"name": "0x60BD…398d",
"url": "https://etherscan.io/address/0x60BDa95a40d5536303BFcf84D679ca461A23398d",
"displayName": "EOA 19"
},
{
"address": "eth:0x80B2D9FA613c35Ec52B0dA5D84e6A819bcc5e369",
"type": "EOA",
"isVerified": true,
"name": "0x80B2…e369",
"url": "https://etherscan.io/address/0x80B2D9FA613c35Ec52B0dA5D84e6A819bcc5e369",
"displayName": "EOA 21"
},
{
"address": "eth:0xb04b6fB471E766D7F21A6AA0E4E25B2AEA0a75AB",
"type": "EOA",
"isVerified": true,
"name": "0xb04b…75AB",
"url": "https://etherscan.io/address/0xb04b6fB471E766D7F21A6AA0E4E25B2AEA0a75AB",
"displayName": "EOA 26"
},
{
"address": "eth:0xEC7ABf73f339361ecCA951E1746C90a3e6205BFC",
"type": "EOA",
"isVerified": true,
"name": "0xEC7A…5BFC",
"url": "https://etherscan.io/address/0xEC7ABf73f339361ecCA951E1746C90a3e6205BFC",
"displayName": "EOA 31"
}
],
"chain": "ethereum",
"description": "* Can interact with TiebreakerEthereumEcosystemSubcommittee\n * vote to forward a proposal-scheduling or sealable-resume request to the tiebreaker core committee ",
"discoveryDrivenData": true
},
{
"id": "EOA-23,-EOA-24,-EOA-27,-EOA-29-and-EOA-32",
"name": "EOA 23, EOA 24, EOA 27, EOA 29 and EOA 32",
"accounts": [
{
"address": "eth:0x8103E9eDC04d87F6DA24A3a0c7778daE689E9D63",
"type": "EOA",
"isVerified": true,
"name": "0x8103…9D63",
"url": "https://etherscan.io/address/0x8103E9eDC04d87F6DA24A3a0c7778daE689E9D63",
"displayName": "EOA 23"
},
{
"address": "eth:0x9837b0Db0b733DED04D96a0A25Ba1E414A6C4c08",
"type": "EOA",
"isVerified": true,
"name": "0x9837…4c08",
"url": "https://etherscan.io/address/0x9837b0Db0b733DED04D96a0A25Ba1E414A6C4c08",
"displayName": "EOA 24"
},
{
"address": "eth:0xD7cABE01709c7E36e9D1fb3248A19b525578a1Fc",
"type": "EOA",
"isVerified": true,
"name": "0xD7cA…a1Fc",
"url": "https://etherscan.io/address/0xD7cABE01709c7E36e9D1fb3248A19b525578a1Fc",
"displayName": "EOA 27"
},
{
"address": "eth:0xDBD124e898839ec8C829d806C0328f069d1bB810",
"type": "EOA",
"isVerified": true,
"name": "0xDBD1…B810",
"url": "https://etherscan.io/address/0xDBD124e898839ec8C829d806C0328f069d1bB810",
"displayName": "EOA 29"
},
{
"address": "eth:0xFCD02C040ceA45DC6CEC3E24F1D3946FCE7077b0",
"type": "EOA",
"isVerified": true,
"name": "0xFCD0…77b0",
"url": "https://etherscan.io/address/0xFCD02C040ceA45DC6CEC3E24F1D3946FCE7077b0",
"displayName": "EOA 32"
}
],
"chain": "ethereum",
"description": "* Can interact with TiebreakerNodeOperatorsSubcommittee\n * vote to forward a proposal-scheduling or sealable-resume request to the tiebreaker core committee ",
"discoveryDrivenData": true
},
{
"id": "EOA-30",
"name": "EOA 30",
"accounts": [
{
"address": "eth:0xddD80BC94975C10A2f613511F80bd860FcB76818",
"type": "EOA",
"isVerified": true,
"name": "0xddD8…6818",
"url": "https://etherscan.io/address/0xddD80BC94975C10A2f613511F80bd860FcB76818",
"displayName": "EOA 30"
}
],
"chain": "ethereum",
"description": "Member of GatewayFM.\n* Can interact with TiebreakerNodeOperatorsSubcommittee\n * vote to forward a proposal-scheduling or sealable-resume request to the tiebreaker core committee [via: GatewayFM]",
"discoveryDrivenData": true
}
]
}
}
contracts+2530-0
{
"addresses": {
"ethereum": [
{
"name": "ExitPenalties",
"isVerified": true,
"address": "eth:0x004aFb7DAA7dEA20EbAaB75c9F4892C879FaCCe0",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x3e40D73EB977Dc6a537aF587D48316feE66E9C8c"
],
"implementations": [
"eth:0x3766ABbA4635EE0fC3E6A7EB3EF169fe930df9c2"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1783070495,
"transactionHash": "0x8774b1a95f0b078e8042d58b35c07297197917b9660a83ae5305942d37741177",
"implementations": [
"eth:0x422f0d117615949E0620E998E1FE455eB6215E30"
]
},
{
"timestamp": 1783071035,
"transactionHash": "0x9247c597a988feb63cf90336195bdf87541f7dec52b122c4a92cda7e23eb309c",
"implementations": [
"eth:0x3766ABbA4635EE0fC3E6A7EB3EF169fe930df9c2"
]
}
],
"description": "Records delayed-exit, triggerable-withdrawal, and poor-performance penalties for a permissionless staking module.\n* Roles:\n * **admin**: Lido Dao Agent; ultimately Voting\n * **module**: CuratedModule\n * **strikes**: ValidatorStrikes",
"upgradableBy": [
{
"name": "Voting",
"delay": "3d"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x004aFb7DAA7dEA20EbAaB75c9F4892C879FaCCe0#code"
},
{
"name": "VaultFactory",
"isVerified": true,
"address": "eth:0x02Ca7772FF14a9F6c1a08aF385aA96bb1b34175A",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Permissionless factory for StakingVaults and their Dashboard management contracts. It deploys beacon proxies, initializes their code-defined authorities, and optionally connects the vault to VaultHub.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x02Ca7772FF14a9F6c1a08aF385aA96bb1b34175A#code"
},
{
"name": "StakingVault",
"isVerified": true,
"address": "eth:0x06A56487494aa080deC7Bf69128EdA9225784553",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "An isolated staking position that holds ETH for validators with 0x02 withdrawal credentials. The owner controls funds and validator operations, the depositor performs Beacon Chain deposits, and the node operator can force validator exits. Vaults normally use a beacon implementation but can irreversibly pin their current implementation.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x06A56487494aa080deC7Bf69128EdA9225784553#code"
},
{
"name": "ExitPenalties",
"isVerified": true,
"address": "eth:0x06cd61045f958A209a0f8D746e103eCc625f4193",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x3e40D73EB977Dc6a537aF587D48316feE66E9C8c"
],
"implementations": [
"eth:0xA5b9e96E951089E629Ab0834AEaF242a81394EA0"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1758112595,
"transactionHash": "0xee0e9d3615ca2adf655423758cbee63d18002bd818c01363a9e1c470315c3730",
"implementations": [
"eth:0x8ff828860A67658C39d89809457a97D81AAd418b"
]
},
{
"timestamp": 1758112667,
"transactionHash": "0xaa82b3430ee68cccb797d319594d9d67cfc9aaca8e70e0079ca4e4df75d9f072",
"implementations": [
"eth:0xDa22fA1CEa40d05Fe4CD536967afdD839586D546"
]
},
{
"timestamp": 1784904479,
"transactionHash": "0x297042b4e5fd41399634f124beec7afc37712bc3374c3419b72932caf52714aa",
"implementations": [
"eth:0xA5b9e96E951089E629Ab0834AEaF242a81394EA0"
]
}
],
"description": "Records delayed-exit, triggerable-withdrawal, and poor-performance penalties for a permissionless staking module.\n* Roles:\n * **admin**: Lido Dao Agent; ultimately Voting\n * **module**: CSModule\n * **strikes**: ValidatorStrikes",
"upgradableBy": [
{
"name": "Voting",
"delay": "3d"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x06cd61045f958A209a0f8D746e103eCc625f4193#code"
},
{
"name": "ValidatorsExitBusOracle",
"isVerified": true,
"address": "eth:0x0De4Ea0184c2ad0BacA7183356Aea5B8d5Bf5c6e",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x3e40D73EB977Dc6a537aF587D48316feE66E9C8c"
],
"implementations": [
"eth:0x2C3386b39db89eef0F362A3BE0C05a6811E809E3"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1683024035,
"transactionHash": "0xef3eea1523d2161c2f36ba61e327e3520231614c055b8a88c7f5928d18e423ea",
"implementations": [
"eth:0x6F6541C2203196fEeDd14CD2C09550dA1CbEDa31"
]
},
{
"timestamp": 1684163759,
"transactionHash": "0x592d68a259af899fb435da0ac08c2fd500cb423f37f1d8ce8e3120cb84186b21",
"implementations": [
"eth:0xA89Ea51FddE660f67d1850e03C9c9862d33Bc42c"
]
},
{
"timestamp": 1759420367,
"transactionHash": "0xfff774d519ec1afd4358d4858672578437e815dc1652245a2ffb7bde1bfff2ad",
"implementations": [
"eth:0x905A211eD6830Cfc95643f0bE2ff64E7f3bf9b94"
]
},
{
"timestamp": 1784904479,
"transactionHash": "0x297042b4e5fd41399634f124beec7afc37712bc3374c3419b72932caf52714aa",
"implementations": [
"eth:0x2C3386b39db89eef0F362A3BE0C05a6811E809E3"
]
}
],
"description": "Receives committee-consensus lists of validators that staking modules must exit and emits the exit requests. SRv3 accounts for the validators' effective-balance weights and key indices when applying per-report and replenishing exit limits.\n* Roles:\n * **admin**: Lido Dao Agent; ultimately Voting\n * **defaultAdmins**: Lido Dao Agent; ultimately Voting\n * **pausers**: CircuitBreaker, ResealManager; ultimately Voting\n * **reportHashSubmitters**: EVMScriptExecutor; ultimately EasyTrack\n * **resumers**: ResealManager; ultimately Voting",
"upgradableBy": [
{
"name": "Voting",
"delay": "3d"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x0De4Ea0184c2ad0BacA7183356Aea5B8d5Bf5c6e#code"
},
{
"name": "OracleReportSanityChecker",
"isVerified": true,
"address": "eth:0x147f8d3cf3004FAf9Bf94E88B54b6C06De507be9",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Validates AccountingOracle report values against configurable safety limits. The version 3 checker covers validator balance flows, consolidations, external pending balances, triggerable exits, and EIP-7251 balance weights.\n* Roles:\n * **defaultAdmins**: Lido Dao Agent; ultimately Voting",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x147f8d3cf3004FAf9Bf94E88B54b6C06De507be9#code"
},
{
"name": "ConsolidationGateway",
"isVerified": true,
"address": "eth:0x17be979344f2c2cC806229a532D92f8742C10462",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Validates validator ownership proofs and submits EIP-7251 consolidation requests through the protocol consolidation-request predeploy. It rate-limits the amount consolidated and preserves its ETH balance across requests.\n* Roles:\n * **consolidationRequesters**: ConsolidationBus\n * **defaultAdmins**: Lido Dao Agent; ultimately Voting\n * **pausers**: CircuitBreaker, ResealManager; ultimately Voting\n * **resumers**: ResealManager; ultimately Voting",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x17be979344f2c2cC806229a532D92f8742C10462#code"
},
{
"name": "VaultHub",
"isVerified": true,
"address": "eth:0x1d201BE093d847f6446530Efb0E8Fb426d176709",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x3e40D73EB977Dc6a537aF587D48316feE66E9C8c"
],
"implementations": [
"eth:0x6330fE7756FBE8649adfb9A541d61C5edB8B4D70"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1764766391,
"transactionHash": "0x982025c6295107b4a32e9512b84a826a9868fc653e0d1499067ee43d604ff234",
"implementations": [
"eth:0x7c7d957D0752AB732E73400624C4a1eb1cb6CF50"
]
},
{
"timestamp": 1776444131,
"transactionHash": "0xf43f6fe63edc60ae6eb0bc919b3c682ac0c068df7eb1cb44aa514302539f19cb",
"implementations": [
"eth:0x6330fE7756FBE8649adfb9A541d61C5edB8B4D70"
]
}
],
"description": "The central registry and lifecycle manager for stVaults connected to Lido. It enforces collateral and risk parameters, tracks vault reports and liabilities, mints and burns stETH shares, settles fees, rebalances unhealthy vaults, and manages bad debt.\n* Roles:\n * **admin**: Lido Dao Agent; ultimately Voting\n * **badDebtMasters**: VaultsAdapter\n * **defaultAdmins**: Lido Dao Agent; ultimately Voting\n * **pausers**: CircuitBreaker, ResealManager; ultimately Voting\n * **resumers**: ResealManager; ultimately Voting\n * **validatorExiters**: VaultsAdapter",
"upgradableBy": [
{
"name": "Voting",
"delay": "3d"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x1d201BE093d847f6446530Efb0E8Fb426d176709#code"
},
{
"name": "CuratedGate",
"isVerified": true,
"address": "eth:0x207798e6fD1aa7Ee8a63782A64c959cD6727b78C",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x3e40D73EB977Dc6a537aF587D48316feE66E9C8c"
],
"implementations": [
"eth:0x3cb948FD454ad6b20DE67633f25DcbDbEaa0e849"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1783071275,
"transactionHash": "0x090dd90bdb213e486dd5733283117fd998317f1d5f227dc5ae1976532b523607",
"implementations": [
"eth:0x3cb948FD454ad6b20DE67633f25DcbDbEaa0e849"
]
}
],
"description": "Merkle-gated onboarding contract for a curated Community Staking Module cohort. An eligible address consumes its proof to create a node operator with this gate's configured bond curve and metadata group.\n* Roles:\n * **admin**: Lido Dao Agent; ultimately Voting\n * **defaultAdmins**: Lido Dao Agent; ultimately Voting\n * **pausers**: CuratedModuleCommittee\n * **treeSetters**: EVMScriptExecutor; ultimately EasyTrack",
"upgradableBy": [
{
"name": "Voting",
"delay": "3d"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x207798e6fD1aa7Ee8a63782A64c959cD6727b78C#code"
},
{
"name": "Core Accounting",
"isVerified": true,
"address": "eth:0x23ED611be0e1a820978875C0122F92260804cdDf",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x3e40D73EB977Dc6a537aF587D48316feE66E9C8c"
],
"implementations": [
"eth:0x3aa937Ac2ab89CDd363EdC6b5A4d4A42dF5bc043"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1764766271,
"transactionHash": "0x372f801a2b751b83134974d6e77c75e32e6baab34d0ea14afe0c38c829fb0027",
"implementations": [
"eth:0xd43a3E984071F40d5d840f60708Af0e9526785df"
]
},
{
"timestamp": 1784904479,
"transactionHash": "0x297042b4e5fd41399634f124beec7afc37712bc3374c3419b72932caf52714aa",
"implementations": [
"eth:0x3aa937Ac2ab89CDd363EdC6b5A4d4A42dF5bc043"
]
}
],
"description": "Calculates and applies a complete Lido oracle report: it reconciles validator balances, smooths the rebase, collects vault balances, finalizes withdrawals, burns shares, distributes module rewards, and updates stETH accounting.\n* Roles:\n * **admin**: Lido Dao Agent; ultimately Voting\n * **countingOracle**: AccountingOracle",
"upgradableBy": [
{
"name": "Voting",
"delay": "3d"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x23ED611be0e1a820978875C0122F92260804cdDf#code"
},
{
"name": "Dashboard",
"isVerified": true,
"address": "eth:0x294825c2764c7D412dc32d87E2242c4f1D989AF3",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "The standard role-based management interface for a StakingVault. It owns the underlying vault, routes funding, withdrawals, stETH minting and burning through VaultHub, controls validator operations, and accounts for the node operator fee.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x294825c2764c7D412dc32d87E2242c4f1D989AF3#code"
},
{
"name": "Accounting",
"isVerified": true,
"address": "eth:0x2F91e3A8C5d6593bf4F8403fCfeCcd62dF59f6F6",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x3e40D73EB977Dc6a537aF587D48316feE66E9C8c"
],
"implementations": [
"eth:0xB41F5d2721906b3BE4fC7ae08261266C801076C2"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1783070435,
"transactionHash": "0xbe3ffcd1d838a2d50ca393eb2abcc80ddb253fd06bd9925393ecaf81ce85ba3c",
"implementations": [
"eth:0x422f0d117615949E0620E998E1FE455eB6215E30"
]
},
{
"timestamp": 1783070495,
"transactionHash": "0xbf32487f2ebc8f9ae2d56fb14bbb9a0983fb26985ec7f58d320a1a57cb3bfcbc",
"implementations": [
"eth:0xB41F5d2721906b3BE4fC7ae08261266C801076C2"
]
}
],
"description": "Manages node-operator bonds for a permissionless staking module. It accepts ETH, stETH and wstETH bonds, applies bond curves, locks or penalizes bond, and lets eligible node-operator addresses claim rewards after the module's fee distribution.\n* Roles:\n * **admin**: Lido Dao Agent; ultimately Voting\n * **bondCurveSetters**: CuratedGate\n * **defaultAdmins**: Lido Dao Agent; ultimately Voting\n * **pausers**: CircuitBreaker, ResealManager; ultimately Voting\n * **resumers**: ResealManager; ultimately Voting",
"upgradableBy": [
{
"name": "Voting",
"delay": "3d"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x2F91e3A8C5d6593bf4F8403fCfeCcd62dF59f6F6#code"
},
{
"name": "FeeDistributor",
"isVerified": true,
"address": "eth:0x367d23c756599c20DCc8D6943F4976E8F88D60d7",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x3e40D73EB977Dc6a537aF587D48316feE66E9C8c"
],
"implementations": [
"eth:0x7C8FEE1dcC95Df60fC9b5BE7603c28Eb3af16753"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1783070471,
"transactionHash": "0xc3734359abde0164f25af7dd2a01bb56b56f73502e645b7629ce9973e4a67dba",
"implementations": [
"eth:0x7C8FEE1dcC95Df60fC9b5BE7603c28Eb3af16753"
]
}
],
"description": "Receives a staking module's stETH fee shares and distributes them to node operators according to a Merkle tree submitted by its FeeOracle. Claims are accounted in stETH shares.\n* Roles:\n * **admin**: Lido Dao Agent; ultimately Voting\n * **defaultAdmins**: Lido Dao Agent; ultimately Voting",
"upgradableBy": [
{
"name": "Voting",
"delay": "3d"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x367d23c756599c20DCc8D6943F4976E8F88D60d7#code"
},
{
"name": "Execution Layer Rewards Vault",
"isVerified": true,
"address": "eth:0x388C818CA8B9251b393131C08a736A67ccB19297",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Holds execution-layer validator rewards until stETH accounting collects them during an oracle report.\n* Roles:\n * **lido**: Liquid staked Ether 2.0 Token",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x388C818CA8B9251b393131C08a736A67ccB19297#code"
},
{
"name": "CuratedGate",
"isVerified": true,
"address": "eth:0x3BbBb175f7F07954DE00052b20E1c5572223F24D",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x3e40D73EB977Dc6a537aF587D48316feE66E9C8c"
],
"implementations": [
"eth:0x3cb948FD454ad6b20DE67633f25DcbDbEaa0e849"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1783071455,
"transactionHash": "0xcc511ccd912e33d88c5643a4e0f9543c13bf6d74b4250d04ec73e815a7078085",
"implementations": [
"eth:0x3cb948FD454ad6b20DE67633f25DcbDbEaa0e849"
]
}
],
"description": "Merkle-gated onboarding contract for a curated Community Staking Module cohort. An eligible address consumes its proof to create a node operator with this gate's configured bond curve and metadata group.\n* Roles:\n * **admin**: Lido Dao Agent; ultimately Voting\n * **defaultAdmins**: Lido Dao Agent; ultimately Voting\n * **pausers**: CuratedModuleCommittee\n * **treeSetters**: EVMScriptExecutor; ultimately EasyTrack",
"upgradableBy": [
{
"name": "Voting",
"delay": "3d"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x3BbBb175f7F07954DE00052b20E1c5572223F24D#code"
},
{
"name": "StakingVault",
"isVerified": true,
"address": "eth:0x3eda1e756Ba9aC0217Ac8fc5db4C5E9a8486d9c4",
"upgradeability": {
"proxyType": "Beacon proxy",
"admins": [
"eth:0x3e40D73EB977Dc6a537aF587D48316feE66E9C8c"
],
"implementations": [
"eth:0x06A56487494aa080deC7Bf69128EdA9225784553"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1764766367,
"transactionHash": "0xc1b1edfb9449fe7544219c94a0097c95521a4938cbda114f97f7e7b1c2d1e975",
"implementations": [
"eth:0x06A56487494aa080deC7Bf69128EdA9225784553"
]
}
],
"description": "An isolated staking position that holds ETH for validators with 0x02 withdrawal credentials. The owner controls funds and validator operations, the depositor performs Beacon Chain deposits, and the node operator can force validator exits. Vaults normally use a beacon implementation but can irreversibly pin their current implementation.\n* Roles:\n * **admin**: Lido Dao Agent; ultimately Voting\n * **depositor**: PredepositGuarantee\n * **owner**: VaultHub",
"upgradableBy": [
{
"name": "Voting",
"delay": "3d"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x3eda1e756Ba9aC0217Ac8fc5db4C5E9a8486d9c4#code"
},
{
"name": "TopUpGateway",
"isVerified": true,
"address": "eth:0x3FC2C71579D80790Aaa3fc7Be8B66ac39dC57374",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x3e40D73EB977Dc6a537aF587D48316feE66E9C8c"
],
"implementations": [
"eth:0xb08dBc68C521cD7A4318dc4C807a42bEB20f1106"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1782909431,
"transactionHash": "0x4f5fbf064af095ca58b23f92a0a595c30a374826039bf60a39ad8f7a7ec992c7",
"implementations": [
"eth:0xb08dBc68C521cD7A4318dc4C807a42bEB20f1106"
]
}
],
"description": "Validates consensus-layer proofs and submits EIP-7251 validator top-ups for staking modules. It limits top-up batch size, proof age, and call frequency.\n* Roles:\n * **admin**: Lido Dao Agent; ultimately Voting\n * **defaultAdmins**: Lido Dao Agent; ultimately Voting\n * **pausers**: CircuitBreaker, ResealManager; ultimately Voting\n * **resumers**: ResealManager; ultimately Voting\n * **topUpSubmitters**: EOA 15",
"upgradableBy": [
{
"name": "Voting",
"delay": "3d"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x3FC2C71579D80790Aaa3fc7Be8B66ac39dC57374#code"
},
{
"name": "FeeOracle",
"isVerified": true,
"address": "eth:0x4D4074628678Bd302921c20573EEa1ed38DdF7FB",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x3e40D73EB977Dc6a537aF587D48316feE66E9C8c"
],
"implementations": [
"eth:0xecE6e0Cde61078F76b66Ef0C338a6875E5D01F79"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1728566339,
"transactionHash": "0x3dfff1bb9a5dd98d252ab44ae3ef8a002a4ab84ef6f35f5b7aeeae60f91ec32e",
"implementations": [
"eth:0x919ac5C6c62B6ef7B05cF05070080525a7B0381E"
]
},
{
"timestamp": 1759420367,
"transactionHash": "0xfff774d519ec1afd4358d4858672578437e815dc1652245a2ffb7bde1bfff2ad",
"implementations": [
"eth:0xe0B234f99E413E27D9Bc31aBba9A49A3e570Da97"
]
},
{
"timestamp": 1784904479,
"transactionHash": "0x297042b4e5fd41399634f124beec7afc37712bc3374c3419b72932caf52714aa",
"implementations": [
"eth:0xecE6e0Cde61078F76b66Ef0C338a6875E5D01F79"
]
}
],
"description": "Receives committee-consensus reports containing a staking module's reward-distribution Merkle root and forwards them to FeeDistributor and ValidatorStrikes.\n* Roles:\n * **admin**: Lido Dao Agent; ultimately Voting\n * **defaultAdmins**: Lido Dao Agent; ultimately Voting\n * **pausers**: CircuitBreaker, ResealManager; ultimately Voting\n * **resumers**: ResealManager; ultimately Voting",
"upgradableBy": [
{
"name": "Voting",
"delay": "3d"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x4D4074628678Bd302921c20573EEa1ed38DdF7FB#code"
},
{
"name": "Accounting",
"isVerified": true,
"address": "eth:0x4d72BFF1BeaC69925F8Bd12526a39BAAb069e5Da",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x3e40D73EB977Dc6a537aF587D48316feE66E9C8c"
],
"implementations": [
"eth:0xe768572cc5aE5C698345C59288d871a949Ea8bd3"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1728566339,
"transactionHash": "0x94ce92b9b05768e1908e5eab2097dc80da33715a37de5ffb149fc6142fa2a93b",
"implementations": [
"eth:0x71FCD2a6F38B644641B0F46c345Ea03Daabf2758"
]
},
{
"timestamp": 1759420367,
"transactionHash": "0xfff774d519ec1afd4358d4858672578437e815dc1652245a2ffb7bde1bfff2ad",
"implementations": [
"eth:0x6f09d2426c7405C5546413e6059F884D2D03f449"
]
},
{
"timestamp": 1784904479,
"transactionHash": "0x297042b4e5fd41399634f124beec7afc37712bc3374c3419b72932caf52714aa",
"implementations": [
"eth:0xe768572cc5aE5C698345C59288d871a949Ea8bd3"
]
}
],
"description": "Manages node-operator bonds for a permissionless staking module. It accepts ETH, stETH and wstETH bonds, applies bond curves, locks or penalizes bond, and lets eligible node-operator addresses claim rewards after the module's fee distribution.\n* Roles:\n * **admin**: Lido Dao Agent; ultimately Voting\n * **bondCurveSetters**: CommunityStakingModuleCommittee, VettedGate\n * **defaultAdmins**: Lido Dao Agent; ultimately Voting\n * **pausers**: CircuitBreaker, ResealManager; ultimately Voting\n * **resumers**: ResealManager; ultimately Voting",
"upgradableBy": [
{
"name": "Voting",
"delay": "3d"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x4d72BFF1BeaC69925F8Bd12526a39BAAb069e5Da#code"
},
{
"name": "NodeOperatorsRegistry",
"isVerified": true,
"address": "eth:0x55032650b14df07b85bF18A3a3eC8E0Af2e028d5",
"upgradeability": {
"proxyType": "EIP897 proxy",
"admins": [],
"implementations": [
"eth:0x6828b023e737f96B168aCd0b5c6351971a4F81aE"
],
"immutable": false
},
"chain": "ethereum",
"description": "Legacy permissioned staking module for curated node operators. It stores validator keys, receives deposits from the StakingRouter, tracks exited and stuck validators, and distributes module rewards.\n* Roles:\n * **nodeOperatorLimitPermissionManagers**: Lido Dao Agent; ultimately Voting\n * **nodeOperatorLimitSetters**: EVMScriptExecutor; ultimately EasyTrack\n * **nodeOperatorManagers**: Lido Dao Agent; ultimately Voting\n * **nodeOperatorPermissionManagers**: Lido Dao Agent; ultimately Voting\n * **signingKeyPermissionManagers**: Lido Dao Agent; ultimately Voting\n * **stakingRouterPermissionManagers**: Lido Dao Agent; ultimately Voting\n * **stakingRouters**: StakingRouter",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x55032650b14df07b85bF18A3a3eC8E0Af2e028d5#code"
},
{
"name": "LazyOracle",
"isVerified": true,
"address": "eth:0x5DB427080200c235F2Ae8Cd17A7be87921f7AD6c",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x3e40D73EB977Dc6a537aF587D48316feE66E9C8c"
],
"implementations": [
"eth:0x96c9a897D116ef660086d3aA67b3af653324aB37"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1764766343,
"transactionHash": "0xfe172172aa9958a04136f504f36df5b94040c7363c3e4d70b76fe406c817613e",
"implementations": [
"eth:0x47f3a6b1E70F7Ec7dBC3CB510B1fdB948C863a5B"
]
},
{
"timestamp": 1776444131,
"transactionHash": "0xf43f6fe63edc60ae6eb0bc919b3c682ac0c068df7eb1cb44aa514302539f19cb",
"implementations": [
"eth:0x96c9a897D116ef660086d3aA67b3af653324aB37"
]
}
],
"description": "Verifies cryptographic oracle reports for individual stVaults and forwards accepted total-value, fee, and liability updates to VaultHub. Reports outside configured rate, reward, or quarantine bounds are rejected or quarantined.\n* Roles:\n * **admin**: Lido Dao Agent; ultimately Voting\n * **defaultAdmins**: Lido Dao Agent; ultimately Voting",
"upgradableBy": [
{
"name": "Voting",
"delay": "3d"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x5DB427080200c235F2Ae8Cd17A7be87921f7AD6c#code"
},
{
"name": "CuratedGate",
"isVerified": true,
"address": "eth:0x6093EFA6B5E2FF3be54d1c895c9deA932805c49F",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x3e40D73EB977Dc6a537aF587D48316feE66E9C8c"
],
"implementations": [
"eth:0x3cb948FD454ad6b20DE67633f25DcbDbEaa0e849"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1783071119,
"transactionHash": "0xded1c22f93a55ac151b3b3c01f040cc3ec1d868847729bc06c7f35a12a206b1a",
"implementations": [
"eth:0x3cb948FD454ad6b20DE67633f25DcbDbEaa0e849"
]
}
],
"description": "Merkle-gated onboarding contract for a curated Community Staking Module cohort. An eligible address consumes its proof to create a node operator with this gate's configured bond curve and metadata group.\n* Roles:\n * **admin**: Lido Dao Agent; ultimately Voting\n * **defaultAdmins**: Lido Dao Agent; ultimately Voting\n * **pausers**: CuratedModuleCommittee\n * **treeSetters**: EVMScriptExecutor; ultimately EasyTrack",
"upgradableBy": [
{
"name": "Voting",
"delay": "3d"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x6093EFA6B5E2FF3be54d1c895c9deA932805c49F#code"
},
{
"name": "Ejector",
"isVerified": true,
"address": "eth:0x610B517D380f287c239C93F8eF6FfBd567AA4bA5",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Submits triggerable full-withdrawal requests for validators. Node operators may voluntarily eject their own validators, while ValidatorStrikes can eject validators for poor performance.\n* Roles:\n * **defaultAdmins**: Lido Dao Agent; ultimately Voting\n * **pausers**: CircuitBreaker, ResealManager; ultimately Voting\n * **resumers**: ResealManager; ultimately Voting\n * **strikes**: ValidatorStrikes",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x610B517D380f287c239C93F8eF6FfBd567AA4bA5#code"
},
{
"name": "StakingRevenueSource",
"isVerified": true,
"address": "eth:0x6220212a33a87Ed7Cc386B67eB2c393974F28C38",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Tracks Lido DAO staking revenue for the buyback program: as a TokenRateNotifier observer it accrues the treasury fee share of each stETH rebase and converts it into a monotonic cumulative USD figure at the OracleRouter spot price.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x6220212a33a87Ed7Cc386B67eB2c393974F28C38#code"
},
{
"name": "StakingVault",
"isVerified": true,
"address": "eth:0x62e0D92cf7B8752b5292B9BCbbacE4cFa1633428",
"upgradeability": {
"proxyType": "Beacon proxy",
"admins": [
"eth:0x3e40D73EB977Dc6a537aF587D48316feE66E9C8c"
],
"implementations": [
"eth:0x06A56487494aa080deC7Bf69128EdA9225784553"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1764766367,
"transactionHash": "0xc1b1edfb9449fe7544219c94a0097c95521a4938cbda114f97f7e7b1c2d1e975",
"implementations": [
"eth:0x06A56487494aa080deC7Bf69128EdA9225784553"
]
}
],
"description": "An isolated staking position that holds ETH for validators with 0x02 withdrawal credentials. The owner controls funds and validator operations, the depositor performs Beacon Chain deposits, and the node operator can force validator exits. Vaults normally use a beacon implementation but can irreversibly pin their current implementation.\n* Roles:\n * **admin**: Lido Dao Agent; ultimately Voting\n * **depositor**: PredepositGuarantee\n * **owner**: VaultHub",
"upgradableBy": [
{
"name": "Voting",
"delay": "3d"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x62e0D92cf7B8752b5292B9BCbbacE4cFa1633428#code"
},
{
"name": "HashConsensus",
"isVerified": true,
"address": "eth:0x71093efF8D8599b5fA340D665Ad60fA7C80688e4",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Collects report hashes from an enumerable oracle committee and forwards a report to its processor once quorum agrees. It defines report frames, quorum, fast-lane members, and the report processor.\n* Roles:\n * **defaultAdmins**: Lido Dao Agent; ultimately Voting\n * **memberAndQuorumManagers**: Lido Dao Agent; ultimately Voting\n * **members**: EOA 1, EOA 2, EOA 3, EOA 4, EOA 5, EOA 6, EOA 7, EOA 8, EOA 9",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x71093efF8D8599b5fA340D665Ad60fA7C80688e4#code"
},
{
"name": "CuratedGate",
"isVerified": true,
"address": "eth:0x773933F9db8964A17d62fb808f2EC7A2de4247CC",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x3e40D73EB977Dc6a537aF587D48316feE66E9C8c"
],
"implementations": [
"eth:0x3cb948FD454ad6b20DE67633f25DcbDbEaa0e849"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1783071455,
"transactionHash": "0xcc73810d0e4a72ad3dee90c08df552e3793337f1831c51101adb1b62e8b2e9ef",
"implementations": [
"eth:0x3cb948FD454ad6b20DE67633f25DcbDbEaa0e849"
]
}
],
"description": "Merkle-gated onboarding contract for a curated Community Staking Module cohort. An eligible address consumes its proof to create a node operator with this gate's configured bond curve and metadata group.\n* Roles:\n * **admin**: Lido Dao Agent; ultimately Voting\n * **defaultAdmins**: Lido Dao Agent; ultimately Voting\n * **pausers**: CuratedModuleCommittee\n * **treeSetters**: EVMScriptExecutor; ultimately EasyTrack",
"upgradableBy": [
{
"name": "Voting",
"delay": "3d"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x773933F9db8964A17d62fb808f2EC7A2de4247CC#code"
},
{
"name": "OracleRouter",
"isVerified": true,
"address": "eth:0x79ef3a538200Fe4981D67E7e886bfb36D4Cb5a31",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Price router that reads token prices from the Chainlink Feed Registry, either directly in USD or via an ETH/USD bridge feed for ETH-quoted tokens, and reports them normalized to 18 decimals.\n* Roles:\n * **admin**: Voting\n * **manager**: TreasuryManagementCommittee",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x79ef3a538200Fe4981D67E7e886bfb36D4Cb5a31#code"
},
{
"name": "HashConsensus",
"isVerified": true,
"address": "eth:0x7FaDB6358950c5fAA66Cb5EB8eE5147De3df355a",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Collects report hashes from an enumerable oracle committee and forwards a report to its processor once quorum agrees. It defines report frames, quorum, fast-lane members, and the report processor.\n* Roles:\n * **defaultAdmins**: Lido Dao Agent; ultimately Voting\n * **memberAndQuorumManagers**: Lido Dao Agent; ultimately Voting\n * **members**: EOA 1, EOA 2, EOA 3, EOA 4, EOA 5, EOA 6, EOA 7, EOA 8, EOA 9",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x7FaDB6358950c5fAA66Cb5EB8eE5147De3df355a#code"
},
{
"name": "AccountingOracle",
"isVerified": true,
"address": "eth:0x852deD011285fe67063a08005c71a85690503Cee",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x3e40D73EB977Dc6a537aF587D48316feE66E9C8c"
],
"implementations": [
"eth:0xe4f03D1107d1905B6F2A28FCb6Af221E0CE19136"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1683023999,
"transactionHash": "0x3def88f27741216b131de2861cf89af2ca2ac4242b384ee33dca8cc70c51c8dd",
"implementations": [
"eth:0x6F6541C2203196fEeDd14CD2C09550dA1CbEDa31"
]
},
{
"timestamp": 1684163759,
"transactionHash": "0x592d68a259af899fb435da0ac08c2fd500cb423f37f1d8ce8e3120cb84186b21",
"implementations": [
"eth:0xF3c5E0A67f32CF1dc07a8817590efa102079a1aF"
]
},
{
"timestamp": 1729872203,
"transactionHash": "0x0078b3e0cecb3b50c78a22e0b1a985e6cde3bf431e9cb3b2ba4e50260122d542",
"implementations": [
"eth:0x0e65898527E77210fB0133D00dd4C0E86Dc29bC7"
]
},
{
"timestamp": 1759420367,
"transactionHash": "0xfff774d519ec1afd4358d4858672578437e815dc1652245a2ffb7bde1bfff2ad",
"implementations": [
"eth:0xE9906E543274cebcd335d2C560094089e9547e8d"
]
},
{
"timestamp": 1766586947,
"transactionHash": "0xf143303a719ee2e0c494efce07f889f7c4cd432d9ed993b410c20ad1c904d38f",
"implementations": [
"eth:0x1455B96780A93e08abFE41243Db92E2fCbb0141c"
]
},
{
"timestamp": 1784904479,
"transactionHash": "0x297042b4e5fd41399634f124beec7afc37712bc3374c3419b72932caf52714aa",
"implementations": [
"eth:0xe4f03D1107d1905B6F2A28FCb6Af221E0CE19136"
]
}
],
"description": "Receives committee-consensus reports of Lido's Beacon Chain balances, validator state, withdrawals, and staking-module accounting data, then drives the stETH accounting rebase and related protocol updates.\n* Roles:\n * **admin**: Lido Dao Agent; ultimately Voting\n * **defaultAdmins**: Lido Dao Agent; ultimately Voting",
"upgradableBy": [
{
"name": "Voting",
"delay": "3d"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x852deD011285fe67063a08005c71a85690503Cee#code"
},
{
"name": "CuratedGate",
"isVerified": true,
"address": "eth:0x86A8d4E0db5938D21d98047544668FCCB1A9ADc8",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x3e40D73EB977Dc6a537aF587D48316feE66E9C8c"
],
"implementations": [
"eth:0x3cb948FD454ad6b20DE67633f25DcbDbEaa0e849"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1783071455,
"transactionHash": "0xc859b9b44c3d23ab693aabcd823ffe4db2a1c56cc09a4d51ca6f63c66491cba4",
"implementations": [
"eth:0x3cb948FD454ad6b20DE67633f25DcbDbEaa0e849"
]
}
],
"description": "Merkle-gated onboarding contract for a curated Community Staking Module cohort. An eligible address consumes its proof to create a node operator with this gate's configured bond curve and metadata group.\n* Roles:\n * **admin**: Lido Dao Agent; ultimately Voting\n * **defaultAdmins**: Lido Dao Agent; ultimately Voting\n * **pausers**: CuratedModuleCommittee\n * **treeSetters**: EVMScriptExecutor; ultimately EasyTrack",
"upgradableBy": [
{
"name": "Voting",
"delay": "3d"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x86A8d4E0db5938D21d98047544668FCCB1A9ADc8#code"
},
{
"name": "WithdrawalQueueERC721",
"isVerified": true,
"address": "eth:0x889edC2eDab5f40e902b864aD4d7AdE8E412F9B1",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x3e40D73EB977Dc6a537aF587D48316feE66E9C8c"
],
"implementations": [
"eth:0xE42C659Dc09109566720EA8b2De186c2Be7D94D9"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1683023927,
"transactionHash": "0x98c2170be034f750f5006cb69ea0aeeaf0858b11f6324ee53d582fa4dd49bc1a",
"implementations": [
"eth:0x6F6541C2203196fEeDd14CD2C09550dA1CbEDa31"
]
},
{
"timestamp": 1684163759,
"transactionHash": "0x592d68a259af899fb435da0ac08c2fd500cb423f37f1d8ce8e3120cb84186b21",
"implementations": [
"eth:0xE42C659Dc09109566720EA8b2De186c2Be7D94D9"
]
}
],
"description": "Queues stETH and wstETH withdrawal requests as transferable NFTs. Oracle reports can enter bunker mode and finalize batches by supplying ETH and a maximum share rate, after which NFT owners claim ETH.\n* Roles:\n * **admin**: Lido Dao Agent; ultimately Voting\n * **defaultAdmins**: Lido Dao Agent; ultimately Voting\n * **finalizers**: Liquid staked Ether 2.0 Token\n * **oracleReporters**: AccountingOracle\n * **pausers**: CircuitBreaker, ResealManager; ultimately Voting\n * **resumers**: ResealManager; ultimately Voting",
"upgradableBy": [
{
"name": "Voting",
"delay": "3d"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x889edC2eDab5f40e902b864aD4d7AdE8E412F9B1#code"
},
{
"name": "CuratedGate",
"isVerified": true,
"address": "eth:0x8c002c6eE10cf8adb78D1F9EB2e134FdaF8A7C1a",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x3e40D73EB977Dc6a537aF587D48316feE66E9C8c"
],
"implementations": [
"eth:0x3cb948FD454ad6b20DE67633f25DcbDbEaa0e849"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1783071191,
"transactionHash": "0x379680a282d03d9a9bfa5e1de7c7c5b966b7084befaab052296050b35403d2ff",
"implementations": [
"eth:0x3cb948FD454ad6b20DE67633f25DcbDbEaa0e849"
]
}
],
"description": "Merkle-gated onboarding contract for a curated Community Staking Module cohort. An eligible address consumes its proof to create a node operator with this gate's configured bond curve and metadata group.\n* Roles:\n * **admin**: Lido Dao Agent; ultimately Voting\n * **defaultAdmins**: Lido Dao Agent; ultimately Voting\n * **pausers**: CuratedModuleCommittee\n * **treeSetters**: EVMScriptExecutor; ultimately EasyTrack",
"upgradableBy": [
{
"name": "Voting",
"delay": "3d"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x8c002c6eE10cf8adb78D1F9EB2e134FdaF8A7C1a#code"
},
{
"name": "FeeOracle",
"isVerified": true,
"address": "eth:0x8EeFCdbD984c30E472BcbF545783D051CB5114e5",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x3e40D73EB977Dc6a537aF587D48316feE66E9C8c"
],
"implementations": [
"eth:0x16804084408B6Caad10046F49aD421cBA56C0b5e"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1783070435,
"transactionHash": "0xc844b0715f8ec935d11a68c90ff00faa14451d0785e2fa4d1dd37d53b1346c5d",
"implementations": [
"eth:0x422f0d117615949E0620E998E1FE455eB6215E30"
]
},
{
"timestamp": 1783071527,
"transactionHash": "0xf300e2bd3fcbec11ba780db1e7f7670ede3df9d7382ea9003ee201999fc8b932",
"implementations": [
"eth:0x16804084408B6Caad10046F49aD421cBA56C0b5e"
]
}
],
"description": "Receives committee-consensus reports containing a staking module's reward-distribution Merkle root and forwards them to FeeDistributor and ValidatorStrikes.\n* Roles:\n * **admin**: Lido Dao Agent; ultimately Voting\n * **defaultAdmins**: Lido Dao Agent; ultimately Voting\n * **pausers**: CircuitBreaker, ResealManager; ultimately Voting\n * **resumers**: ResealManager; ultimately Voting",
"upgradableBy": [
{
"name": "Voting",
"delay": "3d"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x8EeFCdbD984c30E472BcbF545783D051CB5114e5#code"
},
{
"name": "EIP712StETH",
"isVerified": true,
"address": "eth:0x8F73e4C2A6D852bb4ab2A45E6a9CF5715b3228B7",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Stateless helper that builds the stETH EIP-712 domain separator and typed-data hashes.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x8F73e4C2A6D852bb4ab2A45E6a9CF5715b3228B7#code"
},
{
"name": "HashConsensus",
"isVerified": true,
"address": "eth:0x902D64c93F6595339aA46105627a085591051aFb",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Collects report hashes from an enumerable oracle committee and forwards a report to its processor once quorum agrees. It defines report frames, quorum, fast-lane members, and the report processor.\n* Roles:\n * **defaultAdmins**: Lido Dao Agent; ultimately Voting\n * **memberAndQuorumManagers**: Lido Dao Agent; ultimately Voting\n * **members**: EOA 1, EOA 2, EOA 3, EOA 4, EOA 5, EOA 6, EOA 7, EOA 8, EOA 9",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x902D64c93F6595339aA46105627a085591051aFb#code"
},
{
"name": "ParametersRegistry",
"isVerified": true,
"address": "eth:0x9D28ad303C90DF524BA960d7a2DAC56DcC31e428",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x3e40D73EB977Dc6a537aF587D48316feE66E9C8c"
],
"implementations": [
"eth:0x107d287F178cD54792614d7D63C47D8242240BeD"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1758112319,
"transactionHash": "0xd40178939134c7e6eb244f0bb678e63459aa2c952a948ecd7789ffdbf37d7c43",
"implementations": [
"eth:0x25fdC3BE9977CD4da679dF72A64C8B6Bd5216A78"
]
},
{
"timestamp": 1784904479,
"transactionHash": "0x297042b4e5fd41399634f124beec7afc37712bc3374c3419b72932caf52714aa",
"implementations": [
"eth:0x107d287F178cD54792614d7D63C47D8242240BeD"
]
}
],
"description": "Stores configurable Community Staking Module parameters, including bond curves, operator rewards, penalties, key limits, queue policy, performance thresholds, and validator-exit rules.\n* Roles:\n * **admin**: Lido Dao Agent; ultimately Voting\n * **defaultAdmins**: Lido Dao Agent; ultimately Voting\n * **penaltyAndChargeManagers**: CommunityStakingModuleCommittee",
"upgradableBy": [
{
"name": "Voting",
"delay": "3d"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x9D28ad303C90DF524BA960d7a2DAC56DcC31e428#code"
},
{
"name": "ConsolidationMigrator",
"isVerified": true,
"address": "eth:0x9Dc70b5A4f4F5E4AF9058C983D560564F031f1D7",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x3e40D73EB977Dc6a537aF587D48316feE66E9C8c"
],
"implementations": [
"eth:0x6Fb4c152F092373dD71f0C07C83c1E77406599aB"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1782909659,
"transactionHash": "0xf79a695d824a1eb187cd259fe36ea680b52e7eb605c8d55c5287e19f38002145",
"implementations": [
"eth:0x6Fb4c152F092373dD71f0C07C83c1E77406599aB"
]
}
],
"description": "Coordinates the one-time migration of eligible Curated Module v1 validators into Curated Module v2 through the delayed ConsolidationBus pipeline.\n* Roles:\n * **admin**: Lido Dao Agent; ultimately Voting\n * **defaultAdmins**: Lido Dao Agent; ultimately Voting\n * **pairAllowers**: EVMScriptExecutor; ultimately EasyTrack\n * **pairDisallowers**: CuratedModuleCommittee",
"upgradableBy": [
{
"name": "Voting",
"delay": "3d"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x9Dc70b5A4f4F5E4AF9058C983D560564F031f1D7#code"
},
{
"name": "VettedGate",
"isVerified": true,
"address": "eth:0xa12760721A72A7199aB38059DA6690b9Cd4ed7B8",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x3e40D73EB977Dc6a537aF587D48316feE66E9C8c"
],
"implementations": [
"eth:0x66ADb8b3F58d3DFdF6bAdB595E41f19e947E5c14"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1782821927,
"transactionHash": "0x9bdb3a2474c15442e5c02c9331763acbdc2bb054ff76b2682f5701738faa49b8",
"implementations": [
"eth:0x66ADb8b3F58d3DFdF6bAdB595E41f19e947E5c14"
]
}
],
"description": "Merkle-gated node-operator onboarding contract. Eligible addresses can create an operator using the configured bond curve, or an existing operator owner can consume a proof to claim that curve.\n* Roles:\n * **admin**: Lido Dao Agent; ultimately Voting\n * **defaultAdmins**: Lido Dao Agent; ultimately Voting\n * **pausers**: CircuitBreaker, ResealManager; ultimately Voting\n * **resumers**: ResealManager; ultimately Voting\n * **treeSetters**: EVMScriptExecutor; ultimately EasyTrack",
"upgradableBy": [
{
"name": "Voting",
"delay": "3d"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xa12760721A72A7199aB38059DA6690b9Cd4ed7B8#code"
},
{
"name": "MetaRegistry",
"isVerified": true,
"address": "eth:0xA64b339eebD3dC3De848298B6a140955932901d8",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x3e40D73EB977Dc6a537aF587D48316feE66E9C8c"
],
"implementations": [
"eth:0x6d852907463496622bb5FE5bc55cc30C4682E10e"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1783070447,
"transactionHash": "0x9a0936e2a90541fcb683d2631feb777435a9d1884be25ef0f714054075f78fdf",
"implementations": [
"eth:0x422f0d117615949E0620E998E1FE455eB6215E30"
]
},
{
"timestamp": 1783070531,
"transactionHash": "0x411335e3c8d0c94d919a23dcef0c5cee74a63cef2e4972025e502332b7aab98e",
"implementations": [
"eth:0x6d852907463496622bb5FE5bc55cc30C4682E10e"
]
}
],
"description": "Stores metadata that groups permissionless staking-module node operators, describes their operators, and assigns bond-curve weights.\n* Roles:\n * **admin**: Lido Dao Agent; ultimately Voting\n * **defaultAdmins**: Lido Dao Agent; ultimately Voting\n * **operatorGroupManagers**: EVMScriptExecutor; ultimately EasyTrack\n * **operatorInfoSetters**: CuratedGate, CuratedModuleCommittee",
"upgradableBy": [
{
"name": "Voting",
"delay": "3d"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xA64b339eebD3dC3De848298B6a140955932901d8#code"
},
{
"name": "wstETH Referral Staker",
"isVerified": true,
"address": "eth:0xa88f0329C2c4ce51ba3fc619BBf44efE7120Dd0d",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Permissionless convenience contract that stakes supplied ETH in Lido with a caller-selected referral, wraps the resulting stETH, and returns wstETH to the caller.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xa88f0329C2c4ce51ba3fc619BBf44efE7120Dd0d#code"
},
{
"name": "ValidatorStrikes",
"isVerified": true,
"address": "eth:0xaa328816027F2D32B9F56d190BC9Fa4A5C07637f",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x3e40D73EB977Dc6a537aF587D48316feE66E9C8c"
],
"implementations": [
"eth:0xd25E7C3923d2e68c325980b0e15eD20d62B2691F"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1758112631,
"transactionHash": "0xce2dc07d9ed8201b98d438819ba4c3ef2b1d236e017c949d6af9dbc8a509d9d0",
"implementations": [
"eth:0x3E5021424c9e13FC853e523Cd68ebBec848956a0"
]
},
{
"timestamp": 1784904479,
"transactionHash": "0x297042b4e5fd41399634f124beec7afc37712bc3374c3419b72932caf52714aa",
"implementations": [
"eth:0xd25E7C3923d2e68c325980b0e15eD20d62B2691F"
]
}
],
"description": "Stores the oracle-provided Merkle root of validator performance strikes. Proven strike data can cause a poor-performing validator to be ejected and penalized.\n* Roles:\n * **admin**: Lido Dao Agent; ultimately Voting\n * **defaultAdmins**: Lido Dao Agent; ultimately Voting\n * **oracle**: FeeOracle",
"upgradableBy": [
{
"name": "Voting",
"delay": "3d"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xaa328816027F2D32B9F56d190BC9Fa4A5C07637f#code"
},
{
"name": "ValidatorConsolidationRequests",
"isVerified": true,
"address": "eth:0xaC4Aae7123248684C405A4b0038C1560EC7fE018",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Read-only stVault helper that validates a Dashboard's ownership of a connected StakingVault and builds the EIP-7251 consolidation-request calldata and fee-exemption call for its source and target validators.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xaC4Aae7123248684C405A4b0038C1560EC7fE018#code"
},
{
"name": "Liquid staked Ether 2.0 Token",
"isVerified": true,
"address": "eth:0xae7ab96520DE3A18E5e111B5EaAb095312D7fE84",
"upgradeability": {
"proxyType": "EIP897 proxy",
"admins": [],
"implementations": [
"eth:0x028271E30a695c0527A0C50cA30603feD004cDb0"
],
"immutable": false
},
"chain": "ethereum",
"description": "The rebasing stETH token and Lido protocol accounting entrypoint. It accepts stake, accounts for consensus- and execution-layer balances, mints and burns shares, and applies oracle reports. Version 3 adds external stake-backed shares and balance-based validator accounting.\n* Roles:\n * **bufferReserveManagers**: Lido Dao Agent; ultimately Voting\n * **bufferReservePermissionManagers**: Lido Dao Agent; ultimately Voting\n * **pausePermissionManagers**: Lido Dao Agent; ultimately Voting\n * **resumePermissionManagers**: Lido Dao Agent; ultimately Voting\n * **stakingControlPermissionManagers**: Lido Dao Agent; ultimately Voting\n * **stakingPausePermissionManagers**: Lido Dao Agent; ultimately Voting",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xae7ab96520DE3A18E5e111B5EaAb095312D7fE84#code"
},
{
"name": "NodeOperatorsRegistry",
"isVerified": true,
"address": "eth:0xaE7B191A31f627b4eB1d4DaC64eaB9976995b433",
"upgradeability": {
"proxyType": "EIP897 proxy",
"admins": [],
"implementations": [
"eth:0x6828b023e737f96B168aCd0b5c6351971a4F81aE"
],
"immutable": false
},
"chain": "ethereum",
"description": "Legacy permissioned staking module for curated node operators. It stores validator keys, receives deposits from the StakingRouter, tracks exited and stuck validators, and distributes module rewards.\n* Roles:\n * **nodeOperatorLimitPermissionManagers**: Lido Dao Agent; ultimately Voting\n * **nodeOperatorLimitSetters**: EVMScriptExecutor; ultimately EasyTrack\n * **nodeOperatorManagers**: EVMScriptExecutor; ultimately EasyTrack\n * **nodeOperatorPermissionManagers**: Lido Dao Agent; ultimately Voting\n * **signingKeyManagers**: EVMScriptExecutor; ultimately EasyTrack\n * **signingKeyPermissionManagers**: EVMScriptExecutor; ultimately EasyTrack\n * **stakingRouterPermissionManagers**: Lido Dao Agent; ultimately Voting\n * **stakingRouters**: EVMScriptExecutor, StakingRouter; ultimately EasyTrack",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xaE7B191A31f627b4eB1d4DaC64eaB9976995b433#code"
},
{
"name": "VettedGate",
"isVerified": true,
"address": "eth:0xB314D4A76C457c93150d308787939063F4Cc67E0",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x3e40D73EB977Dc6a537aF587D48316feE66E9C8c"
],
"implementations": [
"eth:0x66ADb8b3F58d3DFdF6bAdB595E41f19e947E5c14"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1758112391,
"transactionHash": "0x34c17146c21269afdad518c3d057bcfe8e9fe674743598ac04943111c88c47fb",
"implementations": [
"eth:0x65D4D92Cd0EabAa05cD5A46269C24b71C21cfdc4"
]
},
{
"timestamp": 1784904479,
"transactionHash": "0x297042b4e5fd41399634f124beec7afc37712bc3374c3419b72932caf52714aa",
"implementations": [
"eth:0x66ADb8b3F58d3DFdF6bAdB595E41f19e947E5c14"
]
}
],
"description": "Merkle-gated node-operator onboarding contract. Eligible addresses can create an operator using the configured bond curve, or an existing operator owner can consume a proof to claim that curve.\n* Roles:\n * **admin**: Lido Dao Agent; ultimately Voting\n * **defaultAdmins**: Lido Dao Agent; ultimately Voting\n * **pausers**: CircuitBreaker, ResealManager; ultimately Voting\n * **resumers**: ResealManager; ultimately Voting\n * **treeSetters**: EVMScriptExecutor; ultimately EasyTrack",
"upgradableBy": [
{
"name": "Voting",
"delay": "3d"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xB314D4A76C457c93150d308787939063F4Cc67E0#code"
},
{
"name": "PermissionlessGate",
"isVerified": true,
"address": "eth:0xb8cd8F059Ad7a5dB8CAfDe34aAb007317F7156C8",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Permissionless Community Staking Module onboarding contract. Any address can create a node operator using its fixed bond curve by depositing ETH, stETH or wstETH.\n* Roles:\n * **defaultAdmins**: Lido Dao Agent; ultimately Voting",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xb8cd8F059Ad7a5dB8CAfDe34aAb007317F7156C8#code"
},
{
"name": "WithdrawalVault",
"isVerified": true,
"address": "eth:0xB9D7934878B5FB9610B3fE8A5e441e8fad7E293f",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x3e40D73EB977Dc6a537aF587D48316feE66E9C8c"
],
"implementations": [
"eth:0xfB4521BD151BFB45DB6045D2d07e58e0f597e340"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1684163759,
"transactionHash": "0x592d68a259af899fb435da0ac08c2fd500cb423f37f1d8ce8e3120cb84186b21",
"implementations": [
"eth:0xCC52f17756C04bBa7E377716d7062fC36D7f69Fd"
]
},
{
"timestamp": 1759420367,
"transactionHash": "0xfff774d519ec1afd4358d4858672578437e815dc1652245a2ffb7bde1bfff2ad",
"implementations": [
"eth:0x7D2BAa6094E1C4B60Da4cbAF4A77C3f4694fD53D"
]
},
{
"timestamp": 1784904479,
"transactionHash": "0x297042b4e5fd41399634f124beec7afc37712bc3374c3419b72932caf52714aa",
"implementations": [
"eth:0xfB4521BD151BFB45DB6045D2d07e58e0f597e340"
]
}
],
"description": "Holds consensus-layer withdrawals and pays protocol predeploy fees. It lets stETH collect withdrawn ETH and lets the designated gateways submit EIP-7002 withdrawal and EIP-7251 consolidation requests.\n* Roles:\n * **admin**: Lido Dao Agent; ultimately Voting\n * **consolidation_gateway**: ConsolidationGateway\n * **lido**: Liquid staked Ether 2.0 Token\n * **triggerable_withdrawals_gateway**: TriggerableWithdrawalsGateway",
"upgradableBy": [
{
"name": "Voting",
"delay": "3d"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xB9D7934878B5FB9610B3fE8A5e441e8fad7E293f#code"
},
{
"name": "ValidatorExitDelayVerifier",
"isVerified": true,
"address": "eth:0xbDb567672c867DB533119C2dcD4FB9d8b44EC82f",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Permissionless EIP-4788 proof verifier that detects validators which remained active after a ValidatorExitBus exit request and reports their exit delay to the StakingRouter.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xbDb567672c867DB533119C2dcD4FB9d8b44EC82f#code"
},
{
"name": "TokenRateNotifier",
"isVerified": true,
"address": "eth:0xbe05d12Fd10919F1881125006523452F6aFF791b",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Notifies registered observer contracts after each stETH rebase (oracle report). Observers either just push the current token rate or additionally receive the full rebase report payload.\n* Roles:\n * **owner**: Lido Dao Agent; ultimately Voting",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xbe05d12Fd10919F1881125006523452F6aFF791b#code"
},
{
"name": "OracleDaemonConfig",
"isVerified": true,
"address": "eth:0xbf05A929c3D7885a6aeAd833a992dA6E5ac23b09",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Stores key-value configuration consumed by Lido's off-chain oracle daemon.\n* Roles:\n * **defaultAdmins**: Lido Dao Agent; ultimately Voting",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xbf05A929c3D7885a6aeAd833a992dA6E5ac23b09#code"
},
{
"name": "LidoLocator",
"isVerified": true,
"address": "eth:0xC1d0b3DE6792Bf6b4b37EccdcC24e45978Cfd2Eb",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x3e40D73EB977Dc6a537aF587D48316feE66E9C8c"
],
"implementations": [
"eth:0xF2Ffb952e129a63F0614Ff87126E1d4a494A2313"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1681295123,
"transactionHash": "0x3a2910624533935cc8c21837b1705bcb159a760796930097016186be705cc455",
"implementations": [
"eth:0xEC3B38EDc7878Ad3f18cFddcd341aa94Fc57d20B"
]
},
{
"timestamp": 1681378415,
"transactionHash": "0x299b401a2312fa081a6cb5012797a0f5a23b07394a96d505ebf7f4ab6420ff63",
"implementations": [
"eth:0x2faE8f0A4D8D11B6EC35d04d3Ea6a0d195EB6D3F"
]
},
{
"timestamp": 1681456667,
"transactionHash": "0x20aab9de778f007c034b35a11206f7e17ec8b28f9c8beabc26a8551ecab8f9f6",
"implementations": [
"eth:0xc601E93D9F48D5E374820957CdA57516e2523d6C"
]
},
{
"timestamp": 1681817063,
"transactionHash": "0x6105c893856a2528347ff1b2efd0838097b8c562670116f60bb76eb54cb80ce6",
"implementations": [
"eth:0xd4f6BEF8DdBc7306684b8D7c836269e0E6f8B6D0"
]
},
{
"timestamp": 1683731075,
"transactionHash": "0x3b419bde1ce29392444d861c02f3846ce0ea65b0caa50dbd5136f1ff46cddf4f",
"implementations": [
"eth:0x1D920cc5bACf7eE506a271a5259f2417CaDeCE1d"
]
},
{
"timestamp": 1684163759,
"transactionHash": "0x592d68a259af899fb435da0ac08c2fd500cb423f37f1d8ce8e3120cb84186b21",
"implementations": [
"eth:0x1D920cc5bACf7eE506a271a5259f2417CaDeCE1d"
]
},
{
"timestamp": 1728663671,
"transactionHash": "0xc7bc3019721ecf320698f2897b329d1930f64661100a5fa159181146088e03c2",
"implementations": [
"eth:0x39aFE23cE59e8Ef196b81F0DCb165E9aD38b9463"
]
},
{
"timestamp": 1729872203,
"transactionHash": "0x0078b3e0cecb3b50c78a22e0b1a985e6cde3bf431e9cb3b2ba4e50260122d542",
"implementations": [
"eth:0x3ABc4764f0237923d52056CFba7E9AEBf87113D3"
]
},
{
"timestamp": 1759420367,
"transactionHash": "0xfff774d519ec1afd4358d4858672578437e815dc1652245a2ffb7bde1bfff2ad",
"implementations": [
"eth:0x2C298963FB763f74765829722a1ebe0784f4F5Cf"
]
},
{
"timestamp": 1766586947,
"transactionHash": "0xf143303a719ee2e0c494efce07f889f7c4cd432d9ed993b410c20ad1c904d38f",
"implementations": [
"eth:0x2f8779042EFaEd4c53db2Ce293eB6B3f7096C72d"
]
},
{
"timestamp": 1784904479,
"transactionHash": "0x297042b4e5fd41399634f124beec7afc37712bc3374c3419b72932caf52714aa",
"implementations": [
"eth:0x0360002bf51DCae1c0267aE0AFDaBacAF7De686b"
]
},
{
"timestamp": 1786712795,
"transactionHash": "0x5a7868439de1003dc5f3d7ecf99826410c17883794bcd38ff75dd0e0bcce57c4",
"implementations": [
"eth:0xF2Ffb952e129a63F0614Ff87126E1d4a494A2313"
]
}
],
"description": "Canonical registry of the active Lido core, oracle, staking, withdrawal, top-up, consolidation, and StakingVault subsystem contract addresses.\n* Roles:\n * **admin**: Lido Dao Agent; ultimately Voting",
"upgradableBy": [
{
"name": "Voting",
"delay": "3d"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xC1d0b3DE6792Bf6b4b37EccdcC24e45978Cfd2Eb#code"
},
{
"name": "Community Staking Module Verifier",
"isVerified": true,
"address": "eth:0xC392F457960f1B13Ebaf1aa6C065479dD507E1E3",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Permissionless beacon-state proof verifier for a Community Staking Module. Valid proofs report validator balances, withdrawals and slashing to the connected module.\n* Roles:\n * **defaultAdmins**: Lido Dao Agent; ultimately Voting\n * **pausers**: CircuitBreaker, ResealManager; ultimately Voting\n * **resumers**: ResealManager; ultimately Voting",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xC392F457960f1B13Ebaf1aa6C065479dD507E1E3#code"
},
{
"name": "OperatorGrid",
"isVerified": true,
"address": "eth:0xC69685E89Cefc327b43B7234AC646451B27c544d",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x3e40D73EB977Dc6a537aF587D48316feE66E9C8c"
],
"implementations": [
"eth:0xA612E30D71d7D54aEaf4e5A21023F3F270932C2C"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1764766451,
"transactionHash": "0x40af678429fcb6c79b61224f49b397f25f91a40bf4aadf2cb55b56c89de6c15d",
"implementations": [
"eth:0xA612E30D71d7D54aEaf4e5A21023F3F270932C2C"
]
}
],
"description": "Registry of stVault node-operator groups and risk tiers. It defines per-tier share limits, reserve ratios, forced-rebalance thresholds and fees, coordinates two-party tier changes, and can jail vaults.\n* Roles:\n * **admin**: Lido Dao Agent; ultimately Voting\n * **defaultAdmins**: Lido Dao Agent; ultimately Voting\n * **registryManagers**: EVMScriptExecutor, VaultsAdapter; ultimately EasyTrack",
"upgradableBy": [
{
"name": "Voting",
"delay": "3d"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xC69685E89Cefc327b43B7234AC646451B27c544d#code"
},
{
"name": "StakingVault",
"isVerified": true,
"address": "eth:0xd402937b3Ff3c187f727C1146a9E846275E9F711",
"upgradeability": {
"proxyType": "Beacon proxy",
"admins": [
"eth:0x3e40D73EB977Dc6a537aF587D48316feE66E9C8c"
],
"implementations": [
"eth:0x06A56487494aa080deC7Bf69128EdA9225784553"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1764766367,
"transactionHash": "0xc1b1edfb9449fe7544219c94a0097c95521a4938cbda114f97f7e7b1c2d1e975",
"implementations": [
"eth:0x06A56487494aa080deC7Bf69128EdA9225784553"
]
}
],
"description": "An isolated staking position that holds ETH for validators with 0x02 withdrawal credentials. The owner controls funds and validator operations, the depositor performs Beacon Chain deposits, and the node operator can force validator exits. Vaults normally use a beacon implementation but can irreversibly pin their current implementation.\n* Roles:\n * **admin**: Lido Dao Agent; ultimately Voting\n * **depositor**: PredepositGuarantee\n * **owner**: VaultHub",
"upgradableBy": [
{
"name": "Voting",
"delay": "3d"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xd402937b3Ff3c187f727C1146a9E846275E9F711#code"
},
{
"name": "OpStackTokenRatePusher",
"isVerified": true,
"address": "eth:0xd54c1c6413caac3477AC14b2a80D5398E3c32FfE",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Pushes the current wstETH token rate to the token rate oracle on Optimism via the canonical OP Stack messenger whenever a rebase is reported.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xd54c1c6413caac3477AC14b2a80D5398E3c32FfE#code"
},
{
"name": "HashConsensus",
"isVerified": true,
"address": "eth:0xD624B08C83bAECF0807Dd2c6880C3154a5F0B288",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Collects report hashes from an enumerable oracle committee and forwards a report to its processor once quorum agrees. It defines report frames, quorum, fast-lane members, and the report processor.\n* Roles:\n * **defaultAdmins**: Lido Dao Agent; ultimately Voting\n * **memberAndQuorumManagers**: Lido Dao Agent; ultimately Voting\n * **members**: EOA 1, EOA 2, EOA 3, EOA 4, EOA 5, EOA 6, EOA 7, EOA 8, EOA 9",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xD624B08C83bAECF0807Dd2c6880C3154a5F0B288#code"
},
{
"name": "ConsolidationBus",
"isVerified": true,
"address": "eth:0xd907CE33B4Be423823d1CFFe80BD147E8b8554C8",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x3e40D73EB977Dc6a537aF587D48316feE66E9C8c"
],
"implementations": [
"eth:0xFfDe8Acab9D7037f29198Ad03ad6d05bac8B0a2E"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1782909563,
"transactionHash": "0x9b245b7da17cafc49ec0d05940243da32fa2cd10d252c8ad8324042fb27e4b75",
"implementations": [
"eth:0xFfDe8Acab9D7037f29198Ad03ad6d05bac8B0a2E"
]
}
],
"description": "Queues validator consolidation batches and, after an execution delay, forwards proven EIP-7251 requests to ConsolidationGateway.\n* Roles:\n * **admin**: Lido Dao Agent; ultimately Voting\n * **batchRemovers**: CuratedModuleCommittee\n * **defaultAdmins**: Lido Dao Agent; ultimately Voting\n * **publishers**: ConsolidationMigrator",
"upgradableBy": [
{
"name": "Voting",
"delay": "3d"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xd907CE33B4Be423823d1CFFe80BD147E8b8554C8#code"
},
{
"name": "FeeDistributor",
"isVerified": true,
"address": "eth:0xD99CC66fEC647E68294C6477B40fC7E0F6F618D0",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x3e40D73EB977Dc6a537aF587D48316feE66E9C8c"
],
"implementations": [
"eth:0x936da7cDB7eed1084d294E23eA1d7Ad72DCcfE0E"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1728566351,
"transactionHash": "0xee7781fe84a8d09249d1d882c3e1f4dbb82f8dd743a15d4b27df35c4959e17b3",
"implementations": [
"eth:0x17Fc610ecbbAc3f99751b3B2aAc1bA2b22E444f0"
]
},
{
"timestamp": 1759420367,
"transactionHash": "0xfff774d519ec1afd4358d4858672578437e815dc1652245a2ffb7bde1bfff2ad",
"implementations": [
"eth:0x5DCF7cF7c6645E9E822a379dF046a8b0390251A1"
]
},
{
"timestamp": 1784904479,
"transactionHash": "0x297042b4e5fd41399634f124beec7afc37712bc3374c3419b72932caf52714aa",
"implementations": [
"eth:0x936da7cDB7eed1084d294E23eA1d7Ad72DCcfE0E"
]
}
],
"description": "Receives a staking module's stETH fee shares and distributes them to node operators according to a Merkle tree submitted by its FeeOracle. Claims are accounted in stETH shares.\n* Roles:\n * **admin**: Lido Dao Agent; ultimately Voting\n * **defaultAdmins**: Lido Dao Agent; ultimately Voting",
"upgradableBy": [
{
"name": "Voting",
"delay": "3d"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xD99CC66fEC647E68294C6477B40fC7E0F6F618D0#code"
},
{
"name": "CuratedModule",
"isVerified": true,
"address": "eth:0xDa5F930cE326EB5205085D66c72A4E79d60cB8C1",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x3e40D73EB977Dc6a537aF587D48316feE66E9C8c"
],
"implementations": [
"eth:0x959fC67FE53c8A6C7a1AEd73430Aa07a36eD9337"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1783070435,
"transactionHash": "0x73bb79457c94ed9d2e57bf4e1c769515b3f079e7c236093b27d4aeb6f28d0e76",
"implementations": [
"eth:0x422f0d117615949E0620E998E1FE455eB6215E30"
]
},
{
"timestamp": 1783070507,
"transactionHash": "0x4fae01530d41411c27f17cc6ba0314e0eab91d9240c89af3880a21e56d5e3efd",
"implementations": [
"eth:0x959fC67FE53c8A6C7a1AEd73430Aa07a36eD9337"
]
}
],
"description": "The permissioned Curated Staking Module. It manages approved node operators and validator keys, accepts deposits and top-ups from the StakingRouter, and processes validator lifecycle reports and penalties.\n* Roles:\n * **admin**: Lido Dao Agent; ultimately Voting\n * **defaultAdmins**: Lido Dao Agent; ultimately Voting\n * **delayedPenaltyReporters**: CuratedModuleCommittee\n * **delayedPenaltySettlers**: EVMScriptExecutor; ultimately EasyTrack\n * **nodeOperatorCreators**: CuratedGate\n * **pausers**: CircuitBreaker, ResealManager; ultimately Voting\n * **regularWithdrawalReporters**: Community Staking Module Verifier\n * **resumers**: ResealManager; ultimately Voting\n * **slashedWithdrawalReporters**: EVMScriptExecutor; ultimately EasyTrack\n * **stakingRouters**: StakingRouter\n * **verifiers**: Community Staking Module Verifier",
"upgradableBy": [
{
"name": "Voting",
"delay": "3d"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xDa5F930cE326EB5205085D66c72A4E79d60cB8C1#code"
},
{
"name": "CSModule",
"isVerified": true,
"address": "eth:0xdA7dE2ECdDfccC6c3AF10108Db212ACBBf9EA83F",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x3e40D73EB977Dc6a537aF587D48316feE66E9C8c"
],
"implementations": [
"eth:0x63992a86f009fcC796a8369feEfB68880aef4e3a"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1728566339,
"transactionHash": "0xf5330dbcf09885ed145c4435e356b5d8a10054751bb8009d3a2605d476ac173f",
"implementations": [
"eth:0x8daEa53b17a629918CDFAB785C5c74077c1D895B"
]
},
{
"timestamp": 1759420367,
"transactionHash": "0xfff774d519ec1afd4358d4858672578437e815dc1652245a2ffb7bde1bfff2ad",
"implementations": [
"eth:0x1eB6d4da13ca9566c17F526aE0715325d7a07665"
]
},
{
"timestamp": 1784904479,
"transactionHash": "0x297042b4e5fd41399634f124beec7afc37712bc3374c3419b72932caf52714aa",
"implementations": [
"eth:0x63992a86f009fcC796a8369feEfB68880aef4e3a"
]
}
],
"description": "Lido's permissionless Community Staking Module. It manages node operators and validator keys, accepts router deposits and top-ups, processes validator exits, and applies bond-backed penalties.\n* Roles:\n * **admin**: Lido Dao Agent; ultimately Voting\n * **defaultAdmins**: Lido Dao Agent; ultimately Voting\n * **delayedPenaltyReporters**: CommunityStakingModuleCommittee\n * **delayedPenaltySettlers**: EVMScriptExecutor; ultimately EasyTrack\n * **nodeOperatorCreators**: PermissionlessGate, VettedGate\n * **pausers**: CircuitBreaker, ResealManager; ultimately Voting\n * **regularWithdrawalReporters**: Community Staking Module Verifier\n * **resumers**: ResealManager; ultimately Voting\n * **slashedWithdrawalReporters**: EVMScriptExecutor; ultimately EasyTrack\n * **stakingRouters**: StakingRouter\n * **verifiers**: Community Staking Module Verifier",
"upgradableBy": [
{
"name": "Voting",
"delay": "3d"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xdA7dE2ECdDfccC6c3AF10108Db212ACBBf9EA83F#code"
},
{
"name": "TriggerableWithdrawalsGateway",
"isVerified": true,
"address": "eth:0xDC00116a0D3E064427dA2600449cfD2566B3037B",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "The permissioned entrypoint for full EIP-7002 validator withdrawals. It charges the current request fee, applies a replenishing global exit limit, forwards requests to WithdrawalVault, and notifies StakingRouter.\n* Roles:\n * **defaultAdmins**: Lido Dao Agent; ultimately Voting\n * **exitLimitManagers**: Lido Dao Agent; ultimately Voting\n * **pausers**: CircuitBreaker, ResealManager; ultimately Voting\n * **resumers**: ResealManager; ultimately Voting\n * **withdrawalRequesters**: Ejector, ValidatorsExitBusOracle",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xDC00116a0D3E064427dA2600449cfD2566B3037B#code"
},
{
"name": "Ejector",
"isVerified": true,
"address": "eth:0xe181A377A2d2BDE9A83f1474BC3DB7A412de091E",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Submits triggerable full-withdrawal requests for validators. Node operators may voluntarily eject their own validators, while ValidatorStrikes can eject validators for poor performance.\n* Roles:\n * **defaultAdmins**: Lido Dao Agent; ultimately Voting\n * **pausers**: CircuitBreaker, ResealManager; ultimately Voting\n * **resumers**: ResealManager; ultimately Voting\n * **strikes**: ValidatorStrikes",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xe181A377A2d2BDE9A83f1474BC3DB7A412de091E#code"
},
{
"name": "StakingVault",
"isVerified": true,
"address": "eth:0xE2cC063DEc5685718Bd57aAC6AEE9941b25b7c37",
"upgradeability": {
"proxyType": "Beacon proxy",
"admins": [
"eth:0x3e40D73EB977Dc6a537aF587D48316feE66E9C8c"
],
"implementations": [
"eth:0x06A56487494aa080deC7Bf69128EdA9225784553"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1764766367,
"transactionHash": "0xc1b1edfb9449fe7544219c94a0097c95521a4938cbda114f97f7e7b1c2d1e975",
"implementations": [
"eth:0x06A56487494aa080deC7Bf69128EdA9225784553"
]
}
],
"description": "An isolated staking position that holds ETH for validators with 0x02 withdrawal credentials. The owner controls funds and validator operations, the depositor performs Beacon Chain deposits, and the node operator can force validator exits. Vaults normally use a beacon implementation but can irreversibly pin their current implementation.\n* Roles:\n * **admin**: Lido Dao Agent; ultimately Voting\n * **depositor**: PredepositGuarantee\n * **owner**: VaultHub",
"upgradableBy": [
{
"name": "Voting",
"delay": "3d"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xE2cC063DEc5685718Bd57aAC6AEE9941b25b7c37#code"
},
{
"name": "Burner",
"isVerified": true,
"address": "eth:0xE76c52750019b80B43E36DF30bf4060EB73F573a",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x3e40D73EB977Dc6a537aF587D48316feE66E9C8c"
],
"implementations": [
"eth:0xEe1E3B4f047122650086985f794f0dB5f10Ae49D"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1764766319,
"transactionHash": "0x5002e54676d77acc3cd874929f8b1311434e10586ce72f58d05d4b1450a4e17d",
"implementations": [
"eth:0xEe1E3B4f047122650086985f794f0dB5f10Ae49D"
]
}
],
"description": "Escrows stETH shares requested for cover or non-cover burning and burns them during an oracle report. Excess stETH can be recovered into the Lido protocol during migration.\n* Roles:\n * **admin**: Lido Dao Agent; ultimately Voting\n * **defaultAdmins**: Lido Dao Agent; ultimately Voting\n * **selfBurnRequesters**: Accounting\n * **shareBurnRequesters**: Core Accounting",
"upgradableBy": [
{
"name": "Voting",
"delay": "3d"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xE76c52750019b80B43E36DF30bf4060EB73F573a#code"
},
{
"name": "CuratedGate",
"isVerified": true,
"address": "eth:0xeF273Ca4A21Ba7B414Ae3C9f9b443038cb133F72",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x3e40D73EB977Dc6a537aF587D48316feE66E9C8c"
],
"implementations": [
"eth:0x3cb948FD454ad6b20DE67633f25DcbDbEaa0e849"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1783071383,
"transactionHash": "0xca276977fdd30f6065858d5358dbd53da86a6250da7ffee0525e5c9bfab9abeb",
"implementations": [
"eth:0x3cb948FD454ad6b20DE67633f25DcbDbEaa0e849"
]
}
],
"description": "Merkle-gated onboarding contract for a curated Community Staking Module cohort. An eligible address consumes its proof to create a node operator with this gate's configured bond curve and metadata group.\n* Roles:\n * **admin**: Lido Dao Agent; ultimately Voting\n * **defaultAdmins**: Lido Dao Agent; ultimately Voting\n * **pausers**: CuratedModuleCommittee\n * **treeSetters**: EVMScriptExecutor; ultimately EasyTrack",
"upgradableBy": [
{
"name": "Voting",
"delay": "3d"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xeF273Ca4A21Ba7B414Ae3C9f9b443038cb133F72#code"
},
{
"name": "ValidatorStrikes",
"isVerified": true,
"address": "eth:0xf4618370a1fBf46905B16C10817c8CFaD924D6db",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x3e40D73EB977Dc6a537aF587D48316feE66E9C8c"
],
"implementations": [
"eth:0x239Ee6ab18fB06370ad53Ce05097B32208fB0a30"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1783071011,
"transactionHash": "0x23d4bf97b318f495c75af785aee05dc484d062ab141b17651cac85343b30925e",
"implementations": [
"eth:0x7A4C579e6Ed4017A03B4d43687f09b851F68d391"
]
},
{
"timestamp": 1783071071,
"transactionHash": "0xe2f72eb391f620d7e53e90783c652813f41c6c03d6a063c26e686f935cc7e0ec",
"implementations": [
"eth:0x239Ee6ab18fB06370ad53Ce05097B32208fB0a30"
]
}
],
"description": "Stores the oracle-provided Merkle root of validator performance strikes. Proven strike data can cause a poor-performing validator to be ejected and penalized.\n* Roles:\n * **admin**: Lido Dao Agent; ultimately Voting\n * **defaultAdmins**: Lido Dao Agent; ultimately Voting\n * **oracle**: FeeOracle",
"upgradableBy": [
{
"name": "Voting",
"delay": "3d"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xf4618370a1fBf46905B16C10817c8CFaD924D6db#code"
},
{
"name": "PredepositGuarantee",
"isVerified": true,
"address": "eth:0xF4bF42c6D6A0E38825785048124DBAD6c9eaaac3",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x3e40D73EB977Dc6a537aF587D48316feE66E9C8c"
],
"implementations": [
"eth:0xE78717192C45736DF0E4be55c0219Ee7f9aDdd0D"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1764766415,
"transactionHash": "0xfd1b90b1797f0728db5453713513a823a5b2751e5a6947d103c2f4d0bcc15f83",
"implementations": [
"eth:0xCC08C36BD5bb78FDcB10F35B404ada6Ffc71a023"
]
},
{
"timestamp": 1769692907,
"transactionHash": "0x8edb8008fdc48301db7b4f40ab520ba6f8b9354452fc52faf2092eb7df31c24c",
"implementations": [
"eth:0xE78717192C45736DF0E4be55c0219Ee7f9aDdd0D"
]
}
],
"description": "Protects StakingVault deposits by proving validator withdrawal credentials and requiring an initial predeposit before the remaining validator deposit is sent.\n* Roles:\n * **admin**: Lido Dao Agent; ultimately Voting\n * **defaultAdmins**: Lido Dao Agent; ultimately Voting\n * **pausers**: CircuitBreaker, ResealManager; ultimately Voting\n * **resumers**: ResealManager; ultimately Voting",
"upgradableBy": [
{
"name": "Voting",
"delay": "3d"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xF4bF42c6D6A0E38825785048124DBAD6c9eaaac3#code"
},
{
"name": "MEV Boost Relay Allowed List",
"isVerified": true,
"address": "eth:0xF95f069F9AD107938F6ba802a3da87892298610E",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Registry of MEV-Boost relay endpoints supported by Lido node operators. The list distinguishes mandatory relays from optional relays and is consumed offchain.\n* Roles:\n * **get_manager**: EVMScriptExecutor; ultimately EasyTrack\n * **get_owner**: Lido Dao Agent; ultimately Voting",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xF95f069F9AD107938F6ba802a3da87892298610E#code"
},
{
"name": "Community Staking Module Verifier",
"isVerified": true,
"address": "eth:0xfce7aB839e55de77730716D05b3553e45ab3A5Ba",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Permissionless beacon-state proof verifier for a Community Staking Module. Valid proofs report validator balances, withdrawals and slashing to the connected module.\n* Roles:\n * **defaultAdmins**: Lido Dao Agent; ultimately Voting\n * **pausers**: CircuitBreaker, ResealManager; ultimately Voting\n * **resumers**: ResealManager; ultimately Voting",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xfce7aB839e55de77730716D05b3553e45ab3A5Ba#code"
},
{
"name": "StakingRouter",
"isVerified": true,
"address": "eth:0xFdDf38947aFB03C621C71b06C9C70bce73f12999",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x3e40D73EB977Dc6a537aF587D48316feE66E9C8c"
],
"implementations": [
"eth:0xDD76927045435C7605cf6f5F978cfb8CABDb5F80"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1683023963,
"transactionHash": "0xb8620f04a8db6bb52cfd0978c6677a5f16011e03d4622e5d660ea6ba34c2b122",
"implementations": [
"eth:0x6F6541C2203196fEeDd14CD2C09550dA1CbEDa31"
]
},
{
"timestamp": 1684163759,
"transactionHash": "0x592d68a259af899fb435da0ac08c2fd500cb423f37f1d8ce8e3120cb84186b21",
"implementations": [
"eth:0xD8784e748f59Ba711fB5643191Ec3fAdD50Fb6df"
]
},
{
"timestamp": 1729872203,
"transactionHash": "0x0078b3e0cecb3b50c78a22e0b1a985e6cde3bf431e9cb3b2ba4e50260122d542",
"implementations": [
"eth:0x89eDa99C0551d4320b56F82DDE8dF2f8D2eF81aA"
]
},
{
"timestamp": 1759420367,
"transactionHash": "0xfff774d519ec1afd4358d4858672578437e815dc1652245a2ffb7bde1bfff2ad",
"implementations": [
"eth:0x226f9265CBC37231882b7409658C18bB7738173A"
]
},
{
"timestamp": 1784904479,
"transactionHash": "0x297042b4e5fd41399634f124beec7afc37712bc3374c3419b72932caf52714aa",
"implementations": [
"eth:0xDD76927045435C7605cf6f5F978cfb8CABDb5F80"
]
}
],
"description": "Coordinates Lido staking modules, allocates deposits and top-ups, tracks validator balances and exit states, and distributes staking rewards. Version 3 uses validator balances instead of validator counts and supports EIP-7251 compounding validators.\n* Roles:\n * **admin**: Lido Dao Agent; ultimately Voting\n * **defaultAdmins**: Lido Dao Agent; ultimately Voting\n * **exitedValidatorReporters**: AccountingOracle\n * **rewardsMintReporters**: Core Accounting\n * **stakingModuleManagers**: Lido Dao Agent; ultimately Voting\n * **stakingModuleShareManagers**: EVMScriptExecutor; ultimately EasyTrack\n * **stakingModuleUnvetters**: DepositSecurityModule\n * **validatorExitTriggerReporters**: TriggerableWithdrawalsGateway\n * **validatorExitingStatusReporters**: ValidatorExitDelayVerifier",
"upgradableBy": [
{
"name": "Voting",
"delay": "3d"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xFdDf38947aFB03C621C71b06C9C70bce73f12999#code"
},
{
"name": "ParametersRegistry",
"isVerified": true,
"address": "eth:0xffC1C5d59CeAC6F6c27E701F04a70cb50474607C",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x3e40D73EB977Dc6a537aF587D48316feE66E9C8c"
],
"implementations": [
"eth:0xfF419BbBC5f44d46547079922a88d691886d192a"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1783070423,
"transactionHash": "0x5336a3ec97750f1e0852f43cb31f4e9f60a906699b143cb6ffb3128391819ab2",
"implementations": [
"eth:0xfF419BbBC5f44d46547079922a88d691886d192a"
]
}
],
"description": "Stores configurable Community Staking Module parameters, including bond curves, operator rewards, penalties, key limits, queue policy, performance thresholds, and validator-exit rules.\n* Roles:\n * **admin**: Lido Dao Agent; ultimately Voting\n * **defaultAdmins**: Lido Dao Agent; ultimately Voting\n * **penaltyAndChargeManagers**: CuratedModuleCommittee",
"upgradableBy": [
{
"name": "Voting",
"delay": "3d"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xffC1C5d59CeAC6F6c27E701F04a70cb50474607C#code"
},
{
"name": "Escrow",
"isVerified": true,
"address": "eth:0x165813A31446a98c84E20Dda8C101BB3C8228e1c",
"upgradeability": {
"proxyType": "EIP1167 proxy",
"admins": [],
"implementations": [
"eth:0xd6A67636c05BeB5B4a5c90D408b03A63c4e39426"
]
},
"chain": "ethereum",
"description": "Dual Governance escrow in which holders lock stETH, wstETH or unstETH to build veto support. It can be irreversibly converted into a Rage Quit escrow that withdraws the locked position as ETH.\n* Roles:\n * **dual_governance**: DualGovernance; ultimately Voting",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x165813A31446a98c84E20Dda8C101BB3C8228e1c#code"
},
{
"name": "Executor",
"isVerified": true,
"address": "eth:0x23E0B465633FF5178808F4A75186E2F2F9537021",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "External-call executor used by the Dual Governance timelock. Its owner can make it call any target with arbitrary calldata and ETH.\n* Roles:\n * **owner**: EmergencyProtectedTimelock; ultimately Voting",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x23E0B465633FF5178808F4A75186E2F2F9537021#code"
},
{
"name": "VaultsAdapter",
"isVerified": true,
"address": "eth:0x28F9Ac198C4E0FA6A9Ad2c2f97CB38F1A3120f27",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "EasyTrack adapter for stVault administration. The EVMScriptExecutor may change vault fees and jail status, liability targets, socialize bad debt, and force validator exits; a separate trusted caller controls the maximum exit fee and ETH recovery.\n* Roles:\n * **evmScriptExecutor**: EVMScriptExecutor; ultimately EasyTrack\n * **trustedCaller**: StVaultsCommittee",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x28F9Ac198C4E0FA6A9Ad2c2f97CB38F1A3120f27#code"
},
{
"name": "Lido Dao Agent",
"isVerified": true,
"address": "eth:0x3e40D73EB977Dc6a537aF587D48316feE66E9C8c",
"upgradeability": {
"proxyType": "EIP897 proxy",
"admins": [],
"implementations": [
"eth:0x3A93C17FC82CC33420d1809dDA9Fb715cc89dd37"
],
"immutable": false
},
"chain": "ethereum",
"description": "The Lido DAO's Aragon execution and treasury agent. It can transfer assets, execute arbitrary calls or scripts, and validate signatures according to granular ACL permissions.\n* Roles:\n * **assetTransferers**: Finance\n * **executePermissionManagers**: Lido Dao Agent; ultimately Voting\n * **executors**: Executor\n * **scriptPermissionManagers**: Lido Dao Agent; ultimately Voting\n * **scriptRunners**: Executor\n * **transferPermissionManagers**: Voting",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x3e40D73EB977Dc6a537aF587D48316feE66E9C8c#code"
},
{
"name": "TimelockedGovernance",
"isVerified": true,
"address": "eth:0x553337946F2FAb8911774b20025fa776B76a7CcE",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Emergency governance adapter. Its configured governance may submit and cancel proposals in the EmergencyProtectedTimelock; scheduling is permissionless once the submission delay has elapsed.\n* Roles:\n * **governance**: Voting",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x553337946F2FAb8911774b20025fa776B76a7CcE#code"
},
{
"name": "CallsScript",
"isVerified": true,
"address": "eth:0x5cEb19e1890f677c3676d5ecDF7c501eBA01A054",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Petrified Aragon CallsScript executor library used by the Lido DAO and EasyTrack to decode and perform a batch of external calls.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x5cEb19e1890f677c3676d5ecDF7c501eBA01A054#code"
},
{
"name": "ResealManager",
"isVerified": true,
"address": "eth:0x7914b5a1539b97Bd0bbd155757F25FD79A522d24",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Adapter that lets the governance configured in the EmergencyProtectedTimelock indefinitely extend an existing pause or resume a supported sealable contract.\n* Roles:\n * **governance**: DualGovernance; ultimately Voting",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x7914b5a1539b97Bd0bbd155757F25FD79A522d24#code"
},
{
"name": "EVMScriptRegistry",
"isVerified": true,
"address": "eth:0x853cc0D5917f49B57B8e9F89e491F5E18919093A",
"upgradeability": {
"proxyType": "EIP897 proxy",
"admins": [],
"implementations": [
"eth:0xBF1Ce0Bc4EdaAD8e576b3b55e19c4C15Cf6999eb"
],
"immutable": true
},
"chain": "ethereum",
"description": "Aragon registry of EVM script executors used by Lido DAO applications.\n* Roles:\n * **executorAdderPermissionManagers**: Lido Dao Agent; ultimately Voting\n * **registryManagerPermissionManagers**: Lido Dao Agent; ultimately Voting",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x853cc0D5917f49B57B8e9F89e491F5E18919093A#code"
},
{
"name": "MiniMeTokenFactory",
"isVerified": true,
"address": "eth:0x909d05F384D0663eD4BE59863815aB43b4f347Ec",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Immutable factory used by LDO's MiniMe token implementation to create snapshot-enabled token clones.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x909d05F384D0663eD4BE59863815aB43b4f347Ec#code"
},
{
"name": "Lido DAO ACL",
"isVerified": true,
"address": "eth:0x9895F0F17cc1d1891b6f18ee0b483B6f221b37Bb",
"upgradeability": {
"proxyType": "EIP897 proxy",
"admins": [],
"implementations": [
"eth:0x9f3b9198911054B122fDb865f8A5Ac516201c339"
],
"immutable": false
},
"chain": "ethereum",
"description": "The shared Aragon ACL that stores Lido DAO permission grants, optional permission parameters, and the manager allowed to grant or revoke each app role.\n* Roles:\n * **permissionCreatorManagers**: Lido Dao Agent; ultimately Voting\n * **permissionCreators**: Lido Dao Agent; ultimately Voting",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x9895F0F17cc1d1891b6f18ee0b483B6f221b37Bb#code"
},
{
"name": "ImmutableDualGovernanceConfigProvider",
"isVerified": true,
"address": "eth:0xa1692Af6FDfdD1030E4E9c4Bc429986FA64CB5EF",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Immutable Dual Governance timing and veto-threshold configuration. Replacing the provider in DualGovernance is the only way to change these parameters.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xa1692Af6FDfdD1030E4E9c4Bc429986FA64CB5EF#code"
},
{
"name": "Lido DAO Kernel",
"isVerified": true,
"address": "eth:0xb8FFC3Cd6e7Cf5a098A1c92F48009765B24088Dc",
"upgradeability": {
"proxyType": "EIP897 proxy",
"admins": [],
"implementations": [
"eth:0x2b33CF282f867A7FF693A66e11B0FcC5552e4425"
],
"immutable": false
},
"chain": "ethereum",
"description": "The Lido DAO's Aragon Kernel. It registers DAO applications and their implementation bases and points them to the shared ACL.\n* Roles:\n * **appManagerPermissionManagers**: Lido Dao Agent; ultimately Voting",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xb8FFC3Cd6e7Cf5a098A1c92F48009765B24088Dc#code"
},
{
"name": "DualGovernance",
"isVerified": true,
"address": "eth:0xC1db28B3301331277e307FDCfF8DE28242A4486E",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Lido Dual Governance state machine. Registered proposers submit calls through an associated executor, while stETH, wstETH and unstETH holders can lock assets in an escrow to delay or stop governance execution and enter Rage Quit.\n* Roles:\n * **adminExecutor**: Executor; ultimately Voting\n * **getProposalsCanceller**: Voting\n * **getResealCommittee**: ResealCommittee\n * **proposers**: Voting\n * **tiebreakerCommittee**: TiebreakerCoreCommittee",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xC1db28B3301331277e307FDCfF8DE28242A4486E#code"
},
{
"name": "EmergencyProtectedTimelock",
"isVerified": true,
"address": "eth:0xCE0425301C85c5Ea2A0873A2dEe44d78E02D2316",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Timelock used by Dual Governance. Governance submits and schedules batches, anyone may execute a ready batch, and time-bounded emergency committees can activate emergency mode and execute already submitted proposals without the ordinary schedule delay.\n* Roles:\n * **getAdminExecutor**: Executor; ultimately Voting\n * **getEmergencyActivationCommittee**: DualGovernanceEmergencyActivationCommittee\n * **getEmergencyExecutionCommittee**: DualGovernanceEmergencyExecutionCommittee\n * **getGovernance**: DualGovernance; ultimately Voting",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xCE0425301C85c5Ea2A0873A2dEe44d78E02D2316#code"
},
{
"name": "EVMScriptExecutor",
"isVerified": true,
"address": "eth:0xFE5986E06210aC1eCC1aDCafc0cc7f8D63B3F977",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "EasyTrack execution adapter. It executes the Aragon CallsScript produced by an approved EasyTrack motion, making downstream calls from this contract's address.\n* Roles:\n * **easyTrack**: EasyTrack\n * **owner**: Voting",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xFE5986E06210aC1eCC1aDCafc0cc7f8D63B3F977#code"
},
{
"name": "DepositContract",
"isVerified": true,
"address": "eth:0x00000000219ab540356cBB839Cbe05303d7705Fa",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Ethereum Beacon Chain deposit contract.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x00000000219ab540356cBB839Cbe05303d7705Fa#code"
},
{
"name": "Lido DAO Token",
"isVerified": true,
"address": "eth:0x5A98FcBEA516Cf06857215779Fd812CA3beF1B32",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x5A98FcBEA516Cf06857215779Fd812CA3beF1B32#code"
},
{
"name": "UpgradeableBeacon",
"isVerified": true,
"address": "eth:0x5FbE8cEf9CCc56ad245736D3C5bAf82ad54Ca789",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "A beacon with an upgradeable implementation currently set as StakingVault. Beacon proxy contracts pointing to this beacon will all use its implementation.\n* Roles:\n * **owner**: Lido Dao Agent; ultimately Voting",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x5FbE8cEf9CCc56ad245736D3C5bAf82ad54Ca789#code"
},
{
"name": "Wrapped liquid staked Ether 2.0 Token",
"isVerified": true,
"address": "eth:0x7f39C581F595B53c5cb19bD0b3f8dA6c935E2Ca0",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x7f39C581F595B53c5cb19bD0b3f8dA6c935E2Ca0#code"
}
]
},
"risks": [
{
"category": "Funds can be stolen if",
"text": "the Lido DAO passes a malicious upgrade through Dual Governance and stETH holders fail to veto (≥1%) or rage-quit (≥10%) within the timelock delay.",
"isCritical": true
},
{
"category": "Funds can be stolen if",
"text": "the emergency committees reset governance to the no-veto fallback and an LDO majority then pushes an upgrade the stETH-holder veto would otherwise have blocked."
},
{
"category": "Funds can be stolen if",
"text": "a quorum of Deposit Security Module guardians colludes with a node operator to sign off a deposit batch that front-runs freshly-deposited ETH with attacker withdrawal credentials (bounded per block by the max deposits per block)."
},
{
"category": "Funds can lose value if",
"text": "the oracle committee quorum misreports — bounded per report by the OracleReportSanityChecker (rebase and consensus-layer balance-change clamps), so mispricing is capped."
},
{
"category": "Funds can be frozen if",
"text": "the oracle committee stops submitting reports, since withdrawals can only be finalized inside the oracle report — recovery requires a governance action."
},
{
"category": "Funds can lose value if",
"text": "node operators go offline or are slashed; the loss is socialized to all stETH holders through a smaller rebase, pooled (NOR/SDVT) operators post no bond to absorb it, and correlated mass-slashing raises the per-validator penalty."
}
]
}
[
{
"type": "tracked",
"projectId": "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."
},
{
"type": "not-tracked",
"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."
},
{
"type": "not-tracked",
"name": "Lido wstETH",
"icon": "wsteth",
"type": "tracked",
"projectId": "lido",
"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."
}
]