Consolidate Validators
The Operator Service supports consolidation of legacy 0x01 validators to 0x02 compound validators using the consolidate command, enabling variable validator balances up to 2048 ETH.
This reduces the validator count and infrastructure overhead by merging multiple 32 ETH validators into fewer, higher-balance validators.
Validators Manager Required
The wallet executing this command must be set as the Validators Manager → in the Vault settings. If the Validators Manager is set to the wallet address of the Relayer, you have to add the --relayer-endpoint parameter.
You can either specify --source-public-keys (0x01 or 0x02 validators) and --target-public-key (0x02 validators) parameters to consolidate specific validators, or run without these parameters for automatic consolidation. By default, the following logic applies:
- If there are no
0x02validators, take the oldest0x01validator and convert it to0x02with confirmation prompt - If there is a
0x02validator, take the oldest0x01validators and top up the0x02validator balance to 2048 ETH / 64 GNO with confirmation prompt
# Automatic consolidation
./operator consolidate --vault=0x000...
# Manual consolidation with specific keys
./operator consolidate --vault=0x000... --source-public-keys=0x001,0x002 --target-public-key=0x003
Usage
Optional Flags
--max-validator-balance-gwei- Maximum balance for a single validator in Gwei (default: 1945000000000 Gwei for Ethereum, 1800000000000 Gwei for Gnosis). You can override this value to set a custom maximum balance.--max-consolidation-request-fee-gwei- Maximum fee (in Gwei) for submitting a consolidation request per validator (default: 1000 Gwei). You can override this value to set a custom maximum fee.
Consolidate Specific Validators
./operator consolidate \
--vault=0x000... \
--source-public-keys=0x001,0x002 \
--target-public-key=0x003
Consolidate Using File
For managing multiple validators, use a file containing public keys (one per line):
./operator consolidate \
--vault=0x000... \
--source-public-keys-file=public_keys.txt \
--target-public-key=0x003
File format: list each public key on a separate line. Both 0x-prefixed and non-prefixed forms are accepted.
Convert 0x01 to 0x02 (Same Key)
To convert validators while keeping the same public key:
./operator consolidate \
--vault=0x000... \
--source-public-keys=0x001 \
--target-public-key=0x001
Exclude Specific Validators Using File
./operator consolidate \
--vault=0x000... \
--exclude-public-keys-file=exclude_public_keys.txt
File format: list each public key on a separate line. Both 0x-prefixed and non-prefixed forms are accepted.
Example Output
Enter the comma separated list of API endpoints for execution nodes: : https://execution-node
Enter the comma separated list of API endpoints for consensus nodes: https://consensus-node
Enter your vault address: 0x3320ad928c20187602a2b2c04eeaa813fa899468
Consolidating 2 validators:
0x001 -> 0x003
0x002 -> 0x003
Proceed consolidation? [Y/n]: y
Fetched signatures for validator consolidation: Received 11 out of 11 approvals
Submitting consolidate validators transaction
Waiting for transaction 0x00000... confirmation
Validators has been successfully consolidated
Important Notes
The --target-public-key must be a compounding (0x02) validator,
except when converting a legacy 0x01 validator to 0x02 using the same key.
The consolidation process requires Oracle signatures in case of switching from 0x01 to 0x02, which are automatically fetched during the operation.