Concepts
The ideas behind the numbers in Roundbeat: how Lido is organized, what happens to a validator over its life, and the protocol rules alerts are built on.
Lido staking modules
Lido splits its validators into staking modules, each with its own operators and rules. Roundbeat tracks all four on Ethereum mainnet. Credentials is the validators’ withdrawal-credential type, which sets how much ETH one validator can hold (effective balance and 0x02 keys).
| Module | Credentials | About | Active validators | Stake |
|---|---|---|---|---|
| Curated v1 | 0x01, 32 ETH | Operators vetted by the Lido DAO. The original module, now winding down as its validators consolidate into Curated v2. | 199,171 | 6.37M ETH |
| SimpleDVT | 0x01, 32 ETH | Distributed-validator clusters on Obol and SSV, each run by a group of operators. Its operators are clusters. | 5,000 | 160.0k ETH |
| CSM | 0x01, 32 ETH | The Community Staking Module: permissionless, anyone can join by posting a bond. | 24,785 | 793.1k ETH |
| Curated v2 | 0x02, up to 2,048 ETH | The successor of Curated v1: compounding validators, operators with a type (and a bond curve), bonds and penalties built on the CSM codebase. | 4,442 | 1.92M ETH |
Active validators and stake (effective balance): snapshot, 13 Oct 2026, 10:45 UTC.
An operator’s ID is unique only inside its module, so Roundbeat always names both: the page app.roundbeat.com/operator/4/36 is operator 36 of module 4 (Curated v2). Validators you monitor by withdrawal address belong to no module and are labelled Custom validators.
Curated v2 operator types
Each Curated v2 operator has a type, set by its bond curve. The type shows as a chip on the operator page and as a suffix of its name (for example “ChainSafe - PGO”).
- PO
- Professional Operator
- PTO
- Professional Trusted Operator
- PGO
- Public Good Operator
- DO
- Decentralization Operator
- EEO
- Extra Effort Operator
- IODC
- Intra-Operator DVT Cluster
- IODC+
- Intra-Operator DVT Cluster (second curve)
The Curated v1 to v2 migration
Curated v1 validators (0x01, 32 ETH each) move into Curated v2 by consolidation (EIP-7251): a request asks the beacon chain to fold a source validator’s balance into a target 0x02 validator, which can hold up to 2,048 ETH. The source exits as part of it, but this is not an exit: Roundbeat reports it as a consolidation and never as Validator exited.
Lido pairs each Curated v1 operator with one or more Curated v2 operators (its successors), and its ConsolidationMigrator contract allows each pair before validators can be submitted.
Steps of one consolidation
- Requested
- The request is on the execution layer, not yet in the beacon chain’s consolidation queue.
- Queued
- In the beacon chain’s pending consolidations; the source is exiting.
- Source exited
- The source has exited and waits until its balance can move.
- Completed
- The balance moved into the Curated v2 target.
A request still unprocessed after 32 epochs is reported stuck; after 225 epochs (about a day) with the source still active it counts as rejected: the chain dropped it and it needs a new request.
Migration stages
Each Curated v1 operator is in one stage, shown on the Curated v1 and Curated v2 pages:
| Stage | Meaning |
|---|---|
| Awaiting pair | No Curated v2 pair has been allowed yet. |
| Not started | A pair is allowed, but no validators were submitted to the migrator. |
| Submitted | Requests were submitted; nothing is on the beacon chain yet. |
| In progress | Consolidations are queued, exited or completed on the beacon chain. |
| Done | No active Curated v1 validators left and nothing in flight. |
| Exiting | Leaving Lido instead of migrating: its validators exit with no consolidation in flight, or its Curated v2 successors are winding down. |
| Left Lido | No validators left in either module: it left Lido after consolidating part of its validators. |
| Inactive | No active Curated v1 validators and nothing ever consolidated: offboarded, nothing to migrate. |
6 migration alerts follow this process, and the public figures are in the migration API.
Operators and keys
A node operator runs validators for Lido in one module. It uploads validator keys to the module; Lido vets them and deposits to them in turn, and each key it deposits to becomes a validator. The pages count keys at each step:
- Deposited
- Keys Lido has deposited to: each became a validator. Includes exited ones.
- Active
- Deposited keys that have not exited.
- Exited
- Validators that left the active set. Consolidated Curated v1 validators are counted apart.
- Depositable
- Vetted keys not used yet, which Lido can deposit to next. Curated v1 flags fewer than 100; SimpleDVT flags none left for a cluster with more than 50 keys. CSM does not report depositable keys per operator, and 0x02 modules grow stake by top-ups rather than new keys, so neither is flagged.
Validator statuses
The beacon chain’s status of each validator, as Roundbeat labels it:
| Label | Beacon status | Meaning |
|---|---|---|
| Pending Init | pending_initialized | Known to the beacon chain, not yet in the activation queue. |
| Pending Queued | pending_queued | In the activation queue. |
| Active | active_ongoing | Attesting and proposing. |
| Exiting | active_exiting | Exit started; still active until its exit epoch. |
| Slashed (active) | active_slashed | Slashed and being forced out. |
| Exited | exited_unslashed | Left the active set. |
| Exited (slashed) | exited_slashed | Left the active set after a slashing. |
| Withdrawal Possible | withdrawal_possible | Exited and its balance can be withdrawn. |
| Withdrawn | withdrawal_done | Balance withdrawn. |
| Consolidating → CMv2 | — | A Curated v1 validator on its way into Curated v2. |
| Consolidated → CMv2 | — | A Curated v1 validator whose balance moved into Curated v2. |
Effective balance and 0x02 keys
A validator’s effective balance is the ETH the beacon chain counts for rewards, penalties and duties. It moves in whole-ETH steps and has a cap that depends on the withdrawal credentials:
- 0x01 keys (Curated v1, SimpleDVT, CSM): up to 32 ETH. Rewards above it are swept to the withdrawal address.
- 0x02 compounding keys (Curated v2): up to 2,048 ETH. Rewards and consolidated balances compound inside the validator.
The actual balance is usually a little higher than the effective balance: it also holds rewards not yet counted. Pages show Stake as the sum of effective balances. Curated v2 pages group validators by effective balance into 32, 33–512, 513–1,024, 1,025–2,047 and 2,048 ETH, and count those At 2,048 cap.
A target that would pass the cap with its pending consolidations raises Overfill risk: the excess would be withdrawn instead of compounding. A full 0x02 key holds the stake of 64 0x01 keys, so one offline 2,048 ETH key costs as much as 64 offline 32 ETH keys. Every offline key alerts as critical either way.
Epochs and slots
- Slot
- 12 seconds. One validator is chosen to propose a block in each slot; a slot with no block is a missed proposal.
- Epoch
- 32 slots, about 6.4 minutes. Every active validator attests once per epoch. Roundbeat reads the chain epoch by epoch.
- 24-hour window
- 225 epochs, about a day. Effectiveness and the health figures use it.
- Sync committee period
- 256 epochs, about 27 hours. A committee of 512 validators signs every block in the period.
Effectiveness
Attestation effectiveness: correct head, target and source votes out of all votes, over the last 225 epochs (about 24 hours). Each attestation has three votes (head, target, source), so a late or wrong vote lowers it even when the attestation landed. The pages colour it green from 98%, amber from 95% and red below, and fade it when fewer than 50 epochs of data back it. An operator with no attestation data shows “—”, never 100%.
Exit requests
Lido asks operators to exit validators through its Validator Exit Bus (VEBO), for example to fill withdrawals. Each request names one validator and starts its exit deadline. Roundbeat sends Exit request as info: a request is routine; what needs attention is a request left pending, which the deadline reminders cover.
A Curated v2 validator that exits without a request, and is not consolidating or being ejected for performance strikes, is an out-of-order exit: an incident under the Curated v2 Penalty Framework. Talk to Lido’s Curated Module Committee (the DAO body that runs the module) before exiting on your own.
Exit deadlines
Every module gives a requested validator a window to start exiting. Roundbeat reads it from the module contract for each operator. On mainnet it is 96 h, except CSM’s ICS and IDVTC bond curves (curves 2 and 3), which allow 120 h.
The window starts at the later of two moments: when the request was delivered, and when the validator became allowed to exit (256 epochs after its activation). For most validators that is the request itself. The Exit request alert names that deadline; when the window starts after the request, the alert says so.
| When | What Roundbeat sends |
|---|---|
| Request delivered | Exit request (info). |
| 48 h, 12 h, 2 h before the deadline | Exit deadline approaching (warning), only while the validator has not started exiting. |
| Deadline passed | Exit deadline passed (critical), once. |
Roundbeat checks every 5 minutes, so a reminder can arrive up to that much after its mark. What a missed deadline costs depends on the module:
- CSM and Curated v2: an exit-delay fee is recorded against the bond, and the validator can be force-exited through EIP-7002, with an EL request fee of up to 0.1 ETH. On Curated v2 the fee is 0.01 ETH per 32 ETH of balance for the PO type (bond curve 0) and 0.005 ETH per 32 ETH for the other types.
- Curated v1 and SimpleDVT: the delay can be reported on chain and the exit force-triggered through EIP-7002.
MEV and missed bids
Most proposers sell block building to builders through MEV-Boost relays. Roundbeat asks 7 relays (Flashbots, bloXroute Regulated, Ultrasound, Aestus, Titan Global, Titan Regional and Agnostic) about every block a Lido validator proposes, and puts the block in one of five classes:
relayed- A polled relay delivered this exact block. The pages show the relay badges and the MEV reward.
builder- No polled relay delivered it, but the block names a builder: it came through a relay Roundbeat does not poll. Counted with relayed blocks.
local- Built locally, without MEV-Boost: every relay answered that it did not deliver the block, and nothing names a builder. A block is also local when, at its last check, the only relays that never answered were down (timeouts or server errors, not rate limits), its fee recipient is the Lido rewards vault and its extra data is an execution client’s own stamp.
pending- A relay has not answered yet. Roundbeat keeps asking (below).
unknown- A relay still had not answered when Roundbeat stopped asking, and nothing else settles the block.
How long a block can stay pending
Roundbeat asks every relay right after the slot, again about 13 minutes later, then every hour for 24 h, until each relay has answered. A relay that answers HTTP 429 (too many requests) is left alone until its cooldown ends: 10 seconds, or longer if the relay asks for it, up to about 13 minutes. Roundbeat does not retry a 429 within the same check, so a block that waits on a busy relay stays pending until a later check. If the relay is still refusing after 24 h, the block ends unknown, never local.
Missed bids
Once a block is confirmed local, Roundbeat asks every relay for its best bid for that slot. A local block with a bid is missed MEV: the Blocks table shows it in amber as Local · N left, where N is the best bid in ETH, and the slot page lists the bids. An operator whose MEV-Boost rate is at most 10% is treated as building locally on purpose, and its MEV panel says so instead of counting missed MEV.
Roundbeat asks for the bids again each hour only while no relay has answered. Once one has, a relay that was rate-limited or down at that moment is not asked again, so the best bid shown can miss that relay’s bid.
Local in the tables
The Blocks table and an operator’s Proposals tab show every proposed block without a relay as Local, including blocks still pending, unknown, or built through a relay Roundbeat does not poll. The slot page and the operator’s MEV analysis panel show the exact class.