Skip to main content
A delegated staking pool has two phases. Form the handler first. Then run install.sh so the pool uses those funds. A DelegationHandler is the Foundation contract that holds delegated capital for your validator.

Form the handler

Run this from guides/apps/staking-pools/install-helpers/ on a machine with RPC access. It does not have to be the validator host:
The script deploys and funds the DelegationHandler, runs delegate(), and grants VALIDATOR_ADMIN_ROLE. It prompts for pubkey, delegate amount, and validator-admin address. Set VALIDATOR_PUBKEY, DELEGATE_AMOUNT_BERA, and VALIDATOR_ADMIN in env.sh to pre-fill those prompts, or pass --pubkey, --amount, and --validator-admin to skip them. The script prints each cast send (or runs it when PRIVATE_KEY is set). delegate and grantRole need DEFAULT_ADMIN_ROLE on the handler, often the Foundation Safe.

Install the pool after the handler exists

Use the same install-helpers/ directory. install.sh needs the Node API as well as execution-layer RPC:
If a formed handler with delegated funds exists for your pubkey, install.sh uses the delegated path. See Install a staking pool.

What’s next

Continue with: