Skip to main content
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