Skip to content
🚧 Under Development! May be incomplete.Some pages/links may be incomplete or subject to change.

Increase A Validator's $BERA Stake

The following steps will guide you through the process of increasing a Validator's $BERA stake to increase their stake weight and increase the probability of proposing blocks.

This guide assumes that a Validator is already in the Active Set.

Active Set & $BERA Stake

Currently, the Active Set consists of 69 Validators, which is the number of Validators that can propose blocks.

The Active Set is determined by the amount of $BERA staked, where the top stakers are included in the Active Set. To be included in the Active Set, a Validator must stake at least 32 $BERA or 1 $BERA more than the lowest staker in the Active Set (whichever is greater).

If a Validator is removed from the Active Set, all $BERA staked to that Validator will be returned to the Validator's Withdrawal Credentials Address.

Staking Considerations

There are a few points to consider with staking:

  • Stake Returned To Single Address - All $BERA staked to a Validator is returned to the Validator's Withdrawal Credentials Address. If there are multiple stakers, an agreement must be put in place with the Validator to ensure that the $BERA is returned to the correct addresses.
  • Minimum Stake Deadline - The minimum stake deadline is 1 epoch. If the Validator does not meet the minimum stake or the minimum amount to overtake another Validator in that timeframe, the existing $BERA will be returned to the Validator's Withdrawal Credentials Address.
  • Liquid Staking Protocols - Managing multiple stakers with a single Validator can be difficult. As an alternative, Liquid Staking Protocols are an option.

Requirements

Before you begin, ensure you have the following:

  • A Validator that is already in the Active Set
  • A Validator's pubkey - PubKeys can be found at Berachain Hub Validators
  • A minimum of 32 $BERA or 1 $BERA more than the lowest staker in the Active Set (whichever is greater)
  • Foundry

Steps To Increase A Validator's $BERA Stake

INFO

ERROR CODE DEFINITIONS: See the following for more information about specific hex error codes: https://docs.berachain.com/berachain-docs/error-codes

bash
# FROM: /

VALIDATOR_PUB_KEY=<VALIDATOR_PUB_KEY_98CHARS_WITH_0x>;
YOUR_ETH_WALLET_PRIVATE_KEY=<YOUR_ETH_WALLET_PRIVATE_KEY>;
YOUR_ETH_RPC_URL=<YOUR_ETH_RPC_URL>;
YOUR_STAKED_AMOUNT=<NUMBER>ether;

# The 0x0.. are NOT typos
cast send "0x4242424242424242424242424242424242424242" \
'deposit(bytes,bytes,bytes,address)' \
"$VALIDATOR_PUB_KEY" \
"0x0000000000000000000000000000000000000000000000000000000000000000" \
"0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" \
"0x0000000000000000000000000000000000000000" \
--private-key "$YOUR_ETH_WALLET_PRIVATE_KEY" \
--value $YOUR_STAKED_AMOUNT \
-r $YOUR_ETH_RPC_URL;