Contract addresses
Singleton contracts
Singleton contracts are deployed once and shared across all staking pools. The StakingPoolContractsFactory is the entry point for deploying a staking pool: you call it to create and register your pool’s contracts. The other singletons below are shared infrastructure.Mainnet
| Name | Address | ABI |
|---|---|---|
| StakingPoolContractsFactory | 0xb79b43dBA821Cb67751276Ce050fF4111445fB99 | ABI JSON |
| WithdrawalVault | 0xE858802Ed532C6DAD2D196AB5B1F2C15F9cb52b4 | ABI JSON |
Bepolia
| Name | Address | ABI |
|---|---|---|
| StakingPoolContractsFactory | 0x176c081E95C82CA68DEa20CA419C7506Aa063C24 | ABI JSON |
| WithdrawalVault | 0xAFAc2f11Cb39F0521b22494F6101002ce653D2f4 | ABI JSON |
Deployed contracts (per pool)
When you deploy a staking pool through the StakingPoolContractsFactory, the factory creates proxy contracts for your validator. These proxy contracts are what you and your stakers interact with directly. Each validator receives unique proxy addresses for these contracts when deploying their staking pool. The factory returns these proxy addresses when you calldeployStakingPoolContracts. Store these addresses for your operations and provide the StakingPool address to your stakers for deposits.
Proxy contracts deployed with your pool:
- StakingPool: Main staking functionality and staker interactions. This is the contract address your stakers use to deposit BERA and receive stBERA shares.
- SmartOperator: Validator operations and Proof of Liquidity integration. Use this contract to manage BGT operations, commission rates, reward allocations, and protocol fees.
- IncentiveCollector: Incentive token collection and conversion. Handles the incentive auction mechanism where accumulated tokens can be claimed.
- StakingRewardsVault: Reward collection and automatic reinvestment. Automatically compounds rewards from the consensus layer.
- DelegationHandler: Delegation handling for capital providers. Only deployed if you’re using delegated funds from the Berachain Foundation.