Skip to main content

Documentation Index

Fetch the complete documentation index at: https://berachain-422fce37-feat-nodes-section-reno.mintlify.app/llms.txt

Use this file to discover all available pages before exploring further.

This guide walks you through managing your validator’s reward allocations using BeraChef via Foundry cast and the BeraHub UI.

Requirements

  • Active Validator Node
  • Validator Operator Wallet Address & Private Key
  • Validator PubKey
  • Foundry using cast

Understanding reward allocations

Each validator can customize how their rewards are distributed across different reward vaults. If no custom allocation is set, a default allocation is used. Key concepts:
  • Reward allocations must total 100% (10000 basis points)
  • Only whitelisted vaults can receive allocations
  • Changes require queuing and a delay period before activation
  • Current delay: 500 blocks

Option A - Using Foundry CLI

Step 1 - Check active allocation

Start by checking your validator’s current reward allocation:
cast call 0xdf960E8F3F19C481dDE769edEDD439ea1a63426a \
"getActiveRewardAllocation(bytes)" \
"<YOUR_VALIDATOR_PUBKEY>" \
--rpc-url https://rpc.berachain.com/;
The output is your validator’s RewardAllocation struct, a tuple containing:
  1. The allocation start block
  2. An array of tuples, each containing the vault address and the percentage numerator (adding up to 10000)

Step 2 - Queue new allocation

An example command to queue a new allocation resembles the following:
cast send 0xdf960E8F3F19C481dDE769edEDD439ea1a63426a \
"queueNewRewardAllocation(bytes,uint64,tuple(address,uint96)[])" \
"<YOUR_VALIDATOR_PUBKEY>" \
"$START_BLOCK" \
"[(0x12345...,5000),(0x56789...,5000)]" \
--private-key <YOUR_VALIDATOR_OPERATOR_ADDRESS_PRIVATE_KEY> \
--rpc-url https://rpc.berachain.com/
Your START_BLOCK must be greater than the current block number + the block delay (500 blocks).

Step 3 - Check your queued allocation

Check your new pending allocation:
cast call 0xdf960E8F3F19C481dDE769edEDD439ea1a63426a \
"getQueuedRewardAllocation(bytes)" \
"<YOUR_VALIDATOR_PUBKEY>" \
--rpc-url https://rpc.berachain.com/;
Once the startBlock is reached, the new allocation will be automatically activated the next time rewards are distributed for your validator.

Option B - Using BeraHub UI

You can also manage your reward allocations through the Berachain Dashboard:
BeraHub reward allocation management interface
  1. Navigate to the Validator Dashboard on Berachain Hub
  2. Connect your validator operator wallet
  3. Click Manage as a validator
  4. Click the Configuration tab
  5. Select your vaults and choose desired allocation percentages (ensuring they add up to 100%)
  6. Click Queue and submit the transaction