Skip to content

Commit 06d4fdd

Browse files
authored
Merge pull request #738 from lidofinance/v3-docs-health
V3 docs health
2 parents 9b3a7c4 + 03a22fb commit 06d4fdd

20 files changed

+416
-134
lines changed

run-on-lido/stvaults/building-guides/basic-stvault.md

Lines changed: 36 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -9,15 +9,15 @@ import TabItem from '@theme/TabItem';
99

1010
## Intro
1111

12-
This guide is aimed to help Node Operators, Builders, Protocols, Liquidity Providers create and operate an stVault with optional liquidity.
12+
This guide is aimed at helping Node Operators, Builders, Protocols, and Liquidity Providers create and operate an stVault with optional liquidity.
1313

1414
### Product value proposition
1515

1616
Competitive offering to native staking — users stake with the same Node Operator and get optional liquidity through stETH.
1717

1818
### The vault strategy
1919

20-
ETH is deposited to validators and generate staking rewards, stETH is minted on demand by the Vault Owner.
20+
ETH is deposited to validators and generates staking rewards; stETH is minted on demand by the Vault Owner.
2121

2222
## Environments
2323

@@ -30,11 +30,10 @@ ETH is deposited to validators and generate staking rewards, stETH is minted on
3030

3131
### Mainnet
3232

33-
:::info
34-
35-
*Coming this autumn*
36-
37-
::::
33+
- UI: https://stvaults.lido.fi/ (will be available on [Phase 2 of the Rollout plan](https://research.lido.fi/t/lido-v3-design-implementation-proposal/10665/8))
34+
- CLI: https://lidofinance.github.io/lido-staking-vault-cli/get-started/configuration
35+
- Contracts: https://docs.lido.fi/deployed-contracts/
36+
- Etherscan: https://etherscan.io/
3837

3938
## Steps
4039

