Proof of Liquidity Overview
Berachain's Proof of Liquidity (PoL) mechanism can be broken down into two broad categories:
- BGT Distribution: How $BGT is created from the block production process
- Incentive Marketplace: How protocols compete for validator $BGT allocations by issuing incentives
The below diagram shows the relationship between the main PoL contracts and how they interact.
1. BGT Distribution
As discussed in Block Production, $BGT emissions stem from the block production process. A variable component $BGT emissions per block is determined by the proposing validator's $BGT delegation (also referred to as "boost").
Distributor
The Distributor contract is the entrypoint for BGT distribution. The distributeFor()
function accepts a Merkle proof that a validator has proposed a certain beacon block. The Distributor then:
- Receives newly minted BGT from the
BlockRewardController
- Processes rewards based on validator-specified allocations via
BeraChef
- Distributes BGT to the validator's designated Reward Vaults
BlockRewardController
The BlockRewardController contract is the only entity authorized to mint $BGT. It is entered through the processRewards
function from the Distributor
contract. The BlockRewardController then:
- Mints a base $BGT amount to the proposing validator's operator
- Mints a variable $BGT amount based on the validator's boost which is sent to the
Distributor
BeraChef
The BeraChef contract manages validator reward allocations. These preferences are set by the validator operator and can be updated following a short delay. The BeraChef contract then forwards these allocations to the Distributor
contract for distribution to specified Reward Vaults.
2. Incentive Marketplace
The Incentive Marketplace creates a market-driven liquidity incentive system where protocols compete for validators' $BGT allocations.
RewardVault
RewardVaults act as the core PoL integration point, they:
- Receive $BGT emissions from the
Distributor
- Allow protocols to add incentive tokens with a minimum incentive rate per 1 $BGT emitted
- Manage token staking and $BGT distribution to liquidity providers/users
Validators are incentivized to allocate $BGT to vaults offering higher protocol incentives, as they receive these rewards proportional to the $BGT allocated. This creates the "marketplace" dynamic where protocols compete by offering better incentives to attract more $BGT allocations.
TIP
RewardVault creation is permissionless, but vaults must be approved by governance to be included in validators' reward allocations.
The RewardVaultFactory contract deploys standardized RewardVault contracts and maintains a registry of approved vaults.