# Lido Documentation > Documentation for the Lido liquid staking protocol on Ethereum and L2s. Covers protocol contracts, integrations, node operator guides, CSM, stVaults, and the Earn product. ## Main Docs - [Introduction](https://docs.lido.fi/index.md): This documentation is intended to introduce the general user to the project, as well as to serve as a guide for anyone who may be developing software using Lido. - [Accounting](https://docs.lido.fi/contracts/accounting.md): Handles oracle reports and calculates protocol state changes including rebases, fee distribution, and stVault bad debt internalization. - [AccountingOracle](https://docs.lido.fi/contracts/accounting-oracle.md): AccountingOracle is a contract that collects information submitted by off-chain oracles about the balances of Lido-participating validators — both active on the Consensus Layer and pending in its d... - [Burner](https://docs.lido.fi/contracts/burner.md): The contract provides a way for Lido protocol to burn stETH token shares as a means to finalize withdrawals, penalize untimely exiting node operators, and, possibly, cover losses in staking. - [CircuitBreaker](https://docs.lido.fi/contracts/circuit-breaker.md): An emergency-pause layer for Lido protocol contracts. - [ConsolidationBus](https://docs.lido.fi/contracts/consolidation-bus.md): ConsolidationBus is a message bus for [EIP-7251](https://eips.ethereum.org/EIPS/eip-7251) consolidation requests that decouples batch publication from execution and fee payment. Trusted publishers ... - [ConsolidationGateway](https://docs.lido.fi/contracts/consolidation-gateway.md): ConsolidationGateway is the single entry point for [EIP-7251](https://eips.ethereum.org/EIPS/eip-7251) validator consolidation requests in Lido Core. It proxies consolidation requests to the [Withd... - [ConsolidationMigrator](https://docs.lido.fi/contracts/consolidation-migrator.md): ConsolidationMigrator is a temporary helper contract for migrating stake between staking modules via [EIP-7251](https://eips.ethereum.org/EIPS/eip-7251) consolidations. It validates consolidation r... - [Dashboard](https://docs.lido.fi/contracts/dashboard.md): Management contract for stVaults. Provides role-based control for vault operations and convenience wrappers for minting/burning stETH and wstETH. Individual Dashboard instances are deployed as prox... - [DataBus](https://docs.lido.fi/contracts/data-bus.md): It's a blockchain-based communication channel designed for efficient message exchange between different services using a smart contract on Ethereum. - [DepositSecurityModule](https://docs.lido.fi/contracts/deposit-security-module.md): Due to front-running vulnerability, Lido contributors [proposed](https://github.com/lidofinance/lido-improvement-proposals/blob/develop/LIPS/lip-5.md) to establish the Deposit Security Committee de... - [EIP712StETH](https://docs.lido.fi/contracts/eip712-steth.md): serves as a dedicated helper contract for , crucial for the complete support of [ERC-2612 compliant signed approvals](https://eips.ethereum.org/EIPS/eip-2612). - [HashConsensus](https://docs.lido.fi/contracts/hash-consensus.md): HashConsensus is a contract responsible for managing oracle members committee and allowing the members to reach consensus on a data hash for each reporting frame. - [LazyOracle](https://docs.lido.fi/contracts/lazy-oracle.md): Oracle adapter for stVaults. Stores per-vault reports, applies sanity checks, and forwards vault updates to VaultHub. - [Lido](https://docs.lido.fi/contracts/lido.md): Liquid staking pool and a related [ERC-20](https://eips.ethereum.org/EIPS/eip-20) rebasing token () - [LidoExecutionLayerRewardsVault](https://docs.lido.fi/contracts/lido-execution-layer-rewards-vault.md): A vault for temporary storage of execution layer (EL) rewards (MEV and tx priority fee). See the Lido improvement proposal [#12](https://github.com/lidofinance/lido-improvement-proposals/blob/devel... - [LidoLocator](https://docs.lido.fi/contracts/lido-locator.md): LidoLocator is the universal address book for the Lido protocol. It follows the well-known [service locator](https://en.wikipedia.org/wiki/Service_locator_pattern) pattern. - [MevBoostRelayAllowedList](https://docs.lido.fi/contracts/mev-boost-relays-allowed-list.md): MEV-Boost relay allowed list is a simple contract storing a list of relays that have been approved by DAO for use in [MEV-Boost](https://github.com/flashbots/mev-boost) setups. The data from the co... - [NodeOperatorsRegistry](https://docs.lido.fi/contracts/node-operators-registry.md): The contract acts as a registry of Node Operators selected by the Lido DAO. Since [Lido V2 upgrade](https://blog.lido.fi/introducing-lido-v2/) contract became a module of [](/contracts/staking-rout... - [OperatorGrid](https://docs.lido.fi/contracts/operator-grid.md): Registry for node operators, groups, and tier parameters that define share limits, reserve ratios, and fee schedules for stVaults. - [OracleDaemonConfig](https://docs.lido.fi/contracts/oracle-daemon-config.md): OracleDaemonConfig acts as a parameters registry for the Lido oracle daemon. The full list of params is tracked in the OracleDaemonConfig contract on mainnet. - [OracleReportSanityChecker](https://docs.lido.fi/contracts/oracle-report-sanity-checker.md): Some vital data for the Lido protocol is collected off-chain and delivered on-chain via Oracle contracts: [](/contracts/accounting-oracle), [](/contracts/validators-exit-bus-oracle). Due to the hig... - [OssifiableProxy](https://docs.lido.fi/contracts/ossifiable-proxy.md): is an ERC-1967 proxy used for non-Aragon upgradeable contract deployments. Its admin can permanently disable upgrades by setting the proxy admin to the zero address. - [PredepositGuarantee](https://docs.lido.fi/contracts/predeposit-guarantee.md): PredepositGuarantee (PDG) mitigates deposit frontrunning by requiring a node operator guarantee and validator withdrawal credentials proofs (EIP-4788) before activating staged deposits. - [ReserveFund](https://docs.lido.fi/contracts/reserve.md): The Lido Reserve Fund is a vault contract that serves as a simple transparent store for funds allocated for self-cover purposes. - [StakingRouter](https://docs.lido.fi/contracts/staking-router.md): StakingRouter is a registry of staking modules, each encapsulating a certain validator subset, e.g. curated staking module, community staking module. The contract allocates stake to modules, execut... - [StakingVault](https://docs.lido.fi/contracts/staking-vault.md): Isolated staking position with 0x02 withdrawal credentials. Holds validator funds and supports minting stETH through VaultHub while preserving non-custodial ownership. Individual vaults are deploye... - [UpgradeableBeacon](https://docs.lido.fi/contracts/staking-vault-beacon.md): OpenZeppelin UpgradeableBeacon used as the StakingVault beacon. It stores the current StakingVault implementation for all beacon proxies. - [VaultFactory](https://docs.lido.fi/contracts/staking-vault-factory.md): Factory for deploying + pairs using a beacon proxy. - [TopUpGateway](https://docs.lido.fi/contracts/top-up-gateway.md): TopUpGateway is the entry point for topping up (compounding, [EIP-7251](https://eips.ethereum.org/EIPS/eip-7251)) Lido Core validators. It verifies each validator's Consensus Layer state on-chain w... - [TriggerableWithdrawalsGateway](https://docs.lido.fi/contracts/triggerable-withdrawals-gateway.md): TriggerableWithdrawalsGateway (TWG) is a gateway contract introducing an validators' execution triggerable exit path for the Lido protocol. It proxies exit request calls to the WithdrawalVault, che... - [TRP VestingEscrow](https://docs.lido.fi/contracts/trp-vesting-escrow.md): [Token Reward Program (TRP)](https://research.lido.fi/t/lidodao-token-rewards-plan-trp/3364) escrow contracts allow transparent on-chain distribution and vesting of the token rewards for the Lido D... - [ValidatorConsolidationRequests](https://docs.lido.fi/contracts/validator-consolidation-requests.md): Helper contract that builds calldata for validator consolidation requests (EIP-7251) into stVaults and exposes the current consolidation fee. - [ValidatorExitDelayVerifier](https://docs.lido.fi/contracts/validator-exit-delay-verifier.md): is a helper contract that accepts reports about validators that have not started to exit within the allowed window after being requested to exit via the Validators Exit Bus. It verifies basic preco... - [ValidatorsExitBusOracle](https://docs.lido.fi/contracts/validators-exit-bus-oracle.md): A contract that implements an on-chain "source of truth" message bus between the protocol's off-chain oracle and off-chain observers, with the main goal of delivering validator exit requests to the... - [VaultHub](https://docs.lido.fi/contracts/vault-hub.md): Central registry and lifecycle manager for StakingVaults connected to the Lido protocol. Handles vault connection, minting/burning stETH against vault collateral, rebalancing, fee settlement, and b... - [WithdrawalQueueERC721](https://docs.lido.fi/contracts/withdrawal-queue-erc721.md): A FIFO queue for withdrawal requests and an NFT implementation representing the position in the queue. - [WithdrawalVault](https://docs.lido.fi/contracts/withdrawal-vault.md): A simple contract that accumulates partial and full withdrawals that come from the Beacon Chain. Its address corresponds to the Lido withdrawal credentials (both and types). During the accounting o... - [wstETH](https://docs.lido.fi/contracts/wsteth.md): It's an [ERC-20](https://eips.ethereum.org/EIPS/eip-20) value-accruing token wrapper for . Its balance does not change with each oracle report, but its value in does. Internally, it represents the ... - [wstETHReferralStaker](https://docs.lido.fi/contracts/wsteth-staker.md): **WstETHReferralStaker** is an utility contract that allows users to stake ETH into the Lido protocol with referral address, then automatically wrap the received stETH into wstETH and transfer it b... - [Mainnet](https://docs.lido.fi/deployed-contracts.md): This page lists production contract addresses on mainnets, including Ethereum and other networks where the protocol and its components are deployed. - [Holešky](https://docs.lido.fi/deployed-contracts/holesky.md) - [Hoodi](https://docs.lido.fi/deployed-contracts/hoodi.md): Hoodi is the primary operational and actively maintained Lido protocol testnet. This page lists the contract addresses for the testnet, including all deployed protocol components and extensions use... - [Hoodi: Lido V3 testnet-2 (Archived)](https://docs.lido.fi/deployed-contracts/hoodi-lidov3.md): **This deployment is deprecated and will be decommissioned soon.** - [Sepolia](https://docs.lido.fi/deployed-contracts/sepolia.md): There will be no comprehensive Lido testnet environment available for Sepolia due to the network's restricted and permission-based [validator set](https://github.com/eth-clients/sepolia/issues/12) ... - [1inch Rewards Claim](https://docs.lido.fi/guides/1inch-pool-rewards.md): Rewards distributed to LP on [1inch stETH/LDO pool](https://etherscan.io/address/0x1f629794b34ffb3b29ff206be5478a52678b47ae) proportional to the amount of liquidity and timespan of providing it as ... - [Multisig Signer Address Verification](https://docs.lido.fi/guides/address-ownership-guide.md): Using EOA across Lido DAO operational multisigs or protocol contracts requires providing a public "proof of ownership". Main use-cases here are using address as a signer in Lido DAO operational mul... - [Aragon Vote: Checking the EVM Script](https://docs.lido.fi/guides/checking-aragon-vote.md): We've published a short Replit from the script parts we're using for preparing the votes: [EVMVoteScriptParser#main.py](https://replit.com/@VictorSuzdalev/EVMVoteScriptParser#main.py) - [Gnosis Multisig Verification](https://docs.lido.fi/guides/checking-gnosis-safe.md): Gnosis multisig contracts are usually deployed from the Gnosis factory contracts. Gnosis has the list of contracts addresses deployed to different networks — https://github.com/safe-global/safe-dep... - [Execution Layer Rewards Configuration](https://docs.lido.fi/guides/curated-module/el-rewards-configuration.md): Node Operators who run validators for Lido are required to set the fee recipient for the relevant validators to the protocol-managed [](/contracts/lido-execution-layer-rewards-vault/) which manages... - [Exit Message Generation & Signing](https://docs.lido.fi/guides/curated-module/exits/exit-message-generation-signing.md): If your validator signing keys are in [keystores](https://eips.ethereum.org/EIPS/eip-2335) or in [Dirk](https://github.com/attestantio/dirk) remote keymanager, the easiest method is to use [ethdo](... - [Flow Examples](https://docs.lido.fi/guides/curated-module/exits/flow-examples.md): [![](https://hackmd.io/_uploads/Hkl5aS7x2.jpg)](https://hackmd.io/_uploads/Hkl5aS7x2.jpg) - [General Information](https://docs.lido.fi/guides/curated-module/exits/general-information.md): To initiate a validator exit, an [exit message](https://github.com/ethereum/consensus-specs/blob/v1.0.1/specs/phase0/beacon-chain.md#voluntaryexit) needs to be generated, signed and submitted to a ... - [Introduction](https://docs.lido.fi/guides/curated-module/exits/introduction.md): [Lido V2](https://blog.lido.fi/introducing-lido-v2/) protocol upgrade adds support for [Ethereum Withdrawals](https://ethereum.org/en/staking/withdrawals/) and introduces additional responsibilitie... - [Tooling Setup & Configuration](https://docs.lido.fi/guides/curated-module/exits/tooling-setup.md): [Dedicated Setup Guide](https://hackmd.io/@lido/S1Li-wXl3) - [General Overview](https://docs.lido.fi/guides/curated-module/general-overview.md): Node Operators in the Curated Module manage a secure and stable infrastructure for running Beacon validator clients for the benefit of the protocol. They’re professional staking providers who can e... - [Validator Keys](https://docs.lido.fi/guides/curated-module/validator-keys.md): Validator keys are added in several sequential steps. These steps are similar for each time new keys are added. - [Deposit Security Committee manual](https://docs.lido.fi/guides/deposit-security-manual.md): This instruction has been prepared for the participants of the Deposit Security Committee and describes the general points, the preparation steps to act as a guardian, and the details of the protec... - [Lido depositor bot](https://docs.lido.fi/guides/depositor-bot.md): Depositor bot is a part of [Deposit Security Module](/contracts/deposit-security-module/). - [Guide to Dual Governance](https://docs.lido.fi/guides/dg-guide.md): [The Dual Governance interface](https://dao.lido.fi/dg/) provides stETH holders with tools to monitor the governance state, escrow tokens for Veto Signaling, manage them during Veto Signaling and w... - [Lido Early Stakers Airdrop Claim](https://docs.lido.fi/guides/early-staker-airdrop.md): LDO Airdrop could be claimed by early Lido stakers. [Here](https://github.com/lidofinance/airdrop-data/blob/main/early_stakers_airdrop.csv) you can find a list of addresses for which airdrops are a... - [Guide to Easy Track](https://docs.lido.fi/guides/easy-track-guide.md): This guide provides information about Easy Track, voting rules, use cases, step-by-step instructions and helpful tips for initiating new motions. - [How to Vote, Override, Delegate with Etherscan](https://docs.lido.fi/guides/etherscan-voting.md): This guide will walk you through how to vote, override your delegate's vote, and delegate your voting power using Etherscan. If the [Voting UI](https://dao.lido.fi/vote/dashboard) is unavailable or... - [Bridge Tokens via Jumpgate](https://docs.lido.fi/guides/jumpgates.md): Jumpgates are a class of contracts that facilitate cross-chain token transfers under DAO operations. Each jumpgate is set up to work with a particular token and a pre-defined recipient. Below is th... - [Keys API](https://docs.lido.fi/guides/kapi-guide.md): Simple Lido keys and validators HTTP API. - [Late Prover Bot](https://docs.lido.fi/guides/late-prover-bot.md): Late Prover Bot monitors the beacon chain for validator exit requests that have passed their required deadline. When a validator fails to exit on time, the bot generates a cryptographic Merkle proo... - [Lido tokens integration guide](https://docs.lido.fi/guides/lido-tokens-integration-guide.md): This document is intended for developers looking to integrate Lido's stETH or wstETH tokens into their dApps or services, with a focus on money markets, DEXes and blockchain bridges. - [Multisig deployment](https://docs.lido.fi/guides/multisig-deployment.md): This HOWTO describes deployment of the DAO using a multisig/airgapped signer, step-by-step. - [Shadow Owner Detection in Safe](https://docs.lido.fi/guides/multisig-shadow-owners.md): Guide based on [**bartek.eth**](https://x.com/bkiepuszewski) X threads: [1](https://x.com/bkiepuszewski/status/1722287321997779427), [2](https://x.com/bkiepuszewski/status/1722914827113312584), [3]... - [Multisig Signer Guide](https://docs.lido.fi/guides/multisig-signer-manual.md): Lido DAO uses multisig wallet for different ops for flexibility and fast reaction times. Here's a list of general tips & rules around being the signer: - [Oracle Operator Manual](https://docs.lido.fi/guides/oracle-operator-manual.md): This document is intended for those who wish to participate in the Lido protocol as entity that runs - an entity who runs a daemons synchronizing state from Beacon Layer to Execution Layer of the p... - [Accounting oracle](https://docs.lido.fi/guides/oracle-spec/accounting-oracle.md): As withdrawals on Ethereum are processed asynchronously, the Lido protocol has to have a request-claim process for holders. To ensure the requests are processed in the order they are received, the ... - [Validator exits and penalties](https://docs.lido.fi/guides/oracle-spec/penalties.md): The Lido protocol has laid out the policy on validator exit order, performance expectations over time, node operator responsibilities, and monitoring and penalties. The validators' exit should be d... - [Validators Exit Bus](https://docs.lido.fi/guides/oracle-spec/validator-exit-bus.md): [Validators Exit Bus](/contracts/validators-exit-bus-oracle/) is an oracle that ejects Lido validators when the protocol requires additional funds to process user withdrawals. - [Protocol levers](https://docs.lido.fi/guides/protocol-levers.md): Lido V3 governance controls a set of configurable parameters across core pool, oracle, withdrawals, and stVaults. This page summarizes the primary on-chain levers, who can operate them, and provide... - [Reward distribution bot](https://docs.lido.fi/guides/reward-distributor-bot.md): Permissionless reward distribution bot for Lido staking modules. Operates with smart contract based on the [Node Operator Registry](/contracts/node-operators-registry/) smart contract. After the [A... - [Solana manual withdrawal with CLI](https://docs.lido.fi/guides/solana-manual-withdrawal-cli.md): We've prepared a CLI in Solido to simplify your workflow. You'll need to: - [Off-chain Components Overview](https://docs.lido.fi/guides/tooling.md): Overview of core infrastructure components used in the Lido protocol. - [Validator Ejector](https://docs.lido.fi/guides/validator-ejector-guide.md): Ejector is a daemon service which monitors [ValidatorsExitBusOracle](https://github.com/lidofinance/core/blob/master/contracts/0.8.9/oracle/ValidatorsExitBusOracle.sol) events and sends out stored ... - [Validator Exit Bot](https://docs.lido.fi/guides/validator-exit-bot.md): Validator Exit Bot automates triggering exits for Lido validators that have missed their exit deadline. The bot monitors the [ValidatorExitBusOracle](/guides/oracle-spec/validator-exit-bus) for exi... - [stETH on Optimism Parameters Validation](https://docs.lido.fi/guides/verify-steth-on-optimism-upgrade-manual.md): The full list of the contracts in scope is provided in the Lido Multichain section for [Optimism](/deployed-contracts/#optimism). - [Lido Council Daemon](https://docs.lido.fi/holders/lido-council-daemon.md): [Lido Council Daemon](https://github.com/lidofinance/lido-council-daemon) is the off-chain service run by every member of the Deposit Security Committee (DSC). It monitors validator public keys in ... - [Lido Oracle](https://docs.lido.fi/holders/lido-oracle.md): [Lido Oracle](https://github.com/lidofinance/lido-oracle) is the off-chain daemon, run independently by each oracle member, that bridges Ethereum's Consensus and Execution layers for the Lido proto... - [AIP](https://docs.lido.fi/integrations/aave/aip.md): AAVE governance proposal to add stETH as collateral to the AAVE v2 market. - [Specification](https://docs.lido.fi/integrations/aave/specification.md): The main goal of integration is to provide the ability to deposit stETH into AAVE and allow to use it as collateral. Borrowing of the stETH (both stable and variable) is not supposed. The motivatio... - [API](https://docs.lido.fi/integrations/api.md): Here you can find various Lido APIs which you can integrate in your app or website: - [SDKs and UI libraries](https://docs.lido.fi/integrations/sdk.md): **Target clients**: those who want to use Lido UI components in their projects. - [Subgraph](https://docs.lido.fi/integrations/subgraph.md): Lido has a Subgraph deployed on [The Graph Decentralized Network](https://thegraph.com/docs/about/introduction#what-the-graph-is) which indexes and organises data from the Lido smart contracts even... - [Wallets](https://docs.lido.fi/integrations/wallets.md): By integrating Lido staking into your app or website you may be eligible for [Lido Rewards-Share Program](https://research.lido.fi/t/rewards-share-program-2024/6812). - [About IPFS](https://docs.lido.fi/ipfs/about.md): IPFS (InterPlanetary File System) is a suite of protocols for publishing data (files, directories, websites, etc.) in a decentralized fashion. For more info, see [What is IPFS](https://docs.ipfs.te... - [Lido IPFS applications](https://docs.lido.fi/ipfs/apps-list.md): This page is a source of up-to-date hashes of Lido applications deployed to the IPFS. - [Hash verification](https://docs.lido.fi/ipfs/hash-verification.md): You may want to verify the authenticity and integrity of the application, deployed on IPFS. It can be done by CID (hash) verifying. In order to do so, you will need to download the source code of t... - [Release Flow](https://docs.lido.fi/ipfs/release-flow.md): Releasing the widget to IPFS involves several steps, including: - [Security](https://docs.lido.fi/ipfs/security.md): The IPFS build utilizes non-secret environment variables since all IPFS content must be accessible to anyone. Therefore, the widget uses public RPC nodes to serve RPC requests. Users are explicitly... - [Lido DAO](https://docs.lido.fi/lido-dao.md): The Lido DAO is a Decentralised Autonomous Organisation that manages the liquid staking protocols by deciding on key parameters (e.g., setting fees, assigning node operators and oracles, etc.) thro... - [Lido V3 Technical Paper](https://docs.lido.fi/lido-v3-whitepaper.md): Introducing stVaults — staking through user-defined validator setups with optional stETH liquidity. - [Lido Improvement Proposals](https://docs.lido.fi/lips.md): Lido Improvement Proposals (LIPs) describe standards for the Lido platform, including core protocol specifications, client APIs, and contract standards. - [Alliance](https://docs.lido.fi/multisigs/alliance.md): **Address:** [](https://app.safe.global/settings/setup?safe=eth:0x606f77BF3dd6Ed9790D9771C7003f269a385D942) - [Committees](https://docs.lido.fi/multisigs/committees.md): **Address:** [](https://app.safe.global/settings/setup?safe=eth:0x12a43b049A7D330cB8aEAB5113032D18AE9a9030) - [Emergency Brakes](https://docs.lido.fi/multisigs/emergency-brakes.md): **Address:** [](https://app.safe.global/settings/setup?safe=eth:0x8772E3a2D86B9347A2688f9bc1808A6d8917760C) - [Lido Contributors Group](https://docs.lido.fi/multisigs/lido-contributors-group.md): **Disclaimer:** The following multisigs belong to independent third parties not affiliated with the Lido DAO and are managed by them. They are included in the list solely because they can access Ea... - [Other](https://docs.lido.fi/multisigs/other.md): **Address:** [](https://app.safe.global/home?safe=eth:0x6faCCcE132d5C397068807Ca73883d3df198dFF4) - [Public Risk Disclosure (PRD)](https://docs.lido.fi/prd.md): **Last updated:** 20 February 2026 - [Lido Protocol Audits](https://docs.lido.fi/security/audits.md): An audit and Certora Prover formal verification of the CircuitBreaker emergency pause manager. - [Bug Bounties with Immunefi](https://docs.lido.fi/security/bugbounty.md): Lido Bug Bounty programs allow you to report a vulnerability and get up to $2,000,000. - [Security Disclosures](https://docs.lido.fi/security/disclosures.md): A reverse-chronological (most recent first) record of security-related disclosures and post-mortem reports published by Lido. For details on impact, root cause, and resolution, refer to the linked ... - [Safe Harbor](https://docs.lido.fi/security/safeharbor.md): Safe Harbor enhances the security of Lido protocol user funds and Lido DAO treasury assets by allowing Whitehats to intervene (under strict rules) during active exploits only to save affected funds... - [Accounting](https://docs.lido.fi/staking-modules/cm-v2/contracts/Accounting.md): is a supplementary contract that manages Node Operators' bond, staking-fee rewards, penalties, and charges. It holds bond as shares and calculates the required bond from configurable bond curves as... - [CuratedGate](https://docs.lido.fi/staking-modules/cm-v2/contracts/CuratedGate.md): is a supplementary contract that allows an address included in a gate instance's Merkle tree to create an empty Node Operator in [](CuratedModule.md). In the same transaction, the gate configures t... - [CuratedModule](https://docs.lido.fi/staking-modules/cm-v2/contracts/CuratedModule.md): is the core staking module contract. It stores Node Operator and validator deposit data, handles interactions with the Staking Router, and provides flows for key and operator-address management, re... - [Ejector](https://docs.lido.fi/staking-modules/cm-v2/contracts/Ejector.md): is an immutable supplementary contract that triggers full validator withdrawals through Lido's [](/contracts/triggerable-withdrawals-gateway) using EIP-7002 execution-layer withdrawal requests. It ... - [ExitPenalties](https://docs.lido.fi/staking-modules/cm-v2/contracts/ExitPenalties.md): is a supplementary contract that records exit-related penalties and charges for individual validators. It can track: - [FeeDistributor](https://docs.lido.fi/staking-modules/cm-v2/contracts/FeeDistributor.md): is a supplementary contract that holds the module's reward shares while they are unallocated or claimable by Node Operators. [](FeeOracle.md) reports the latest rewards-distribution Merkle root and... - [FeeOracle](https://docs.lido.fi/staking-modules/cm-v2/contracts/FeeOracle.md): is a supplementary contract that processes the module's Performance Oracle report after consensus has been reached. An authorized consensus member or account holding submits the report data matchin... - [MerkleGateFactory](https://docs.lido.fi/staking-modules/cm-v2/contracts/MerkleGateFactory.md): is an immutable supplementary contract that deploys and initializes [](CuratedGate.md) instances behind [OssifiableProxy](/contracts/ossifiable-proxy). Each new proxy is initialized with its bond c... - [MetaRegistry](https://docs.lido.fi/staking-modules/cm-v2/contracts/MetaRegistry.md): is a supplementary contract that stores Node Operator metadata and defines operator groups used by [](CuratedModule.md) for weighted stake allocation. A group assigns shares to its module Node Oper... - [ParametersRegistry](https://docs.lido.fi/staking-modules/cm-v2/contracts/ParametersRegistry.md): is a supplementary contract that stores configurable parameters associated with Node Operator types, represented by bond curve IDs. It provides defaults and optional per-curve overrides for key lim... - [ValidatorStrikes](https://docs.lido.fi/staking-modules/cm-v2/contracts/ValidatorStrikes.md): is a supplementary contract that stores the latest Merkle tree root and CID for validator-strike data reported by the [Performance Oracle](FeeOracle.md). Anyone can submit a valid Merkle multiproof... - [Verifier](https://docs.lido.fi/staking-modules/cm-v2/contracts/Verifier.md): is a supplementary contract responsible for validating Consensus Layer (CL) data proofs against the beacon block root obtained via [EIP-4788](https://eips.ethereum.org/EIPS/eip-4788) and reporting ... - [Intro](https://docs.lido.fi/staking-modules/cm-v2/intro.md): Curated Module v2 (CM v2) is the next version of the Lido on Ethereum Curated Staking Module. It is built on the same codebase as [CSM](/staking-modules/csm/intro.md) and inherits the concepts intr... - [Permissions in Curated Module v2](https://docs.lido.fi/staking-modules/cm-v2/permissions.md): Curated Module v2 (CM v2) combines caller-specific permissions for Node Operator management, committee-operated flows, Easy Track actions, and role-based controls for protocol administration. Role ... - [Accounting](https://docs.lido.fi/staking-modules/csm/contracts/Accounting.md): is a supplementary contract responsible for managing Node Operators' bond, rewards, penalties, and charges. It stores the bond as shares and tracks the required bond using configurable bond curves ... - [CSModule](https://docs.lido.fi/staking-modules/csm/contracts/CSModule.md): is a core module contract conforming to the and interfaces. The contract stores information about Node Operators and deposit data (DD) and is responsible for all interactions with the , including d... - [Ejector](https://docs.lido.fi/staking-modules/csm/contracts/Ejector.md): is a supplementary contract that triggers validator exits through Lido's [](/contracts/triggerable-withdrawals-gateway) () using EIP-7002 execution-layer withdrawal requests. It supports voluntary ... - [ExitPenalties](https://docs.lido.fi/staking-modules/csm/contracts/ExitPenalties.md): is a supplementary contract that records penalties and charges associated with validator exits. For each validator, it can track: - [FeeDistributor](https://docs.lido.fi/staking-modules/csm/contracts/FeeDistributor.md): is a supplementary contract that stores non-claimed and non-distributed Node Operator rewards on its balance. This contract stores the latest root of a rewards distribution Merkle tree. It accepts ... - [FeeOracle](https://docs.lido.fi/staking-modules/csm/contracts/FeeOracle.md): is a supplementary contract responsible for the execution of the Performance Oracle report once consensus is reached in the contract, namely, transforming non-distributed rewards into non-claimed r... - [MerkleGateFactory](https://docs.lido.fi/staking-modules/csm/contracts/MerkleGateFactory.md): is a supplementary contract that deploys and initializes Merkle-based gate instances, such as [](VettedGate.md), behind [OssifiableProxy](contracts/ossifiable-proxy.md). A factory is bound to a sin... - [ParametersRegistry](https://docs.lido.fi/staking-modules/csm/contracts/ParametersRegistry.md): is a supplementary contract that stores parameters associated with Node Operator types. Other contracts in the module and off-chain tools, such as the Performance Oracle, retrieve these parameters ... - [PermissionlessGate](https://docs.lido.fi/staking-modules/csm/contracts/PermissionlessGate.md): is a supplementary contract that allows anyone to register as a Node Operator in the module. In a single transaction, it creates the Node Operator and submits the initial validator keys and bond in... - [ValidatorStrikes](https://docs.lido.fi/staking-modules/csm/contracts/ValidatorStrikes.md): is a supplementary contract that stores the latest Merkle tree root and CID for validator strike data reported by the [Performance Oracle](FeeOracle.md). Anyone can submit a valid Merkle proof show... - [Verifier](https://docs.lido.fi/staking-modules/csm/contracts/Verifier.md): is a supplementary contract responsible for validating Consensus Layer (CL) data proofs against the beacon block root obtained via [EIP-4788](https://eips.ethereum.org/EIPS/eip-4788) and reporting ... - [VettedGate](https://docs.lido.fi/staking-modules/csm/contracts/VettedGate.md): is a supplementary contract that allows addresses included in a gate instance's Merkle tree to register as Node Operators in the module. In a single transaction, an eligible participant can create ... - [Further reading](https://docs.lido.fi/staking-modules/csm/further-reading.md) - [Intro](https://docs.lido.fi/staking-modules/csm/intro.md): A separate 0x02 CSM module is planned for compounding validators with balances up to 2,048 ETH, but is not live yet. See **[CSM Context & Background](/run-on-lido/csm/context-and-background)** for ... - [Join CSM](https://docs.lido.fi/staking-modules/csm/join-csm.md): [](https://github.com/ethereum/consensus-specs/blob/v1.4.0/specs/phase0/beacon-chain.md#signingdata) **must** sign the root of the . Where a is used to identify the chain, and has the form of the f... - [Permissions in CSM](https://docs.lido.fi/staking-modules/csm/permissions.md): CSM combines caller-specific permissions for Node Operator management, permissionless proof-based operations, and role-based controls for protocol administration. Role assignments can be changed by... - [Rewards](https://docs.lido.fi/staking-modules/csm/rewards.md): ![rewards-1](../../../static/img/csm/rewards-1.png) - [Validator Exits](https://docs.lido.fi/staking-modules/csm/validator-exits.md): Should a Node Operator decide to exit their validators using [EIP-7002](https://eips.ethereum.org/EIPS/eip-7002), they can do so via the [Ejector](./contracts/Ejector.md) contract. - [Lido cross-chain tokens adoption guide](https://docs.lido.fi/token-guides/cross-chain-tokens-guide.md): Per the [Lido DAO mandate](https://snapshot.box/#/s:lido-snapshot.eth/proposal/0xf842517c2ffba082efac87ec43365e86548adb38e24d1446d850c7d7b979c423), the Lido Ecosystem is working to establish [Chain... - [stETH on AAVE caveats](https://docs.lido.fi/token-guides/steth-on-aave-caveats.md): Daily rebases of stETH are implemented via , a basic unit representing the stETH holder's share in the total amount of ether controlled by the Lido protocol. Because of math rounding down, there is... - [stETH superuser functions](https://docs.lido.fi/token-guides/steth-superuser-functions.md): This guide describes the stETH control surface in Lido V3, the roles that can change protocol behavior, and the current role holders on mainnet. It focuses on the minimal set of contracts that can ... ## Run on Lido - [Curated Module v2](https://docs.lido.fi/run-on-lido/cm-v2.md): Key terms, actors, and concepts you need to understand before diving into the module. Start here if CMv2 is new to you. - [Bond & Key Management](https://docs.lido.fi/run-on-lido/cm-v2/bond-and-key-management.md): This page covers how to upload and manage your validator keys, and how bond works in CMv2. Bond is collateral you post to activate new validators from keys provided and back them. The amount requir... - [Consolidations & Migration](https://docs.lido.fi/run-on-lido/cm-v2/consolidations-and-migration.md): CMv2 runs only validators with balances up to 2,048 ETH. If you are migrating from CMv1, your existing 32 ETH () validators should be consolidated into new validators. - [Context & Background](https://docs.lido.fi/run-on-lido/cm-v2/context-and-background.md): The **Curated Module v2 (CMv2)** is the successor to the existing Curated Module v1 (CMv1). - [️ Creating & Managing Node Operators](https://docs.lido.fi/run-on-lido/cm-v2/creating-and-managing-node-operators.md): This page covers how to create a Node Operator, what happens immediately after creation, and how to use the operator dashboard day-to-day. It also covers what is fixed at creation and cannot be cha... - [Glossary](https://docs.lido.fi/run-on-lido/cm-v2/glossary.md): This page provides a quick-reference glossary for all the terms related to Curated Module v2 (CMv2). - [Node Operator Types](https://docs.lido.fi/run-on-lido/cm-v2/node-operator-types.md): The Curated Module classifies each Node Operator into one of six profile families based on its profile, contribution history, and underlying infrastructure. - [Penalties](https://docs.lido.fi/run-on-lido/cm-v2/penalties.md): CMv2 uses bond to cover losses and charges that may arise from validator operation. Some are applied automatically, while others are reported by the Curated Module Committee (CMC) and settled throu... - [Rewards](https://docs.lido.fi/run-on-lido/cm-v2/rewards.md): As a Node Operator in CMv2, you earn rewards from two separate streams: a share of Lido's 10% protocol fee distributed based on your active validator keys, and staking returns that accrue on your b... - [Roles](https://docs.lido.fi/run-on-lido/cm-v2/roles.md): Every Node Operator has two required addresses: a Manager Address and a Rewards Address. Both are set during creation and can be changed later through their respective role-change flows. The curren... - [Useful Tools](https://docs.lido.fi/run-on-lido/cm-v2/useful-tools.md): Here you will find tools and dashboards that support CMv2 operations. - [CM Prover Tool (also known as CSM Prover Tool)](https://docs.lido.fi/run-on-lido/cm-v2/useful-tools/cm-prover-tool.md): The [CSM prover tool](https://github.com/lidofinance/csm-prover-tool) is a daemon application for CSM-like modules: the CSM itself and the new Curated Module v2. It listens to the Consensus Layer a... - [Key Generation & Fee Recipient](https://docs.lido.fi/run-on-lido/cm-v2/useful-tools/key-generation.md): The Curated Module v2 requires (compounding) validator keys. This page walks through generating them using the [EthStaker Deposit CLI](https://github.com/ethstaker/ethstaker-deposit-cli), the most ... - [CSM Guide](https://docs.lido.fi/run-on-lido/csm.md): This guide focuses solely on the technical setup of Ethereum validators using Lido's Community Staking Module (CSM). - [Alerts & Monitoring](https://docs.lido.fi/run-on-lido/csm/alerts-and-monitoring.md): This section helps you stay on top of your validator’s health, performance, and responsiveness through alerts and monitoring tools. - [️ Advanced: Local Grafana Dashboard](https://docs.lido.fi/run-on-lido/csm/alerts-and-monitoring/advanced.md): ![Dappnode DMS](/img/csm-guide/advanced-1.png) - [Beginner: CSM Widget, MigaLabs, Beaconcha.in](https://docs.lido.fi/run-on-lido/csm/alerts-and-monitoring/beginner.md): To get Node Operator rewards on your CSM validators, their performance must be above the average performance of the network minus 3% (5% for ICS's first 150 keys) during the monitoring frame of 28 ... - [Expert: Subscribing to Important Events](https://docs.lido.fi/run-on-lido/csm/alerts-and-monitoring/expert-custom-alerts.md): Some smart contract events in the CSM may occur on the protocol side, such as withdrawal requests, penalties, etc., which require specific actions from the Node Operator (NO). - [Intermediate: Other External Dashboards](https://docs.lido.fi/run-on-lido/csm/alerts-and-monitoring/intermediate.md): CSM operators have access to multiple external dashboards with different use cases or metrics. To find all of them, navigate to the **Monitoring** tab and locate them under the **External dashboard... - [Best Practices](https://docs.lido.fi/run-on-lido/csm/best-practices.md): Beyond staying online, there are certain actions you can take to make sure your node runs without issues. - [Maximizing Uptime and Performance](https://docs.lido.fi/run-on-lido/csm/best-practices/maximizing-uptime-and-performance.md) - [Community Tips](https://docs.lido.fi/run-on-lido/csm/best-practices/maximizing-uptime-and-performance/community-tips.md) - [Optimizing Security](https://docs.lido.fi/run-on-lido/csm/best-practices/optimizing-security.md) - [️ Slashing Prevention](https://docs.lido.fi/run-on-lido/csm/best-practices/slashing-prevention.md): In Ethereum terms, slashing is when the network kicks off a validator for misbehavior. A slashed validator can no longer participate in validation and is subject to penalties. - [Context & Background](https://docs.lido.fi/run-on-lido/csm/context-and-background.md): It is designed to make participation as a Node Operator accessible to independent operators. - [Generating Validator Keys](https://docs.lido.fi/run-on-lido/csm/generating-validator-keys.md): Before you can run validators in the Community Staking Module, you need to generate your validator keys. These keys secure 32 ETH each and are tasked with signing attestations and proposing blocks,... - [Key Generation for Mainnet](https://docs.lido.fi/run-on-lido/csm/generating-validator-keys/key-generation-for-mainnet.md): This GUI method generates keystores, deposit data, and mnemonic. - [TailsOS on USB as Air-gapped Machine](https://docs.lido.fi/run-on-lido/csm/generating-validator-keys/key-generation-for-mainnet/tailsos-on-usb-as-air-gapped-machine.md): Follow steps **1/7 & 2/7** on the official TailsOS site to download and verify your ISO: - [Key Generation for Testnet](https://docs.lido.fi/run-on-lido/csm/generating-validator-keys/key-generation-for-testnet.md): You will be prompted to generate validator keys during the initial setup process. Select **Yes** and follow the terminal UI to generate your validator keys. - [️ Lido CSM Widget](https://docs.lido.fi/run-on-lido/csm/lido-csm-widget.md): The **Lido CSM Widget** is your primary interface for managing your validator keys, tracking rewards, and overseeing your role as a CSM operator. - [Exiting CSM Validators](https://docs.lido.fi/run-on-lido/csm/lido-csm-widget/exiting-csm-validators.md): The **Dashboard** view provides a consolidated view of the status of your keys. Including the exit requests as shown on the image below. - [Exit using validator keystores](https://docs.lido.fi/run-on-lido/csm/lido-csm-widget/exiting-csm-validators/exit-using-validator-keystores.md): To exit validators in Dappnode open the Web3signer UI by going to the package and then clicking the UI link. After that select the validators you wish to exit, and click **Exit** at the top right. - [Operator Roles](https://docs.lido.fi/run-on-lido/csm/lido-csm-widget/operator-roles.md): CSM has two roles to interact with your Node Operator: **Manager** and **Rewards**. When you first create your operator, both roles are assigned to the wallet you used at creation (unless you are e... - [Rewards & Bonds](https://docs.lido.fi/run-on-lido/csm/lido-csm-widget/rewards-and-bonds.md): ![Dashboard](/img/csm-guide/bond-1.png) - [Upload/Delete/View validator keys](https://docs.lido.fi/run-on-lido/csm/lido-csm-widget/upload-remove-view-validator-keys.md): The way validators are deposited in the CSM is through a FIFO (first in, first out) queue. You can see a visual representation of the queue under the deposit widget, or at the top of the tab. - [Node Setup](https://docs.lido.fi/run-on-lido/csm/node-setup.md): Setting up your node is the first step to validate Ethereum and participate in the Community Staking Module. To make things easier and more accessible, we’ve divided this section into three tracks:... - [️ Advanced](https://docs.lido.fi/run-on-lido/csm/node-setup/advanced.md): For experienced node operators who prefer maximum flexibility and more control over their stack. The guides in this section are ideal for those with experience running validators and who want deepe... - [Eth Docker](https://docs.lido.fi/run-on-lido/csm/node-setup/advanced/eth-docker.md): Go to the [ETH Docker repository](https://github.com/ethstaker/eth-docker) and to get and run the installation commands. - [Ethereum on ARM](https://docs.lido.fi/run-on-lido/csm/node-setup/advanced/ethereum-on-arm.md): [Ethereum on ARM](https://ethereum-on-arm-documentation.readthedocs.io/) offers a custom Linux image for ARM64 devices (Raspberry Pi 5, Rock 5B, NanoPC T6, and Orange Pi 5 Plus) that comes pre-conf... - [Sedge](https://docs.lido.fi/run-on-lido/csm/node-setup/advanced/sedge.md): **Sedge** is a one-click setup tool for PoS network/chain validators and nodes. It takes care of the entire on-premise full node setup based on the chosen client, using generated docker-compose scr... - [Systemd](https://docs.lido.fi/run-on-lido/csm/node-setup/advanced/systemd.md): This section of the guide focuses on helping CSM Operators run CSM validator keys on their existing validator node setup. - [Method 1: Configure CSM Fee Recipient on validator keys](https://docs.lido.fi/run-on-lido/csm/node-setup/advanced/systemd/method-1-configure-csm-fee-recipient-on-validator-keys.md): **Note:** You will have to import your CSM validator keystores into your validator client first. Refer to the key import steps in the **Method 2** section if you are unsure about how to proceed. - [Method 2: Configure CSM Fee Recipient on Separate Validator Client](https://docs.lido.fi/run-on-lido/csm/node-setup/advanced/systemd/method-2-configure-csm-fee-recipient-on-separate-validator-client.md): This guide covers how to configure a Community Staking Module (CSM) fee recipient using a separate validator client setup for various Ethereum clients (Teku, Nimbus, Lodestar, Lighthouse, Prysm). - [Beginner](https://docs.lido.fi/run-on-lido/csm/node-setup/beginner.md): If you’re new to running Ethereum nodes or prefer a simplified experience, this section is for you. - [Dappnode](https://docs.lido.fi/run-on-lido/csm/node-setup/beginner/dappnode.md): **Dappnode** is an open-source node management software with a highly abstracted user interface. Perfect for beginners or operators seeking maximum comfort in their setup. - [DVT Setup](https://docs.lido.fi/run-on-lido/csm/node-setup/DVT-setup.md): If you’re interested in running validators with Distributed Validator Technology (DVT), this section is for you. - [CSM + DVT with Obol](https://docs.lido.fi/run-on-lido/csm/node-setup/DVT-setup/obol.md): **Obol** is an implementation of Distributed Validator Technology (DVT) that allows multiple operators to collaboratively run a validator as a cluster. This improves security, resilience, and decen... - [CSM + DVT with SSV](https://docs.lido.fi/run-on-lido/csm/node-setup/DVT-setup/ssv.md): **SSV Network** implements Distributed Validator Technology (DVT) by splitting a validator key into encrypted shares and distributing them across independent operators. This reduces single-operator... - [Intermediate](https://docs.lido.fi/run-on-lido/csm/node-setup/intermediate.md): For operators comfortable with Linux environments and basic terminal use, this section walks you through flexible node management solutions with a certain degree of abstraction. - [EthPillar](https://docs.lido.fi/run-on-lido/csm/node-setup/intermediate/ethpillar.md): Review EthPillar's homepage at [Coincashew website](https://docs.coincashew.com/ethpillar), then run: - [Stereum](https://docs.lido.fi/run-on-lido/csm/node-setup/intermediate/stereum.md): **Stereum** is an open-source toolkit that simplifies setting up and managing Ethereum nodes, supporting solo staking and integrations like Lido’s Community Staking Module (CSM). - [Penalties](https://docs.lido.fi/run-on-lido/csm/penalties.md): When you join CSM, your bond acts as collateral for all validators under your Node Operator. Penalties and charges are deducted from that bond. - [Troubleshooting](https://docs.lido.fi/run-on-lido/csm/troubleshooting.md): Find fixes to some of the most common issues when running Ethereum nodes and the CSM. - [Set up MEV-Boost](https://docs.lido.fi/run-on-lido/csm/troubleshooting/mev-install.md): To install or modify MEV Boost in your Dappnode setup, head to the [**Stakers tab**](http://my.dappnode/stakers/ethereum) and choose relays from: - [MEV stealing. Reasons and consequences](https://docs.lido.fi/run-on-lido/csm/troubleshooting/mev-stealing.md): "MEV stealing" stands for violating the [Lido on Ethereum Block Proposer Rewards Policy](https://snapshot.org/#/lido-snapshot.eth/proposal/0x7ac2431dc0eddcad4a02ba220a19f451ab6b064a0eaef961ed386dc5... - [Setting the Fee Recipient for CSM Validators](https://docs.lido.fi/run-on-lido/csm/troubleshooting/setting-the-fee-recipient-for-csm-validators.md): When running validators via Lido Community Staking Module (CSM), it is **mandatory** to set the fee recipient to the **Lido Execution Layer Rewards Vault**: - [Verifying Fee Recipient for CSM Validators](https://docs.lido.fi/run-on-lido/csm/troubleshooting/setting-the-fee-recipient-for-csm-validators/verifying-fee-recipient-for-csm-validators.md): You can also verify that your Fee Recipient address has been set and registered correctly on the block builder network using the external guide below. - [️ Unbonded validators](https://docs.lido.fi/run-on-lido/csm/troubleshooting/unbonded-validators.md): To [upload](/staking-modules/csm/join-csm#deposit-data-preparation-and-upload) validator keys to CSM, Node Operators must provide a corresponding [bond](/staking-modules/csm/join-csm#bond) amount. ... - [Updates & Maintenance](https://docs.lido.fi/run-on-lido/csm/updates-and-maintenance.md): See how to keep your machine operational and up to date. - [Client Updates](https://docs.lido.fi/run-on-lido/csm/updates-and-maintenance/client-updates.md): If there are updates available to your clients, they'll appear on the right-hand side of your Dappnode Dashboard: - [Patching your OS](https://docs.lido.fi/run-on-lido/csm/updates-and-maintenance/patching-your-os.md): Run update/upgrade command. - [Useful Tools](https://docs.lido.fi/run-on-lido/csm/useful-tools.md): Here you will find various tools that will make your experience with CSM as easy as it can get. - [Advanced Networking](https://docs.lido.fi/run-on-lido/csm/useful-tools/advanced-networking.md): Universal plug and play (**Upnp**) is a way for modems/routers to automatically open ports that devices connected to it are using and closes them when they are done. - [Automated Graceful Shutdown & Remote Wake](https://docs.lido.fi/run-on-lido/csm/useful-tools/automated-graceful-shutdown-and-remote-wake.md): For operators who spend lots of time away from home with frequent power trips, you may want to set up the following: - [CSM Prover Tool](https://docs.lido.fi/run-on-lido/csm/useful-tools/csm-prover-tool.md): The [CSM prover tool](https://github.com/lidofinance/csm-prover-tool) is a daemon application that listens to the Consensus Layer and Execution Layer and reports module events such as withdrawals, ... - [Extra Resources](https://docs.lido.fi/run-on-lido/csm/useful-tools/extra-resources.md) - [Hoodi Faucets](https://docs.lido.fi/run-on-lido/csm/useful-tools/hoodi-faucets.md) - [Run on Lido](https://docs.lido.fi/run-on-lido/intro.md): This section of the Lido documentation is for users who want to run any of the Lido products, whether Node Operators, Vault owners, or Oracle Operators. - [stVaults Documentation Center](https://docs.lido.fi/run-on-lido/stvaults.md): For a comprehensive understanding of stVaults architecture, mechanisms, and the vision behind Lido V3, read the official [**Lido V3 Technical Paper**](/lido-v3-whitepaper) with embedded PDF preview. - [️ Building Guides](https://docs.lido.fi/run-on-lido/stvaults/building-guides.md): The stVaults platform enables the creation of staking products tailored to different target audiences with diverse needs. These two comprehensive guides provide detailed instructions on how to crea... - [Basic stVault with optional liquidity](https://docs.lido.fi/run-on-lido/stvaults/building-guides/basic-stvault.md): This guide is aimed at helping Node Operators, Builders, Protocols, and Liquidity Providers create and operate an stVault with optional liquidity. - [End-user staking product by DeFi Wrapper](https://docs.lido.fi/run-on-lido/stvaults/building-guides/pooled-staking-product.md): **The DeFi Wrapper** is a no-/low-code toolkit that lets builders, Node Operators, and platforms launch customized user-facing staking products powered by stVaults — with optional automated APR-boo... - [Pool with a custom strategy](https://docs.lido.fi/run-on-lido/stvaults/building-guides/pooled-staking-product/custom-strategy.md): This guide walks through how to build and deploy a **pooled staking product with a custom yield strategy** using the DeFi Wrapper toolkit. - [DeFi Wrapper Disconnect Guide](https://docs.lido.fi/run-on-lido/stvaults/building-guides/pooled-staking-product/disconnect-guide.md): This guide walks through the full process of disconnecting a DeFi Wrapper (pooled staking product) from the Lido protocol and distributing remaining assets to users. - [DeFi Wrapper roles and permissions](https://docs.lido.fi/run-on-lido/stvaults/building-guides/pooled-staking-product/roles-and-permissions.md): This page describes **DeFi Wrapper-specific roles** for pooled staking products. For **stVaults roles**, see [stVaults Roles and permissions](/run-on-lido/stvaults/features-and-mechanics/roles-and-... - [Withdrawals operations](https://docs.lido.fi/run-on-lido/stvaults/building-guides/pooled-staking-product/withdrawals.md): This page explains how to operate withdrawals for a pooled staking product (DeFi Wrapper): how to monitor the Withdrawal Queue, ensure enough liquidity is available, and finalize requests. - [stVaults Features and Mechanics](https://docs.lido.fi/run-on-lido/stvaults/features-and-mechanics.md): Core mechanics and configuration details for stVaults, including roles, permissions, and key parameters. - [⬇️ Exit Validators](https://docs.lido.fi/run-on-lido/stvaults/features-and-mechanics/exit-validators.md): Different stVault participants have specific permissions to initiate validator exits or withdrawals from the Consensus Layer. - [Parameters and metrics](https://docs.lido.fi/run-on-lido/stvaults/features-and-mechanics/parameters-and-metrics.md): Also, it can be limited by: - stVault personal stETH minting limit; - Tier remaining capacity; - Node Operator remaining capacity; - Total stVaults remaining capacity; - Lido Core staking rate limi... - [Roles and permissions](https://docs.lido.fi/run-on-lido/stvaults/features-and-mechanics/roles-and-permissions.md): **Node Operator** provides validation service for the vault: handles depositing ETH from the vault balance to validators and exiting validators if necessary. Address of the Node Operator can’t be c... - [Operational and Management Guides](https://docs.lido.fi/run-on-lido/stvaults/operational-and-management-guides.md): Day-to-day guidance for running and maintaining stVaults safely, including health checks, emergency response, operator identification, and rollout notes. - [Applying Report Guide](https://docs.lido.fi/run-on-lido/stvaults/operational-and-management-guides/applying-report-guide.md): Before minting stETH or performing other operations that depend on current vault state, the protocol needs to ensure that you are working with the latest available data. [LazyOracle](/contracts/laz... - [Health Emergency Guide](https://docs.lido.fi/run-on-lido/stvaults/operational-and-management-guides/health-emergency-guide.md): The stVault has two key parameters: **Reserve Ratio (RR)** and **Force Rebalance Threshold (FRT)**. - [Health Monitoring Guide](https://docs.lido.fi/run-on-lido/stvaults/operational-and-management-guides/health-monitoring-guide.md): Regularly monitoring **Health factor**, **Carry Spread**, **Net staking APR**, and **stETH Liability / Utilization ratio** is a good operational practice for vault owners. - [Identified Node Operators](https://docs.lido.fi/run-on-lido/stvaults/operational-and-management-guides/node-operators-identification.md): This guide describes how to become an Identified Node Operator for stVaults and qualify for category-based tiers with specific Reserve Ratio & stETH minting limits. - [stVault Disconnect Guide](https://docs.lido.fi/run-on-lido/stvaults/operational-and-management-guides/stvault-disconnect-guide.md): This guide walks you through the process of disconnecting your stVault from Lido protocol. Disconnecting is a multi-step process and each step must be completed in the given order. - [stVaults Economy Examples](https://docs.lido.fi/run-on-lido/stvaults/operational-and-management-guides/stvaults-economy-examples.md): Here you’ll find three typical economic examples of products built on top of stVaults. These simplified models are designed to clearly highlight the key metrics and factors that influence the overa... - [Volunteering Rebalancing and Vault Closure](https://docs.lido.fi/run-on-lido/stvaults/operational-and-management-guides/voluntary-rebalancing-and-vault-closure.md): When you mint stETH against your stVault, you create a **debt obligation** — the stETH Liability. The stVault’s ETH serves as collateral backing that liability. - [️ Qualified Custodians Supporting stVaults](https://docs.lido.fi/run-on-lido/stvaults/qualified-custodians.md): This page outlines which **Qualified Custodians** support interaction with **stVaults**, and how institutional stakers can access stVaults depending on their custody setup. - [Cactus Custody](https://docs.lido.fi/run-on-lido/stvaults/qualified-custodians/cactus.md): This guide explains how Cactus Custody clients can connect to the stVaults Web UI and interact with stVaults smart contracts using Cactus Link. - [Copper](https://docs.lido.fi/run-on-lido/stvaults/qualified-custodians/copper.md): This guide explains how Copper clients can connect to the stVaults Web UI and interact with stVaults smart contracts using CopperConnect. - [Fireblocks](https://docs.lido.fi/run-on-lido/stvaults/qualified-custodians/fireblocks.md): This guide explains how Fireblocks clients can connect to the stVaults Web UI and interact with stVaults smart contracts using institutional approval workflows. - [Tech Documentation](https://docs.lido.fi/run-on-lido/stvaults/tech-documentation.md): Technical references for stVaults architecture, integrations, and operational workflows. - [Consolidations](https://docs.lido.fi/run-on-lido/stvaults/tech-documentation/consolidation.md): Stakers with validators already running may need to join stVaults. Validators in stVaults must have withdrawal credentials set to the Vault contract address. Instead of stopping existing validators... - [Integration overview](https://docs.lido.fi/run-on-lido/stvaults/tech-documentation/integration-overview.md): stVaults are Lido staking building blocks that allow creating custom staking solutions while still accessing unmatched stETH liquidity. This guide provides instructions for **managing** and **integ... - [️ Predeposit Guarantee](https://docs.lido.fi/run-on-lido/stvaults/tech-documentation/pdg.md): This user guide explains how to use the Predeposit Guarantee contract as part of the stVaults staking infrastructure. - [️ Technical Design and Architecture](https://docs.lido.fi/run-on-lido/stvaults/tech-documentation/tech-design.md): Lido Staking Vaults (stVaults) are modular primitives that connect stakers, node operators, and protocols — enabling them to define custom fee structures, tailor validator configurations, and fine-... ## Earn - [Introduction](https://docs.lido.fi/earn.md): earnETH provides on-chain access to strategies involving ETH-denominated digital assets. It uses defined asset selection and risk controls, supported by transparent reporting. - [Architecture](https://docs.lido.fi/earn/architecture.md): From Core Vaults to Meta Vaults - [Factory](https://docs.lido.fi/earn/architecture/factory.md): The contract is a generalized deployment mechanism for creating upgradeable proxy instances of pre-approved implementations. It tracks multiple implementation versions, proposal workflows, blacklis... - [Hooks](https://docs.lido.fi/earn/architecture/hooks.md): In this directory, you will find a detailed per-contract overview of the "Hooks" contract category, including the following modules: - [BasicRedeemHook](https://docs.lido.fi/earn/architecture/hooks/basicredeemhook.md): is a minimal hook implementation for , designed to dynamically fetch liquidity from subvaults during redemption processing in a . It ensures that enough assets are available for user redemptions by... - [LidoDepositHook](https://docs.lido.fi/earn/architecture/hooks/lidodeposithook.md): is an implementation of the interface that acts as a conversion adapter for incoming deposits. It standardizes various ETH-like assets into for use in downstream vault logic. The hook supports ETH,... - [RedirectingDepositHook](https://docs.lido.fi/earn/architecture/hooks/redirectingdeposithook.md): is a deposit time liquidity allocation hook implementing the interface. It is designed to redirect newly deposited assets from a vault into its underlying subvaults, based on per-subvault risk and ... - [Libraries](https://docs.lido.fi/earn/architecture/libraries.md): In this directory, you will find a detailed per-contract overview of the "Libraries" contract category, including the following modules: - [FenwickTreeLibrary](https://docs.lido.fi/earn/architecture/libraries/fenwicktreelibrary.md): This library implements a 0-indexed Fenwick Tree for tracking cumulative values over a dynamic array. It is suitable for systems where frequent prefix sum queries and point updates are required, su... - [ShareManagerLibrary](https://docs.lido.fi/earn/architecture/libraries/sharemanagerlibrary.md): This library helps pack multiple boolean flags and lockup durations into a compact bitmask. It enables efficient storage and quick access to share manager configuration in vault systems. - [SlotLibrary](https://docs.lido.fi/earn/architecture/libraries/slotlibrary.md): This library generates unique and collision resistant storage slots for use in upgradeable Solidity contracts. It ensures that different modules or instances do not unintentionally overwrite each o... - [TransferLibrary](https://docs.lido.fi/earn/architecture/libraries/transferlibrary.md): This utility abstracts away the differences between transferring native ETH and ERC20 tokens by introducing a unified interface for both sending and receiving assets. It also standardizes how nativ... - [Managers](https://docs.lido.fi/earn/architecture/managers.md): In this directory, you will find a detailed per-contract overview of the "Managers" contract category, including the following modules: - [BasicShareManager](https://docs.lido.fi/earn/architecture/managers/basicsharemanager.md): is a concrete implementation of the abstract , designed to provide native ERC20 style share accounting within a modular vault system. It handles minting, burning, and tracking balances of vault sha... - [FeeManager](https://docs.lido.fi/earn/architecture/managers/feemanager.md): Modular, upgradeable fee management contract for vaults. - [RiskManager](https://docs.lido.fi/earn/architecture/managers/riskmanager.md): On-chain risk control and allocation policy manager for modular vaults. - [ShareManager](https://docs.lido.fi/earn/architecture/managers/sharemanager.md): The is an abstract upgradeable contract responsible for managing vault share issuance, allocation, whitelisting, permissions, and lockups in a modular vault system. It relies on a compact bitmask (... - [TokenizedShareManager](https://docs.lido.fi/earn/architecture/managers/tokenizedsharemanager.md) - [Modules](https://docs.lido.fi/earn/architecture/modules.md): This group of contracts provides core building blocks for vault functionality. Below is a detailed per-contract overview of the "Modules" contract category, including the following modules: - [ACLModule](https://docs.lido.fi/earn/architecture/modules/aclmodule.md): Abstract module integrating role-based access control via , providing permission management functionality. - [BaseModule](https://docs.lido.fi/earn/architecture/modules/basemodule.md): is an abstract contract that acts as a foundational layer for modules within the system. It integrates shared logic such as initializer protection, reentrancy guard, IERC721Receiver compliance and ... - [CallModule](https://docs.lido.fi/earn/architecture/modules/callmodule.md): CallModule is an abstract contract that extends and implements low-level contract calls with verification via a pluggable verifier. - [ShareModule](https://docs.lido.fi/earn/architecture/modules/sharemodule.md): is a core module responsible for managing user interactions with a vault through structured deposit and redeem queues. It provides governance over queue creation, hook configurations, oracle-driven... - [SubvaultModule](https://docs.lido.fi/earn/architecture/modules/subvaultmodule.md): The represents an isolated child vault within a modular vault system. It is tightly controlled by its parent vault (typically a ) and is responsible for securely holding and releasing assets upon a... - [VaultModule](https://docs.lido.fi/earn/architecture/modules/vaultmodule.md): is a core component of the modular vault architecture. It manages liquidity routing between the Vault and its connected Subvaults, enabling flexible strategy composition and modular upgrades. It su... - [VerifierModule](https://docs.lido.fi/earn/architecture/modules/verifiermodule.md): is an abstract extension of designed to provide standardized access to a contract. It manages internal storage using a deterministic slot derived via , supporting secure modular composition across ... - [Oracle](https://docs.lido.fi/earn/architecture/oracle.md): The contract is responsible for secure and configurable price reporting for supported assets. It is tightly coupled with a vault module (implementing ) and provides price validation, deviation trac... - [Permissions](https://docs.lido.fi/earn/architecture/permissions.md): In this directory, you will find a detailed per-contract overview of the "Permissions" contract category, including the following modules: - [BitmaskVerifier](https://docs.lido.fi/earn/architecture/permissions/bitmaskverifier.md): The is a customizable, low-level verifier module that enables selective call authorization using bitmask-based hashing. It allows a contract to validate whether a function call (defined by , , , an... - [Consensus](https://docs.lido.fi/earn/architecture/permissions/consensus.md): The contract manages a permissioned set of signers and enforces multi-signature validation logic using either EIP 712 or EIP 1271 signatures. It is a lightweight module designed for verifying offch... - [MellowACL](https://docs.lido.fi/earn/architecture/permissions/mellowacl.md): is a lightweight but extendable access control layer that wraps OpenZeppelin's . It introduces automatic tracking and enumeration of active roles to improve governance transparency. - [Protocols](https://docs.lido.fi/earn/architecture/permissions/protocols.md): In this directory, you will find a detailed overview of the specific verifiers, including the following: - [EigenLayerVerifier](https://docs.lido.fi/earn/architecture/permissions/protocols/eigenlayerverifier.md): is a custom implementation tailored to securely authorize calls to EigenLayer contracts like , , and . It uses strict role-based gating, exact calldata matching, and entity specific validation to e... - [ERC20Verifier](https://docs.lido.fi/earn/architecture/permissions/protocols/erc20verifier.md): is a role-driven implementation that enforces strict, granular permissioning over ERC20 and function calls. It builds upon , using style roles to validate the caller, target asset, and recipient of... - [OwnedCustomVerifier](https://docs.lido.fi/earn/architecture/permissions/protocols/ownedcustomverifier.md): is an abstract base contract for implementing compatible verifiers with configurable role based access control. It integrates with and provides a flexible initialization mechanism for dynamic permi... - [SymbioticVerifier](https://docs.lido.fi/earn/architecture/permissions/protocols/symbioticverifier.md): is a custom implementation used to authorize interactions with the Symbiotic protocol. It restricts access to , , , and calls across Symbiotic vaults and farm contracts. All permissions are tightly... - [Verifier](https://docs.lido.fi/earn/architecture/permissions/verifier.md): The contract is a multi mode permissioning module for verifying and enforcing call-level access control across vault connected modules. It supports: - [Queues](https://docs.lido.fi/earn/architecture/queues.md): In this directory, you will find a detailed per-contract overview of the "Queues" contract category, including the following modules: - [DepositQueue](https://docs.lido.fi/earn/architecture/queues/depositqueue.md): The contract enables asynchronous asset deposits into vaults using a time delayed, oracle priced queuing mechanism. Deposits are not processed immediately. Instead, users submit requests that are l... - [Queue](https://docs.lido.fi/earn/architecture/queues/queue.md): The contract provides a shared foundation for time-gated asset processing in systems like and . It tracks user requests via timestamped checkpoints and processes them using oracle-based pricing. - [RedeemQueue](https://docs.lido.fi/earn/architecture/queues/redeemqueue.md): The contract enables delayed, batched redemptions of vault shares into underlying assets. Redemptions are processed in two phases: - [SignatureDepositQueue](https://docs.lido.fi/earn/architecture/queues/signaturedepositqueue.md): extends to enable instant deposit of assets into a vault, bypassing the standard on-chain mechanism. It leverages off-chain approvals signed by a trusted consensus group, using [EIP-712](https://ei... - [SignatureQueue](https://docs.lido.fi/earn/architecture/queues/signaturequeue.md): The enables instant user deposits or redemptions using off-chain signed approvals from a trusted consensus group. This queue type bypasses the normal time-delayed queuing mechanism (for example and... - [SignatureRedeemQueue](https://docs.lido.fi/earn/architecture/queues/signatureredeemqueue.md): extends to enable instant share redemption from a vault without the usual delay of on-chain oracle processing. It leverages off-chain consensus signatures conforming to [EIP-712](https://eips.ether... - [Vaults](https://docs.lido.fi/earn/architecture/vaults.md): In this directory, you will find a detailed per-contract overview of the "Vaults" contract category, including the following modules: - [Subvault](https://docs.lido.fi/earn/architecture/vaults/subvault.md): The contract represents a modular, permissioned vault component designed to manage delegated asset strategies within a parent . It enables curated logic for permissioned calls and asset management ... - [Vault](https://docs.lido.fi/earn/architecture/vaults/vault.md): The contract is the central entry point in the Flexible Vault system. It composes three foundational modules: - [VaultConfigurator](https://docs.lido.fi/earn/architecture/vaults/vaultconfigurator.md): The contract provides a streamlined and modular deployment mechanism for setting up a new instance and its associated managers. It orchestrates the creation and initialization of the following comp... - [Security](https://docs.lido.fi/earn/audits.md): Full security reviews of the Mellow MetaVaults core architecture, including Vault, Subvault, queues, Oracle, Verifier, ShareManager, FeeManager, and RiskManager. - [Deployments](https://docs.lido.fi/earn/deployment-contracts.md): Deployment addresses for Lido Earn vaults and their supporting contracts. - [Embedding the Earn widget](https://docs.lido.fi/earn/embedding-the-earn-widget.md): When embedding the Lido Stake widget via an , the Earn page is **enabled by default**. Use URL query parameters only if you need to hide the page or restrict the set of visible vaults. - [Referral tracking](https://docs.lido.fi/earn/referral-tracking.md): MetaVaults deposits can include additional parameters embedded directly in the onchain transaction, enabling reliable attribution and access control without relying on offchain tracking.