Reward Vaults are the PoL contracts where users stake eligible receipt tokens and earn allocated $WBERA rewards. Reward Vaults can receive emissions through validator allocation and, where applicable, Dedicated Emission Streams. Businesses and protocols attach incentive tokens to Reward Vaults to attract validator allocation. When a Reward Vault with active incentives receives emissions, those incentives are split between validator commission and the remaining incentives, which are converted through the Incentive Auction and accrued into $sWBERA. Reward Vaults are key infrastructure for businesses and protocols to access PoL. A business or protocol can operate multiple vaults, each with its own PoL-eligible receipt asset — for example, separate BEX pools can each have their own Reward Vault.Documentation Index
Fetch the complete documentation index at: https://berachain-422fce37-fix-pol-diagrams.mintlify.app/llms.txt
Use this file to discover all available pages before exploring further.
Only governance-whitelisted Reward Vaults can receive PoL emissions. Depending on the route, emissions may be allocated through validator reward allocation or through Dedicated Emission Streams.See Reward Vault Requirements and Guidelines for whitelisting requirements.For staking on behalf of another address, see Delegation.
Staking with a reward vault
To earn allocated $WBERA from a Reward Vault, a user stakes the PoL-eligible asset in that vault. The protocol that deployed the vault decides how users obtain the receipt token to stake—typically by providing liquidity.- The user takes an action that yields a PoL-eligible receipt token.
- The user stakes that token in the corresponding Reward Vault.
- The user earns a pro-rata share of $WBERA streamed to the vault, based on emission timing and vault rules.
- The user’s share of total assets staked in the vault.
- The $WBERA emission rate and timing for that vault (see block rewards and emission modes below).
The RewardVaultHelper is an optional UX component
that converts $WBERA claims atomically into $sWBERA or native $BERA. Direct vault claims still
pay $WBERA.
- The user provides liquidity to the protocol or performs another PoL-eligible action.
- The protocol issues the user a PoL-eligible receipt token.
- The user stakes the receipt token in the corresponding Reward Vault.
- The protocol funds the Reward Vault with incentive tokens to attract validator allocation.
- An active validator produces a block and the Distributor receives the per-block emission.
- The Distributor sends the $WBERA Reward Vault emission to the vault.
- The user claims rewards as $sWBERA or native $BERA through RewardVaultHelper.
- The Reward Vault pays validator commission out of the funded incentive tokens.
- The Reward Vault redirects the remaining incentive tokens to the Incentive Auction, where they are converted into $BERA / $WBERA yield and accrued into $sWBERA.
Staking on behalf of another address
The RewardVault supports delegation: one address (the delegate) can stake on behalf of another (the account). Common patterns include:- Custodial staking: exchanges or custodians staking on behalf of users.
- Smart contract integration: protocols that stake user funds automatically.
- Managed staking services: third parties operating staking on behalf of accounts.
- Delegate: address that deposits and withdraws delegated stake (
msg.senderfor those actions). - Account: address that owns the position and receives rewards.
- Self-staked balance: stake deposited directly by the account.
- Delegated balance: stake deposited by delegates for that account.
WBERA emission timing modes
Reward Vaults operate in one of two mutually exclusive modes for WBERA reward distribution timing (streamed rewards).Duration-based mode
In this mode, therewardDurationManager sets a fixed rewardsDuration (typically 3–7 days). Each time $WBERA rewards are added to the vault via notifyRewardAmount, the $WBERA is distributed evenly over that period.
Duration-based mode enforces the 3–7 day range: if you switch from target-rate mode where the computed duration exceeded 7 days, the duration is capped at 7 days.
Example: If 100 $WBERA is added with a 5-day duration, the vault distributes 20 $WBERA per day to stakers.
Target rate mode
WhentargetRewardsPerSecond is set to a non-zero value, the vault computes the distribution period for each $WBERA deposit. The vault keeps the effective emission rate from exceeding the target while respecting the minimum duration limit.
Switching between modes
The Reward Vault manager can switch between modes:- Set a positive target rate to keep WBERA streaming at that rate.
- Set the target rate to zero to return to duration-based distribution.
Incentive management
Reward Vaults support incentive tokens: additional tokens protocols attach so validators have a reason to allocate $WBERA emissions toward the vault.How incentive tokens work
- Whitelisting: incentive tokens are allowed through governance for the vault (see Incentive Marketplace).
- Rate setting: token managers set incentive rates per unit of allocated emission (
incentiveTokens = emissionAllocatedToVault * incentiveRate). - Deposits: protocols fund incentive inventory into the vault system through the token manager flow.
- Distribution: as $WBERA emissions are allocated to the vault, funded incentive tokens follow the PoL split: validator commission to the validator operator and redirected incentives to the incentive tokens collector for auction settlement.
Incentives
To see why validators allocate $WBERA toward one vault over another, read Incentive Marketplace: protocols compete for validator reward allocation with funded incentives, validator commission, and auction-settled yield.Vault creation
New Reward Vaults can be created permissionlessly at Berachain Hub. Protocols must still whitelist new vaults through governance for validator-allocated $WBERA emissions; see Reward Vault Guidelines.Calculating WBERA APR
Reward Vault APR depends on several observable inputs:- Vault
rewardRate— $WBERA credited toward stakers’ claims per second (while active). periodFinish— timestamp when the current vault reward period ends.stakeToken— token staked into the Reward Vault.totalSupply— totalstakeTokenamount staked in the vault.- Price of $WBERA (equivalent to $BERA) in USD.
- Price of the stake token.
If
periodFinish has passed, no rewards are being emitted for that period and vault APR from
that stream is 0% until new rewards are notified.Example
| Parameter | Value | Normalized |
|---|---|---|
| Vault reward rate | 272490527103681170793308992914391673 | 0.27249052710368116 |
| Price of $WBERA | $7.8 | $7.8 |
| Total supply | 598626940947001140289 | 598.6269409470011 |
| Price of stake token | $223,845.58 | $223,845.58 |
| Seconds per year | 31,536,000 | 31,536,000 |