install.sh deploys and activates one staking pool from guides/apps/staking-pools/install-helpers/. Set the environment, run the script once, and read back the pool address and a receipt. The script uses Foundation-delegated funds when a DelegationHandler already exists for your validator. Otherwise it spends 10,000 BERA plus gas from your funding wallet.
What you need before you run install.sh
You need a synced validator, the helper tools, and live endpoints:- A synced Berachain validator
bash, Foundry (cast),jq, andcurl- Reachable execution-layer JSON-RPC and consensus-layer Node API endpoints. Enable the Node API. The Node API can run on any node; it doesn’t have to be on the validator.
- Self-funded: at least 10,000 BERA plus gas in the funding wallet
- Delegated: a DelegationHandler already formed and funded, plus gas (for example, 0.1 BERA) for activation
Clone install-helpers
Clone the guides repo and enter the helper directory:Set environment variables
Copyenv.sh.template to env.sh in that directory, then edit the copy. install.sh sources env.sh when the file is present.
Use
./install.sh --help for usage.
Form the handler
Skip this section on the self-funded path. On the delegated path, form the handler before you runinstall.sh. Run this from install-helpers/ on a machine with RPC access. It does not have to be the validator host:
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.
Run install.sh
The script deploys and activates one pool and doesn’t resume. Run it once per pool:staking-pool-receipts.jsonl.
Call the pool with cast for staker operations. The Operator guide covers day-two work. The example frontend is a sample UI for end users.