How to Consolidate your validators with Siren

Category Siren

How to Consolidate your validators with Siren:

The upcoming Pectra upgrade on Mainnet will include EIP 7251: Increase MAX_EFFECTIVE_BALANCE. This feature will allow single validators to have effective balances exceeding 32 ETH, with an upper limit of 2048 ETH, enabling them to earn compounding rewards. Solo stakers will have the opportunity to send consolidation requests to the network, which will exit and redirect funds from existing validators into a target validator, or to directly deposit new validators with balances exceeding 32 ETH. With Siren, Lighthouse users already have access to newly released features that enable the new deposit types and consolidations. In this article, we will walk you through step-by-step how to set up and use Siren to take advantage of the Pectra upgrade.

Getting Siren

There are few ways to get started using Siren. These are listed in the Siren documentation but we quickly list these here for convenience.

Docker Compose (Recommended)

Siren comes with a docker compose file. First clone the repository,

git clone https://github.com/sigp/siren

Move into the directory and copy the example .env file

cd siren
cp .env.example .env

The .env file provides configuration details for Siren. The main variables of note are:

BEACON_URL=http://your-BN-ip:5052
VALIDATOR_URL=http://your-VC-ip:5062
API_TOKEN=get-it-from-'.lighthouse/<network>/validators/api-token.txt'
SESSION_PASSWORD=default-siren-password

The BEACON_URL and VALIDATOR_URL must point to each respective port. The API_TOKEN is the api_token for connecting to the validator client. By default this is stored in .lighthouse/<network>/validators/api-token.txt. Lastly, SESSION_PASSWORD is a password you can set which protects your sessions, secures key validator API endpoints, and allows you to login into the dashboard.

Once configured you can run the following command to start siren.

docker compose up -d

The port is set in the docker-compose.yml file, but default you should now be able to access siren via: https://localhost.

Docker (Also recommended)

Siren can be run provided the above .env file is created without docker compose via:

docker run --rm -ti --name siren --env-file $PWD/.env -p 443:443 sigp/siren

You should be able to access siren via

https://localhost

Building from Source

If you elect to build from source you may copy the .env.example file into a .env file and adjust the previously mentioned variables. Then you will need to ensure you have both yarn and node 18.18 installed. Navigate to the /backend folder and run yarn, yarn build, and yarn start:production to start the backend server. If your .env file is configured correctly the backend should start and return a message Application bootstrapped… . After starting the backend server navigate to the project root and run yarn, yarn build, and yarn start. This will allow you to access Siren at http://localhost:3000 by default.

Consolidating your validators

consolidation-step-1

Once Siren is connected to your Beacon Node (BN) and Validator Client (VC), log in to the dashboard using your session password. The main dashboard provides all essential validator information you'll need to monitor progress over time. To explore consolidation options, head over to the Validator Management tab and click on the Consolidate button. Completing a valid request involves three straightforward steps, Select Target, Select Sources, Sign and Submit Requests.

Selecting your target

consolidation-step-2

Your target validator will receive funds from the source validators once they’ve successfully exited. Validators using 0x00 withdrawal credentials aren’t eligible for consolidation—they must first submit a BLS Execution Change request, which you can do right in Siren’s validator modal. Validators with 0x01 credentials need to perform a self‑consolidation to upgrade to 0x02 before they can accept funds from exiting validators. This upgrade happens quickly, doesn’t require the validator to exit, and can be completed in no time.

Selecting your sources

consolidation-step-3

Once you have selected your target, you can choose from a list of source validators that will exit and send their funds to the target. Only validators that are eligible for withdrawal can be selected for consolidation. As you select source validators Siren will project the target validator's new balance. This balance must not exceed the set MAX_EFFECTIVE_BALANCE of 2048 ETH.

Submitting the request

consolidation-step-4

Sending requests to the consolidation contract requires a consolidation fee in addition to the transaction gas fee. This fee is calculated based on the number of requests already in the queue. It is wise to time your requests properly, as high traffic could result in expensive fees. During high traffic periods, your request may be pushed further back in the queue, resulting in a higher fee. Siren lets you add a buffer amount to each request to avoid submitting with insufficient consolidation fees. Once the request is submitted, Siren will display all transaction statuses and provide links to Etherscan to track each request. If successful, you will see your source validator exit soon after, and self-consolidating validators will reflect their new 0x02 credentials in the validator table.

consolidation-step-5

Consolidation Overview

Consolidating validators doesn't just reduce the resources your node requires to run, but it reduces the load on the entire Ethereum network. If you have multiple validators, we recommend consolidating as many as you can.

If you have any questions or concerns, please reach out to us on discord (In the Siren channel).

Happy Staking!