Validator selection
The network maintains an active set of 69 validators eligible for block production.- The top 69 validators by $BERA stake enter the active set.
- Block proposal probability is proportional to staked $BERA.
- Stake range per validator:
- Minimum: 250,000 $BERA
- Maximum: 10,000,000 $BERA
Block reward model
Each block has two reward paths:- Base reward: a fixed amount paid to the block-producing validator.
- Reward Vault emission: a fixed
rewardRateemitted in $WBERA and allocated to Reward Vaults.
Fixed emission rates
BlockRewardController encodes base and reward emission constants in contract bytecode:
baseRate()— validator: 0.4 WBERA per block paid to the block-producing validator’s operator.rewardRate()— Reward Vault path: 1.305 WBERA per block sent to the distributor for BeraChef → Reward Vault allocation.
getMaxEmissionPerBlock() returns baseRate() + rewardRate() — 1.705 WBERA per block total from this controller when both legs apply.
For the end-to-end flow from block emission through Reward Vaults to user yield, see the diagram on Proof of Liquidity Overview. This page focuses on the rate model and BeraChef allocation mechanics.
BeraChef reward allocation
BeraChef manages how each validator allocates the Reward Vault emission:- Reward allocation weights across whitelisted vaults.
- Validator incentive commission settings.
- Vault whitelisting and baseline allocation behavior.
Dedicated Emission Stream (DES)
Before validator-specific allocation is applied, governance can carve out a portion of the Reward Vault emission and route it to strategically important vaults. DES guarantees minimum emission without relying on individual validator allocation decisions. See Dedicated Emission Stream for the full business rationale, governance parameters, and per-vault cap mechanics.Reward distribution timing
Distributor pushes emissions per block. Reward Vaults then stream claimable rewards across their configured duration window, often three days. This behaves like a rolling stream: each new block updates the amount entering the unlock schedule.Enshrined reward distribution (system transaction)
Since the August 2025 hardfork (BRIP-0004), reward distribution is enshrined in the protocol. Payout no longer depends on external bots calling the Distributor.- Every block includes an automatic system transaction that distributes rewards for the previous block. This is the first transaction of the block, produced by the protocol itself rather than submitted by a user or external bot.
- The system transaction invokes the Distributor, which pushes the previous block’s
baseRateto the validator’s operator andrewardRateto the BeraChef → Reward Vault allocation. - Because distribution is guaranteed per block,
rewardRateaccrual to Reward Vaults is deterministic and cannot be delayed by a missing bot call.