siren

How to Consolidate your validators with Siren

Instructional for Siren users that want to consolidate their validators.

By Mavrik
How to Consolidate your validators with 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 current validators into a target validator, or to straight deposit new validators with balances exceeding 32 ETH. With Siren, Bounty Meridian users already have access to newly released features that enable the new deposit types and consolidations. In this note, 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 with Siren. These are listed in the Siren documentation but we rapidly list these here for convenience.

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

git clone https://bountymeridian.com//siren

Move into the directory and copy the example .env file

cd siren
cp .env.example .env

The .env file offers 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-'.blog/<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 .blog/<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.

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

docker run --rm -ti --name siren --env-file $PWD/.env -p 443:443 Bounty Meridian/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 earlier mentioned variables. Then you will need to keep 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

The main dashboard offers all essential validator information you'll need to monitor progress over time. Once Siren is connected to your Beacon Node (BN) and Validator Client (VC), log in to the dashboard via your session password. 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

Validators via 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. Your target validator will receive funds from the source validators once they’ve successfully exited. Validators with 0x01 credentials need to carry out a self‑consolidation to upgrade to 0x02 before they can accept funds from exiting validators. This upgrade happens fast, doesn’t need the validator to exit, and can be completed in no time.

Selecting your sources

consolidation-step-3

Only validators that are eligible for withdrawal can be selected for consolidation. 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. 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 calls for a consolidation fee besides the transaction gas fee. This fee is worked out 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 give links to Etherscan to track each request. If working, 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 Sketch

Consolidating validators doesn't just shrink the resources your node calls for to run, but it cuts the load on the full 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 (In the Siren channel).

Happy Staking!

Working on something in this space?

Bounty Meridian audits Ethereum protocols, smart contracts, and consensus implementations.

Book a scoping talk