Lido V3: Phase 2 voting (Full Launch)
Hi everyone!
Following the successful Lido V3: Phase 1 (soft launch), we’re ready to kick off the Phase 2 (Full Launch) governance process for Lido V3 and stVaults.
TL;DR
- Phase 2 unlocks:
- PDG on mainnet (now hardened and production-ready)
- Global stVaults minting limit raised to ~3M ETH (via 30% max external ratio)
- stVaults UI + DeFi wrapper rollout + broader API/SDK components
- Governance tooling refresh (updated Easy Track factories for stVaults Committee operations)
- Tentative timeline
- On-chain voting start: Jan 20, 2026
- Expected enactment: ~Jan 29, 2026 (subject to the vote outcome + execution scheduling)
Context (Phase 1 → Phase 2)
Phase 1 has been live on mainnet in soft-launch mode since late December. It intentionally shipped with conservative guardrails:
- Predeposit Guarantee (PDG) was disabled
- UI / API / SDK were not live (partners used CLI / direct contract interaction / custom integrations)
- A conservative ~300k stETH global minting cap and permissioned trusted-mode node operators were used for the initial rollout
Since Phase 1 went live (including the initial stETH minting capacity allocation for the first 22 Node Operators on Dec 29), we’ve had no incidents on Lido V3, and the system has been behaving as expected.
This phased approach is intentional: as discussed in the original proposal, early versions of Lido V3 are meant to be iterated on and adjusted as real-world usage provides better signals about risk, demand, and operational constraints.
PDG is hardened and production-ready
The Predeposit Guarantee (PDG) is now ready for mainnet usage, following an additional audit/review by Sigma Prime of the updated underlying BLS library.
PDG enables:
- Non-custodial validator depositing
- Smoother validator top-ups
- Leveraged staking flows (e.g., via flash loans), where applicable
PDG has also been already re-enabled on the Hoodi testnet and can be tested end-to-end.
Full launch deliverables
Phase 2 is the “full launch” package, completing the items we previously communicated to partners:
- Higher global minting capacity: set Lido’s max external ratio to 30%, bringing the global minting limit to roughly ~3M ETH (≈30% of Lido Core TVL).
- stVaults UI + DeFi wrapper + broader components: rolling out the UI and wrapper components promised for the full release, making integrations and day‑to‑day operations significantly easier.
- Updated governance tooling: refresh of stVaults Committee Easy Track factories to the new versions and updated permissions wiring.
Voting items
The Phase 2 vote contains:
- A Dual Governance (DG) proposal containing actions 1.1–1.13 (the core protocol changes)
- A Lido DAO on-chain vote with items 1–15 that submits the DG proposal and updates Easy Track factories
New deployments
| Contract | Address | Repository | Description |
|---|---|---|---|
| PDG (Predeposit Guarantee) — new implementation | 0xE78717192C45736DF0E4be55c0219Ee7f9aDdd0D |
lidofinance/core@33f2f59 |
New PDG implementation for Phase 2 |
| RegisterGroupsInOperatorGrid (Phase 2 and 3) | 0xE73842AEbEC99Dacf2aAEec61409fD01A033f478 |
lidofinance/easy-track@aa2f545 |
Easy Track factory for Phases 2/3 |
| UpdateGroupsShareLimitInOperatorGrid (Phase 2 and 3) | 0xf23559De8ab37fF7a154384B0822dA867Cfa7Eac |
lidofinance/easy-track@aa2f545 |
Easy Track factory for Phases 2/3 |
| AlterTiersInOperatorGrid (Phase 2 and 3) | 0x73f80240ad9363d5d3C5C3626953C351cA36Bfe9 |
lidofinance/easy-track@aa2f545 |
Easy Track factory for Phases 2/3 |
| VaultsAdapter (contract code changes) | 0x28F9Ac198C4E0FA6A9Ad2c2f97CB38F1A3120f27 |
lidofinance/easy-track@aa2f545 |
Adapter used by factories |
| SetJailStatusInOperatorGrid | 0x6a4f33F05E7412A11100353724Bb6a152Cf0D305 |
lidofinance/easy-track@aa2f545 |
Redeployed Easy Track factory |
| UpdateVaultsFeesInOperatorGrid | 0xDfA0bc38113B6d53c2881573FD764CEEFf468610 |
lidofinance/easy-track@aa2f545 |
Redeployed Easy Track factory |
| ForceValidatorExitsInVaultHub | 0x6F5c0A5a824773E8f8285bC5aA59ea0Aab2A6400 |
lidofinance/easy-track@aa2f545 |
Redeployed Easy Track factory |
| SocializeBadDebtInVaultHub | 0xaf35A63a4114B7481589fDD9FDB3e35Fd65fAed7 |
lidofinance/easy-track@aa2f545 |
Redeployed Easy Track factory |
Deployment parameters
Below are the key deployment parameters used for verification.
New PDG implementation
| Component | Address | Parameters (constructor/proxy) |
|---|---|---|
| PDG implementation (new) | 0xE78717192C45736DF0E4be55c0219Ee7f9aDdd0D |
Constructor args: 0x00000000, 0x0000000000000000000000000000000000000000000000000096000000000028, 0x0000000000000000000000000000000000000000000000000096000000000028, 0 |
New Easy Track factories (stVaults Committee)
| Contract / factory | Address | Constructor parameters |
|---|---|---|
| stVaults Committee | 0x18A1065c81b0Cc356F1b1C843ddd5E14e4AefffF |
Committee used by the factories below |
| VaultsAdapter (new) | 0x28F9Ac198C4E0FA6A9Ad2c2f97CB38F1A3120f27 |
committee=0x18A1065c81b0Cc356F1b1C843ddd5E14e4AefffF, lidoLocator=0xC1d0b3DE6792Bf6b4b37EccdcC24e45978Cfd2Eb, 0xFE5986E06210aC1eCC1aDCafc0cc7f8D63B3F977, 0.1 ETH |
| AlterTiersInOperatorGrid (new) | 0x73f80240ad9363d5d3C5C3626953C351cA36Bfe9 |
committee=0x18A1065c81b0Cc356F1b1C843ddd5E14e4AefffF, lidoLocator=0xC1d0b3DE6792Bf6b4b37EccdcC24e45978Cfd2Eb, limit=1_000_000e18 |
| RegisterGroupsInOperatorGrid (new) | 0xE73842AEbEC99Dacf2aAEec61409fD01A033f478 |
committee=0x18A1065c81b0Cc356F1b1C843ddd5E14e4AefffF, lidoLocator=0xC1d0b3DE6792Bf6b4b37EccdcC24e45978Cfd2Eb, limit=1_000_000e18 |
| UpdateGroupsShareLimitInOperatorGrid (new) | 0xf23559De8ab37fF7a154384B0822dA867Cfa7Eac |
committee=0x18A1065c81b0Cc356F1b1C843ddd5E14e4AefffF, lidoLocator=0xC1d0b3DE6792Bf6b4b37EccdcC24e45978Cfd2Eb, limit=1_000_000e18 |
| SetJailStatusInOperatorGrid (new) | 0x6a4f33F05E7412A11100353724Bb6a152Cf0D305 |
committee=0x18A1065c81b0Cc356F1b1C843ddd5E14e4AefffF, vaultsAdapter=0x28F9Ac198C4E0FA6A9Ad2c2f97CB38F1A3120f27 |
| SocializeBadDebtInVaultHub (new) | 0xaf35A63a4114B7481589fDD9FDB3e35Fd65fAed7 |
committee=0x18A1065c81b0Cc356F1b1C843ddd5E14e4AefffF, vaultsAdapter=0x28F9Ac198C4E0FA6A9Ad2c2f97CB38F1A3120f27 |
| ForceValidatorExitsInVaultHub (new) | 0x6F5c0A5a824773E8f8285bC5aA59ea0Aab2A6400 |
committee=0x18A1065c81b0Cc356F1b1C843ddd5E14e4AefffF, vaultsAdapter=0x28F9Ac198C4E0FA6A9Ad2c2f97CB38F1A3120f27 |
| UpdateVaultsFeesInOperatorGrid (new) | 0xDfA0bc38113B6d53c2881573FD764CEEFf468610 |
committee=0x18A1065c81b0Cc356F1b1C843ddd5E14e4AefffF, vaultsAdapter=0x28F9Ac198C4E0FA6A9Ad2c2f97CB38F1A3120f27, lidoLocator=0xC1d0b3DE6792Bf6b4b37EccdcC24e45978Cfd2Eb, 1000, 0, 100 |
Dual Governance proposal (core Phase 2 activation)
- 1.1. Revoke
vaults.OperatorsGrid.Registryrolea495a3428837724c7f7648cda02eb83c9c4c778c8688d6f254c7f3f80c154d55on OperatorGrid0xC69685E89Cefc327b43B7234AC646451B27c544dfrom old VaultsAdapter0xe2DE6d2DefF15588a71849c0429101F8ca9FB14D - 1.2. Grant
vaults.OperatorsGrid.Registryrolea495a3428837724c7f7648cda02eb83c9c4c778c8688d6f254c7f3f80c154d55on OperatorGrid0xC69685E89Cefc327b43B7234AC646451B27c544dto new VaultsAdapter0x28F9Ac198C4E0FA6A9Ad2c2f97CB38F1A3120f27 - 1.3. Revoke
vaults.VaultHub.ValidatorExitRolerole2159c5943234d9f3a7225b9a743ea06e4a0d0ba5ed82889e867759a8a9eb7883on VaultHub0x1d201BE093d847f6446530Efb0E8Fb426d176709from old VaultsAdapter0xe2DE6d2DefF15588a71849c0429101F8ca9FB14D - 1.4. Grant
vaults.VaultHub.ValidatorExitRolerole2159c5943234d9f3a7225b9a743ea06e4a0d0ba5ed82889e867759a8a9eb7883on VaultHub0x1d201BE093d847f6446530Efb0E8Fb426d176709to new VaultsAdapter0x28F9Ac198C4E0FA6A9Ad2c2f97CB38F1A3120f27 - 1.5. Revoke
vaults.VaultHub.BadDebtMasterRolerolea85bab4b576ca359fa6ae02ab8744b5c85c7e7ed4d7e0bca7b5b64580ac5d17don VaultHub0x1d201BE093d847f6446530Efb0E8Fb426d176709from old VaultsAdapter0xe2DE6d2DefF15588a71849c0429101F8ca9FB14D - 1.6. Grant
vaults.VaultHub.BadDebtMasterRolerolea85bab4b576ca359fa6ae02ab8744b5c85c7e7ed4d7e0bca7b5b64580ac5d17don VaultHub0x1d201BE093d847f6446530Efb0E8Fb426d176709to new VaultsAdapter0x28F9Ac198C4E0FA6A9Ad2c2f97CB38F1A3120f27 - 1.7. Update PredepositGuarantee proxy
0xF4bF42c6D6A0E38825785048124DBAD6c9eaaac3implementation to0xE78717192C45736DF0E4be55c0219Ee7f9aDdd0D - 1.8. Temporarily grant
PausableUntilWithRoles.ResumeRolea79a6aede309e0d48bf2ef0f71355c06ad317956d4c0da2deb0dc47cc34f826con PredepositGuarantee0xF4bF42c6D6A0E38825785048124DBAD6c9eaaac3to Agent0x3e40D73EB977Dc6a537aF587D48316feE66E9C8c - 1.9. Unpause PredepositGuarantee
0xF4bF42c6D6A0E38825785048124DBAD6c9eaaac3 - 1.10. Revoke
PausableUntilWithRoles.ResumeRolea79a6aede309e0d48bf2ef0f71355c06ad317956d4c0da2deb0dc47cc34f826con PredepositGuarantee0xF4bF42c6D6A0E38825785048124DBAD6c9eaaac3from Agent0x3e40D73EB977Dc6a537aF587D48316feE66E9C8c - 1.11. Temporarily grant
STAKING_CONTROL_ROLEa42eee1333c0758ba72be38e728b6dadb32ea767de5b4ddbaea1dae85b1b051fon Lido0xae7ab96520DE3A18E5e111B5EaAb095312D7fE84to Agent0x3e40D73EB977Dc6a537aF587D48316feE66E9C8c - 1.12. Set max external ratio to
30%on Lido0xae7ab96520DE3A18E5e111B5EaAb095312D7fE84 - 1.13. Revoke
STAKING_CONTROL_ROLEa42eee1333c0758ba72be38e728b6dadb32ea767de5b4ddbaea1dae85b1b051fon Lido0xae7ab96520DE3A18E5e111B5EaAb095312D7fE84from Agent0x3e40D73EB977Dc6a537aF587D48316feE66E9C8c
Lido DAO on-chain vote (what changes on-chain in the vote)
- 1. Submit a Dual Governance proposal to activate Lido V3 Phase 2
- 2. Remove old
ALTER_TIERS_IN_OPERATOR_GRID_FACTORY0xa29173C7BCf39dA48D5E404146A652d7464aee14from Easy Track0xF0211b7660680B49De1A7E9f25C65660F0a13Fea - 3. Add new
ALTER_TIERS_IN_OPERATOR_GRID_FACTORY0x73f80240ad9363d5d3C5C3626953C351cA36Bfe9to Easy Track0xF0211b7660680B49De1A7E9f25C65660F0a13Fea(permissions: operatorGrid.alterTiers0xc69685e89cefc327b43b7234ac646451b27c544d54544bcb) - 4. Remove old
REGISTER_GROUPS_IN_OPERATOR_GRID_FACTORY0x194A46DA1947E98c9D79af13E06Cfbee0D8610cCfrom Easy Track0xF0211b7660680B49De1A7E9f25C65660F0a13Fea - 5. Add new
REGISTER_GROUPS_IN_OPERATOR_GRID_FACTORY0xE73842AEbEC99Dacf2aAEec61409fD01A033f478to Easy Track0xF0211b7660680B49De1A7E9f25C65660F0a13Fea(permissions: operatorGrid.registerGroup, operatorGrid.registerTiers0xc69685e89cefc327b43b7234ac646451b27c544de37a7c0bc69685e89cefc327b43b7234ac646451b27c544d552b91da) - 6. Remove old
UPDATE_GROUPS_SHARE_LIMIT_IN_OPERATOR_GRID_FACTORY0x8Bdc726a3147D8187820391D7c6F9F942606aEe6from Easy Track0xF0211b7660680B49De1A7E9f25C65660F0a13Fea - 7. Add new
UPDATE_GROUPS_SHARE_LIMIT_IN_OPERATOR_GRID_FACTORY0xf23559De8ab37fF7a154384B0822dA867Cfa7Eacto Easy Track0xF0211b7660680B49De1A7E9f25C65660F0a13Fea(permissions: operatorGrid.updateGroupShareLimit0xc69685e89cefc327b43b7234ac646451b27c544de52b6085) - 8. Remove old
SET_JAIL_STATUS_IN_OPERATOR_GRID_FACTORY0x93F1DEE4473Ee9F42c8257C201e33a6Da30E5d67from Easy Track0xF0211b7660680B49De1A7E9f25C65660F0a13Fea - 9. Add new
SET_JAIL_STATUS_IN_OPERATOR_GRID_FACTORY0x6a4f33F05E7412A11100353724Bb6a152Cf0D305to Easy Track0xF0211b7660680B49De1A7E9f25C65660F0a13Fea(permissions: vaults_adapter.setVaultJailStatus0x28f9ac198c4e0fa6a9ad2c2f97cb38f1a3120f27285f591c) - 10. Remove old
SOCIALIZE_BAD_DEBT_IN_VAULT_HUB_FACTORY0x1dF50522A1D868C12bF71747Bb6F24A18Fe6d32Cfrom Easy Track0xF0211b7660680B49De1A7E9f25C65660F0a13Fea - 11. Add new
SOCIALIZE_BAD_DEBT_IN_VAULT_HUB_FACTORY0xaf35A63a4114B7481589fDD9FDB3e35Fd65fAed7to Easy Track0xF0211b7660680B49De1A7E9f25C65660F0a13Fea(permissions: vaults_adapter.socializeBadDebt0x28f9ac198c4e0fa6a9ad2c2f97cb38f1a3120f2796c4d514) - 12. Remove old
FORCE_VALIDATOR_EXITS_IN_VAULT_HUB_FACTORY0x6C968cD89CA358fbAf57B18e77a8973Fa869a6aAfrom Easy Track0xF0211b7660680B49De1A7E9f25C65660F0a13Fea - 13. Add new
FORCE_VALIDATOR_EXITS_IN_VAULT_HUB_FACTORY0x6F5c0A5a824773E8f8285bC5aA59ea0Aab2A6400to Easy Track0xF0211b7660680B49De1A7E9f25C65660F0a13Fea(permissions: vaults_adapter.forceValidatorExit0x28f9ac198c4e0fa6a9ad2c2f97cb38f1a3120f2733eb1f1a) - 14. Remove old
UPDATE_VAULTS_FEES_IN_OPERATOR_GRID_FACTORY0x5C3bDFa3E7f312d8cf72F56F2b797b026f6B471cfrom Easy Track0xF0211b7660680B49De1A7E9f25C65660F0a13Fea - 15. Add new
UPDATE_VAULTS_FEES_IN_OPERATOR_GRID_FACTORY0xDfA0bc38113B6d53c2881573FD764CEEFf468610to Easy Track0xF0211b7660680B49De1A7E9f25C65660F0a13Fea(permissions: vaults_adapter.updateVaultFees0x28f9ac198c4e0fa6a9ad2c2f97cb38f1a3120f27ed7139a7)
Implementation highlights (BLS + Oracle)
- BLS library parity with CL deposit signature verification: the deployment includes improvements to the BLS library to better match consensus-layer expectations by failing explicitly on malformed deposit signature data during its verification. See the core reference:
lidofinance/core@33f2f59. - Oracle fee reporting: aligned with a time-based (timestamp) model rather than block-number-based, improving correctness under missing-block conditions.
Tentative timeline
- Jan 20: Phase 2 vote goes live on mainnet
- ~Jan 29: expected enactment/execution window (assuming the vote and DG challenge period pass)
- Post-enactment: PDG enabled on mainnet under the hardened implementation; UI + DeFi wrapper rollout continues
What’s next
- Updated audit reports and a 3rd-party deployment verification note will be shared shortly in the thread before the vote starts
- stVaults onboarding continues — Node Operators can apply by following the stVaults Node Operators Identification guide
- We’ll keep monitoring Phase 2 in production and propose further parameter adjustments where needed
If you have questions, integration proposals, or co-marketing plans around the full launch, please reach out — happy to sync.
Happy building!
![]()