@@ -51,15 +50,15 @@ Creating an stVault is permissionless. There are two main ways to do it:
5150
2. **Node Operator Manager address**. One of the two administrative roles in an stVault. From the Node Operator perspective, this role manages permissions and can update key vault parameters. Multiple addresses are supported.
5251
3. **Vault Owner address**. One of the two administrative roles in an stVault. From the Vault Owner (Staker) perspective, this role manages permissions and can update key vault parameters. Multiple addresses are supported.
5352
4. **Node Operator Fee**. The share of gross staking rewards that the Node Operator charges for providing validation services. Expressed in basis points [0 (0%) .. 10'000 (100%)].
54-
5. **Confirmation Lifetime**. The key parameter of the multi-role confirmation mechanism. It defines the maximum time interval between proposal and confirmation. This mechanism is used to update certain stVault parameters by requiring consensus between the two stVault representatives: the Vault Owner and the Node Operator Manager. Measured in seconds [86'400 sec (24 hours) .. 25'920'000 sec (30 days)]. For security reasons, it is strongly recommended to keep it as sort as possible, ideally the minimal 86'400 sec.
53+
5. **Confirmation Lifetime**. The key parameter of the multi-role confirmation mechanism. It defines the maximum time interval between proposal and confirmation. This mechanism is used to update certain stVault parameters by requiring consensus between the two stVault representatives: the Vault Owner and the Node Operator Manager. Measured in seconds [86,400 sec (24 hours) .. 25,920,000 sec (30 days)]. For security reasons, it is strongly recommended to keep it as short as possible, ideally the minimum 86,400 sec.
5554

5655
#### 1. Two-step process (recommended)
5756

5857
This approach enables a Node Operator to create an stVault without providing their own ETH. It is recommended because it prevents ETH commingling and streamlines the experience for Stakers and Vault Owners.
5958

6059
##### 1.1. **Node Operator** creates an stVault that is not yet connected to Lido Core.
6160

62-
Creating stVault is a permissionless operation, but in this 2-steps process it is usually performed by the Node Operator.
61+
Creating an stVault is a permissionless operation, but in this two-step process it is usually performed by the Node Operator.
6362

6463
<details>
6564
<summary>by Command-line Interface</summary>
@@ -125,14 +124,20 @@ This is a permissioned operation. By default, this permission belongs to the Vau
125124
- `currentSettledGrowth` the amount of unaccounted growth accrued on the vault while it was disconnected. 0 for newly created vaults via create without connecting method. Settled growth is the part of the total growth that has already been charged by the node operator or is not subject to fee (exempted), such as unguaranteed or side deposits, and consolidations accrued while the vault was disconnected.
126125

127126

128-
129127
<details>
130128
<summary>using stVaults Web UI</summary>
129+
1. Open the stVaults mainpage (see [#Environments](#environments))
130+
131+
2. Connect wallet on the "My Vaults" page.
131132

132-
*Will be supported later this Autumn*
133+
3. Open an stVault overview page by the URL ```https://<domain>/vaults/<StakingVault_address>```
134+
135+
![Connect and accept tier](/img/stvaults/guide-basic-stvault/guide_1_scr_8.png)
133136

134-
</details>
137+
4. Review parameters and click "Approve and supply 1 ETH".
135138

139+
5. Sign transaction in the wallet.
140+
</details>
136141
<details>
137142
<summary>by Command-line Interface</summary>
138143
```bash
@@ -159,13 +164,16 @@ This is a permissioned operation. By default, this permission belongs to the Vau
159164

160165
#### 2. One-step process (for experienced Vault Owners / Stakers)
161166

162-
In this approach, the Vault Owner creates an stVault that automatically connects to Lido Core, enabling stETH minting. This requires supplying 1 ETH, which will be locked as collateral for the connection to Lido Core. All completed in a single transaction, so despite it is a permissionless operation, it is usually performed by the Vault Owner of the future stVault.
167+
In this approach, the Vault Owner creates an stVault that automatically connects to Lido Core, enabling stETH minting. This requires supplying 1 ETH, which will be locked as collateral for the connection to Lido Core. All completed in a single transaction, so despite being a permissionless operation, it is usually performed by the Vault Owner of the future stVault.
163168

164169
<details>
165170
<summary>using stVaults Web UI</summary>
166171
1. Open the stVaults mainpage (see [#Environments](#environments))
167172
2. Connect wallet on the "My Vaults" page.
168173
3. Click "Create vault".
174+
175+
![Create vault](/img/stvaults/guide-basic-stvault/guide_1_scr_9.png)
176+
169177
4. Fill out the form and click "Continue".
170178
5. Sign transaction in the wallet.
171179
</details>
@@ -198,10 +206,10 @@ Tier changes are performed via a multi-role confirmation mechanism, where the No
198206

199207
Both parties must submit the request with identical parameters within the confirmation lifetime of 24 hours for the change to take effect.
200208

201-
Addresses perform this operation must have the following roles ([Read more about roles](../roles-and-permissions)):
209+
Addresses performing this operation must have the following roles ([Read more about roles](../roles-and-permissions)):
202210

203-
- From the Vault Owner: Vault Owner (Admin DEFAULT_ADMIN_ROLE, or delegated VAULT_CONFIGURATION_ROLE].
204-
- From the Node Operator: Node Operator (registered in the`OperatorGrid` contract).
211+
- From the Vault Owner: Vault Owner (Admin DEFAULT_ADMIN_ROLE, or delegated VAULT_CONFIGURATION_ROLE).
212+
- From the Node Operator: Node Operator (registered in the `OperatorGrid` contract).
205213

206214
:::info
207215
Confirming tier change request requires applying fresh report to vault.
@@ -256,7 +264,7 @@ Confirming tier change request requires applying fresh report to vault.
256264
<details>
257265
<summary>using Etherscan UI</summary>
258266

259-
The Node Operator and Vault Owner use same-named metods in different contracts to perform this change.
267+
The Node Operator and Vault Owner use same-named methods in different contracts to perform this change.
260268

261269
**Node Operator:**
262270
1. Open **Etherscan** and navigate to the **Operator Grid** contract by its address (available in the stVaults contract addresses list, see [#Environments](#environments)).
@@ -410,6 +418,13 @@ Supplying ETH to the stVault increases its balance. The Node Operator can then d
410418

411419
**The Predeposit Guarantee (PDG)** contract, as part of the stVaults platform, helps prevent deposit frontrunning caused by the vulnerabilities described in [LIP-5](https://research.lido.fi/t/lip-5-mitigations-for-deposit-front-running-vulnerability/1269). PDG secures the Vault Owner’s ETH deposits to validators from being front-run by the Node Operator.
412420

421+
:::warning
422+
According to the [updated V3 rollout plan](https://research.lido.fi/t/lido-v3-design-implementation-proposal/10665/8), the Predeposit Guarantee (PDG) contract is now paused on the Hoodi Testnet and will also be paused on Mainnet during the soft-launch in late December 2025.
423+
424+
Phase 2 (Full Launch Mode), including the fully functional PDG, is expected in late January 2026.
425+
:::
426+
427+
413428
One of the key benefits of using PDG is the avoidance of commingling: it keeps the finances of the Vault Owner and the Node Operator strictly separated.
414429

415430
PDG enables three main use cases:
@@ -444,13 +459,13 @@ The amount of ETH required for rebalancing to bring the Utilization Ratio to 100
444459
<details>
445460
<summary>by Formula</summary>
446461

447-
ETH for rebalance = stETH Liability - (1 - Reserve Ratio * Total Value ) / Reserve Ratio
462+
ETH for rebalance = (stETH Liability (1 Reserve Ratio) × Total Value) / Reserve Ratio
448463

449464
</details>
450465
<details>
451466
<summary>by Command-line Interface</summary>
452467

453-
*Will be supported later on testnet-3*
468+
See the [CLI documentation](https://lidofinance.github.io/lido-staking-vault-cli/) for rebalance commands.
454469

455470
</details>
456471
<details>
@@ -470,5 +485,7 @@ The amount of ETH required for rebalancing to bring the Utilization Ratio to 100
470485

471486
## Useful links
472487

488+
- [Health Monitoring Guide](../health-monitoring-guide.md)
489+
- [Health Emergency Guide](../health-emergency-guide.md)
473490
- [stVaults Roles](../roles-and-permissions)
474491
- [stVaults Metrics](../parameters-and-metrics)

run-on-lido/stvaults/consolidation.md

Lines changed: 10 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -17,10 +17,10 @@ Use [these instructions](https://lidofinance.github.io/lido-staking-vault-cli/)
1717
- Set `NODE_OPERATOR_REWARDS_ADJUST_ROLE` to the address of your original validator's withdrawal credentials:
1818
- CLI
1919
- `yarn start dashboard -w role-grant [{"account": <withdrawal_credentials>, "role": <node_operator_role_in_hex>}]`
20-
- StVault UI
21-
- go to `https://stvaults-hoodi.testnet.fi/vaults/<vault_address>/settings/permissions`. **TODO: update links to mainnet.**
22-
- navigate to "Node Operator Manager Permissions" section, "Adjust rewards on the validators" item.
23-
- add the address of your original validator's withdrawal credentials.
20+
- stVault UI
21+
- Go to `https://stvaults.lido.fi/vaults/<vault_address>/settings/permissions`.
22+
- Navigate to the "Node Operator Manager Permissions" section, "Adjust rewards on the validators" item.
23+
- Add the address of your original validator's withdrawal credentials.
2424
- Source validators
2525
- withdrawal credentials must be `0x01` or `0x02` (`0x00` is not supported).
2626
- must be active (i.e., not exiting or slashed).
@@ -29,13 +29,13 @@ Use [these instructions](https://lidofinance.github.io/lido-staking-vault-cli/)
2929
- must have a withdrawal credentials of type `0x02` equal to stVault's `withdrawalCredentials()` function result.
3030
- must be active (i.e., not exiting or slashed).
3131

32-
> **Note:** You can check a validators credentials or state at [Beaconcha](https://beaconcha.in/validator/<pubkey>).
32+
> **Note:** You can check a validator's credentials or state at [beaconcha.in](https://beaconcha.in/validator/<pubkey>).
3333
3434
## 3. Prepare input data
3535

3636
- A list of source pubkeys of validators that you want to consolidate from.
3737
- A list of target pubkeys of validators that you want to consolidate to.
38-
- Dashboard contract's address used to control the stVault [can be discovered via CLI](https://lidofinance.github.io/lido-staking-vault-cli/get-started/additional-helpers#find-dashboard-by-vault).
38+
- The Dashboard contract address used to control the stVault [can be discovered via CLI](https://lidofinance.github.io/lido-staking-vault-cli/get-started/additional-helpers#find-dashboard-by-vault).
3939
- To cover the consolidation fee costs, you'll need some amount of ETH. The exact amount depends on the number of public keys and the current state of the blockchain. You can determine the fee for a single consolidation request by calling the view function `getConsolidationRequestFee` on the `ValidatorConsolidationRequests` contract. The total amount required will be calculated as the number of consolidations multiplied by the fee per request.
4040

4141
## 4. Run consolidation command
@@ -66,7 +66,6 @@ yarn start consolidation w <dashboard> --file <path-to-json-with-pubkeys> --wall
6666
- If your wallet does not support `EIP-5792`, the consolidation request will be executed using the `eth_sendTransaction` method, processing the transaction calls one by one instead of in a batch.
6767

6868
> **Note:** Alternatively, you can list pubkeys directly in the command as parameters:
69-
> If you prefer it's possible to list pubkeys in command as parameters:
7069
7170
```bash
7271
yarn start consolidation w <dashboard> \
@@ -81,11 +80,11 @@ yarn start consolidation w <dashboard> \
8180

8281
Consolidation request transactions may succeed on the execution layer but fail on the consensus layer.
8382

84-
- Navigate to: `https://hoodi.beaconcha.in/validator/<pubkey>#consolidations`. **TODO: update links to mainnet.**
83+
- Navigate to: `https://beaconcha.in/validator/<pubkey>#consolidations`.
8584
- Check the consolidation request status for each validator you consolidated to.
8685

8786
### 5.2 Revoke NODE_OPERATOR_REWARDS_ADJUST_ROLE role
8887

89-
- go to `https://stvaults-hoodi.testnet.fi/vaults/<vault_address>/settings`. **TODO: update links to mainnet.**
90-
- navigate to "Node Operator Manager Permissions" section, "Adjust rewards on the validators" item.
91-
- remove withdrawal credentials address.
88+
- Go to `https://stvaults.lido.fi/vaults/<vault_address>/settings`.
89+
- Navigate to the "Node Operator Manager Permissions" section, "Adjust rewards on the validators" item.
90+
- Remove the withdrawal credentials address.

0 commit comments

Comments
 (0)