Skip to main content
This page lists staking-pool contract addresses and ABI links. The Staking pools overview explains how the contracts fit together.

Singleton contracts

These contracts are deployed once and shared by every pool:

Mainnet

StakingPoolContractsFactory

Berascan · ABI JSON

DelegationHandlerFactory

Berascan · ABI JSON

WithdrawalVault

Berascan · ABI JSON

Bepolia

StakingPoolContractsFactory

Berascan · ABI JSON

DelegationHandlerFactory

Berascan · ABI JSON

WithdrawalVault

Berascan · ABI JSON
Call StakingPoolContractsFactory to create and register a pool. Call DelegationHandlerFactory to deploy a per-validator handler proxy for Foundation delegation. The other rows are shared infrastructure.

Per-pool proxy contracts

deployStakingPoolContracts returns proxy addresses for your validator. You and your stakers call those proxies. Store the addresses. Give stakers the StakingPool address for deposits. Proxy contracts for each pool:
  • StakingPool: deposits, shares, and staker interactions. Stakers deposit BERA here and receive stBERA.
  • SmartOperator: validator operations and Proof of Liquidity integration.
  • IncentiveCollector: incentive token collection, conversion, and the incentive auction.
  • StakingRewardsVault: consensus-layer reward collection and compounding.
  • DelegationHandler: Foundation-delegated capital. Deployed only on the delegated path.
ABI JSON for each singleton is in the table above. For install and operator flows, see Install a staking pool and the Operator guide.