Staking Nodes
Your Vault is created but not yet operational. You need to set up the following node infrastructure before installing the Operator Service.
Automated Node Setup Available
A new experimental feature allows the Operator Service to automatically set up execution and consensus clients (Reth and Lighthouse). See Automated Node Setup for details.
Execution Client
Your execution node must be fully synced and running. Any client that supports the ETH Execution API specification ↗ can be used:
- Nethermind ↗ — (Ethereum, Gnosis)
- Besu ↗ — (Ethereum)
- Erigon ↗ — (Ethereum, Gnosis)
- Geth ↗ — (Ethereum)
- Reth ↗ — (Ethereum)
Event log retention
The Operator Service reads event logs from the execution client. How much history your node must keep depends on which of two modes you run it in:
- Pruned mode — keeps event logs from a recent network checkpoint onward. Core Operator Service functionality works in this mode.
- Full mode — keeps event logs from the Keeper contract genesis block onward. Required for the secondary commands that scan the full event history:
recover,validators-exit, andconsolidate.
Retain receipts and logs from at least the following blocks:
| Network | Pruned mode | Full mode (Keeper genesis block) |
|---|---|---|
| Ethereum | 25,900,000 | 18,470,089 |
| Hoodi | 3,580,000 | 94,074 |
| Gnosis | 48,100,000 | 34,778,552 |
Any block at or below the value in the table works. The pruned-mode values are rounded down from the actual checkpoint to leave a safety margin.
Operator Service version
Pruned mode requires Operator Service v5.1.1 or later. Earlier versions need full mode.
Configure pruning
- Nethermind
- Erigon
- Reth
The barrier flags set the first block whose bodies and receipts are kept, and --History.Pruning=UseAncientBarriers removes older history from an already synced node:
# Ethereum Mainnet, pruned mode
nethermind --Sync.AncientBodiesBarrier=25900000 \
--Sync.AncientReceiptsBarrier=25900000 \
--History.Pruning=UseAncientBarriers
# Ethereum Mainnet, full mode
nethermind --Sync.AncientBodiesBarrier=18470089 \
--Sync.AncientReceiptsBarrier=18470089 \
--History.Pruning=UseAncientBarriers
Erigon does not support pruning from a fixed block. It only keeps a rolling window of the latest N blocks:
# Keep the latest N blocks
erigon --prune.mode=full --prune.distance=N --prune.distance.blocks=N
Set N to at least the current block minus the block for your mode from the table above. The window moves forward as the chain grows, so in full mode increase N over time, or run Erigon without history pruning.
Add the following options to Reth command:
# Ethereum Mainnet, pruned mode
--prune.bodies.before=25900000 --prune.receipts.before=25900000
# Ethereum Mainnet, full mode
--prune.bodies.before=18470089 --prune.receipts.before=18470089
For other networks, use the block for your mode from the table above.
Consensus Client
Your consensus node must be fully synced and running. Any client that supports the ETH Beacon Node API specification ↗ can be used:
- Lighthouse ↗ — (Ethereum, Gnosis)
- Nimbus ↗ — (Ethereum, Gnosis)
- Prysm ↗ — (Ethereum)
- Teku ↗ — (Ethereum, Gnosis)
- Lodestar ↗ — (Ethereum, Gnosis)
Validator Client
Set the suggested-fee-recipient flag in your validator client to the correct fee recipient address.
This is the Block reward recipient shown in the Details section at the bottom of your Vault page.
An incorrect value will result in penalties for your Vault in the Smoothing Pool and will trigger a warning on the Vault page, alerting users to an invalid validator setup.
MEV-Boost
Set up MEV-Boost ↗ to capture execution layer rewards. MEV-Boost is open source middleware that connects your validator to a network of block builders competing to produce the most profitable block, maximizing your Vault's execution-layer revenue.
If your Vault uses the Smoothing Pool, you must use one of the StakeWise DAO-approved MEV relays.