Skip to main content

Architecture Overview

Basic stVaults Architecture​

Basic stVaults Architecture

stVaults + DeFi Wrapper Architecture​

stVaults + DeFi Wrapper Architecture

Environments​

Basic stVaults infrastructure addresses​

Smart ContractAddressDescription
VaultFactory0x02Ca7772FF14a9F6c1a08aF385aA96bb1b34175AFactory for deploying StakingVault + Dashboard pairs using a beacon proxy. Learn more
VaultHub0x1d201BE093d847f6446530Efb0E8Fb426d176709Central registry and lifecycle manager for StakingVaults connected to the Lido protocol. Handles vault connection, minting/burning stETH against vault collateral, rebalancing, fee settlement, and bad debt management. Learn more
PredepositGuarantee0xF4bF42c6D6A0E38825785048124DBAD6c9eaaac3PredepositGuarantee (PDG) mitigates deposit frontrunning by requiring a node operator guarantee and validator withdrawal credentials proofs (EIP-4788) before activating staged deposits. Learn more
LazyOracle0x5DB427080200c235F2Ae8Cd17A7be87921f7AD6cOracle adapter for stVaults. Stores per-vault reports, applies sanity checks, and forwards vault updates to VaultHub. Learn more
OperatorGrid0xC69685E89Cefc327b43B7234AC646451B27c544dRegistry for node operators, groups, and tier parameters that define share limits, reserve ratios, and fee schedules for stVaults. Learn more

DeFi Wrapper infrastructure addresses​

Smart ContractAddressDescription
DeFi Wrapper Factory0x3f221b8E5bC098cC6C23611BEeacaeCfD77e1587Factory for deploying all contracts required for the multi-user staking setup: DeFi Wrapper and stVault contracts.
Lido EarnETH Strategy Factory0x8Fac09FD82F031D390B94622E2E4baBf16Fd2236Factory for deploying smart contracts of the connector to the Lido EarnETH strategy for the DeFi Wrapper.

Per-setup addresses​

The tables above cover the contracts shared by every setup on the network. The ones belonging to a particular vault or pool — StakingVault, Dashboard, pool, WithdrawalQueue, Distributor, strategy, TimelockController — are deployed per setup. Three ways to look them up:

Web UI​

Connect the wallet at the stVaults Web UI and open the stVault. Its page lists the StakingVault and Dashboard addresses. The DeFi Wrapper widget is deployed per pool, so a depositor gets the pool address from whoever runs the product.

CLI​

From a vault address to the rest of a basic stVault setup:

yarn start contracts v-v r vault-data <vaultAddress>       # connection data; its `owner` field is the Dashboard
yarn start contracts dashboard r vault <dashboardAddress> # back to the StakingVault

For a DeFi Wrapper setup, one call returns the whole set — vault, Dashboard, withdrawal queue, distributor and every strategy with its name, id and allowlist state:

yarn start dw uc wo r info <poolAddress>

It does not include the Timelock Controller, which is the admin of the pool proxy:

yarn start dw uc tg proxy r get-admin <poolAddress>

Etherscan​

With any one address in hand, the rest follow from the Read Contract tab:

On this contractCallTo get
VaultHubvaultConnection(vault).ownerDashboard
DashboardstakingVaultStakingVault
poolVAULT, DASHBOARD, WITHDRAWAL_QUEUE, DISTRIBUTOR, VAULT_HUBthe rest of the setup
WithdrawalQueuePOOL, VAULT, DASHBOARD, LAZY_ORACLEthe rest of the setup
strategyPOOLthe pool it serves
pool proxyproxy__getAdminTimelockController

Interfaces​

InterfaceMainnetHoodi Testnet
stVaults Web UIstvaults.lido.fistvaults-hoodi.testnet.fi
Etherscan Web UIetherscan.iohoodi.etherscan.io
stVault Command-Line Interface (CLI)Configuration guideConfiguration guide

Source Code Repositories​

RepositoryLink
stVaults (part of Lido Core)github.com/lidofinance/core
stVault CLIgithub.com/lidofinance/lido-staking-vault-cli
stVaults Web UIgithub.com/lidofinance/staking-vault-widget
stVaults APIgithub.com/lidofinance/vaults-api
stVaults DeFi Wrappergithub.com/lidofinance/vaults-wrapper
DeFi Wrapper UI Templategithub.com/lidofinance/defi-wrapper-widget