Vault metrics
The numbers that tell you whether a vault is in good shape, where to find them, and what each reading should prompt you to do. For the push side of monitoring (alerts on threshold breaches), see Subscribe to webhooks.
This guide assumes you're familiar with what each metric means: for the formulas and definitions, see Vault health.
Some metrics need a fresh oracle report. Total Value, Health Factor, stETH minted, APR history, carry spread, accrued fee, andfeesToSettleare all derived from the latest oracle report. If the report is stale, the numbers lag real on-chain state. Write flows (deposit / mint / burn / rebalance) prompt an Update report transaction automatically; for read-only monitoring, refresh the report explicitly. Concept: Staking vaults → Periodic updates.
At a glance: the Vaults list
The Vaults page is the home view for monitoring. Each row condenses a vault into six columns:
| Column | What it shows |
|---|---|
| Vault name + address | Identity |
| Vault Health | Status badge: Healthy / Warning / At risk / Disconnected / Disconnecting. Derived from the health factor (and vault-hub connection status): see thresholds below. |
| Health factor | The current percentage. The single most important number on this row. |
| Total value | The vault's total assets, in ETH (with USD sub-line). |
| stETH minted | The vault's outstanding stETH liability. |
| Operator | The node operator running validators for this vault. |
Health badge thresholds
The badge is computed from the health factor with these bands:
| Range | Badge | What it means |
|---|---|---|
| HF ≥ 125% | Healthy (green) | Comfortable buffer; routine operations are safe. |
| 100% ≤ HF < 125% | Warning (yellow) | Margin is thin. Avoid new mints; consider burning or adding ETH. |
| HF < 100% | At risk (red) | Below the forced-rebalance threshold. The vault is eligible to be force-rebalanced by anyone. Act now: see Rebalance a vault. |
Vault hub connection ≠ connected | Disconnected / Disconnecting (grey / amber) | Health factor not applicable. Only voluntary disconnect, withdrawal, and reconnect operations are allowed. |
to scan vault health in the UI: open the Vaults page. Sort by Health factor ascending to surface anything close to the warning band first.
</>to scan vault health via the API: list vaults withlistLidoStakingContractsfor identities, then fetch per-vault detail withgetLidoStakingContracts:healthFactorandvaultDataare on the detail response.
Per-vault detail: the vault page
Clicking a row opens the vault detail page, which adds two reading-only signals worth checking regularly: APR and the obligations breakdown.
Net APR and carry spread
Two related performance metrics, both 7-day moving averages:
- Net APR: estimated yearly return after node-operator fee and Lido protocol fee, not adjusted for stETH rebase cost. The headline yield.
- Carry spread: the yield delta versus the stETH benchmark. Positive carry means the vault is outperforming a stETH position; negative carry means it's underperforming and the liability is rebasing faster than the vault earns.
Both surface as N/A on newly created vaults until enough oracle history exists (typically a few days).
to read APR and carry spread in the UI: the Net APR card on the vault detail page shows both, with a tooltip explaining the methodology.
</>to read APR and carry spread via the API: seegetLidoStakingContracts. The response includes anaprobject withhistory(up to 7 oracle-report pairs) and averagednetAPR/carrySpreadAPRvalues across the window.
Fees and obligations
The vault detail page also surfaces what the vault owes:
- Accrued fee (
vaultData.accruedFee): node-operator fees accumulated against the vault, claimable viadisburse-fee. - Fees to settle (
vaultData.obligations.feesToSettle): outstanding Lido protocol fees owed to the treasury, settled viasettle-lido-fees.
Both are a silent drag on Total Value at report time. Settle them on a recurring schedule rather than letting them accumulate: see Settle and disburse fees.
Reserve ratio and minting capacity
- Reserve ratio (
reserveRatioBP): the share of the vault's value the protocol holds back as reserve. Sets the upper bound on how much stETH the vault can mint. - Remaining minting capacity (
vaultData.remainingMintingCapacityStETH): how much more stETH the vault could mint right now. Watching this trend is a leading indicator: if it shrinks while you're not minting, validators are underperforming and Total Value is drifting down.
What each reading should tell you to do
A quick lookup of "I see X: what do I do?":
| Reading | What to do |
|---|---|
| Health Factor ≥ 125% | Nothing: routine operations are safe. |
| Health Factor 100–125% | Don't mint more. Consider burning stETH or topping up the vault to rebuild the buffer. |
| Health Factor < 100% | Rebalance the vault yourself: same on-chain action as a forced rebalance, but you pick the timing. |
| Carry spread negative for several reports in a row | Validator performance is below the stETH benchmark. Check the Validators tab for slashed or under-performing validators. |
| Net APR drops sharply | A validator was slashed, exited unexpectedly, or fees jumped. Cross-reference with the Validators tab. |
Accrued fee or feesToSettle is large | Settle / disburse now: see Settle and disburse fees. |
Vault Hub connection = Disconnecting or Disconnected | Most write operations are blocked. Either complete the disconnect intentionally or reconnect to the vault hub. |
Automated monitoring
The metrics above are pull-shaped: you (or your client) ask, the API returns. For push-shaped alerts when a threshold is crossed, use webhooks. See Subscribe to webhooks for the setup.
A reasonable monitoring loop:
- Subscribe to vault-health webhook events for push alerts on threshold crossings.
- Run a recurring pull (every few minutes) against
getLidoStakingContractsfor each vault you own, and checkhealthFactor,apr.averagedCarrySpreadAPR, andvaultData.obligations. - Alert your team when the values cross your own internal thresholds: typically tighter than the protocol's 100% floor (e.g. alert at 115%, act by 110%).
Related
- Vault health: the metric definitions and formulas
- Quarantine: why a value increase may not land in Total Value immediately
- Rebalance a vault: recovery when the health factor drops
- Settle and disburse fees: clearing accrued fees and obligations
- Subscribe to webhooks: push-side monitoring
- Health monitoring guide (Lido docs): canonical metric reference
Updated about 4 hours ago
