Reward Vault Governance
NOTE: For a detailed guide on creating reward vaults and associated governance proposals, see this blog post.
While creating a Reward Vault is permissionless, for it to receive $BGT
emissions from validators, it must be whitelisted through a governance proposal. This process ensures community oversight and alignment over projects joining the Proof-of-Liquidity (PoL) ecosystem.
There are two components to whitelisting a new Reward Vault:
- Whitelisting the Reward Vault
- Whitelisting incentive token(s)
These components are typically handled concurrently through a single governance proposal.
Reward Vault Whitelisting
Reward Vaults are whitelisted on the BeraChef contract to make them eligible for receiving $BGT
emissions:
Deploy a reward vault using the Reward Vault Factory, specifying the staking token. This produces a new vault address.
Submit and pass a governance proposal for whitelisting the vault, using the vault address obtained from the factory deployment:
function setVaultWhitelistedStatus(address receiver, bool isWhitelisted, string memory metadata) external;
Token Whitelisting
Protocols can supply Incentives to entice validators to direct emissions to their vaults. Incentive tokens must first be whitelisted on the particular Reward Vault being incentivized:
Prepare the following parameters:
- Incentive token address
- Minimum incentive rate - lowest exchange rate between incentive token and
$BGT
- Incentive rates below this floor are not accepted
- Token manager address
- Account that will control incentive parameters
- Only one entitled to add incentives to a vault
Submit and pass a governance proposal for whitelisting the incentive token, using the vault address obtained from the factory deployment:
function whitelistIncentiveToken(address token, uint256 minIncentiveRate, address manager) external
TIP
Each reward vault maintains separate incentive token whitelists
Governance Process
The above whitelisting procedures are performed through BGT Governance.