iBGT Staking Pool
Abstract
The iBGT staking pool operates in a manner similar to the liquidity staking pool. The primary differences lie in the sources and types of rewards. All rewards originating from the natively staked BGT are passed through this staking pool. The APIs are kept consistent to simplify integration for developers.
Main Rewards
- $Honey: Derived from Berachain Dapp Fees.
- $Honey/$wBera Gauge Incentives: A portion of the rewards from the Berachain Gauge Incentives System, consolidated into a common token.
Key Features
- Seamless Integration: The API consistency with the liquidity staking pool makes it easy for developers to integrate into the iBGT staking pool.
- Comprehensive Reward Distribution: By passing through all rewards from natively staked BGT, the iBGT staking pool ensures that users receive their fair share of the network's incentives.
- Diverse Rewards: The combination of $wBera and consolidated gauge incentives provides a diverse set of rewards, enhancing the attractiveness of staking iBGT.
By offering these features, the iBGT staking pool ensures a user-friendly and rewarding staking experience, encouraging greater participation and support within the Berachain ecosystem.
Staking
ERC20 Approve
cast send [iBGT-Address] "approve(address,uint256)" "[iBGT-Vault-Address]" [Amount] --rpc-url [RPC-URL] --private-key [PRIVATE-KEY]
Stake iBGT
cast send [iBGT-Vault-Address] "stake(uint256)" [Amount] --rpc-url [RPC-URL] --private-key [PRIVATE-KEY]
By following these steps, users can easily stake their iBGT tokens using the consistent and straightforward APIs provided by the iBGT staking pool. ::::
Rewards
The iBGT staking pool will receive rewards in multiple tokens from various sources. It is important for developers to keep up to date with the iBGTVault:rewardTokens()
list, which serves as the canonical list of all rewards that the iBGT staking pool is entitled to.
Checking Reward Tokens
To check the list of reward tokens via the CLI:
cast call [iBGT-Vault-Address] "rewardTokens()" --rpc-url [RPC-URL]
Claiming Rewards
Claiming rewards is straightforward. Users can harvest and distribute their rewards by calling the iBGT-Vault::getReward()
method.
msg.sender
:
cast send [iBGT-Vault-Address] "getReward()" --rpc-url [RPC-URL] --private-key [PRIVATE-KEY]
cast send [iBGT-Vault-Address] "getRewardForUser(address)" [USER-ADDRESS] --rpc-url [RPC-URL] --private-key [PRIVATE-KEY]
By following these steps, users can easily access and claim their earned rewards, ensuring they benefit from the multiple reward sources associated with the iBGT staking pool. This process enhances the overall user experience and encourages active participation.
Withdrawal
There are two ways to withdraw from the iBGT staking pool:
-
Exit: This method will withdraw all the staked iBGT and rewards.
- Note: Only callable by the
msg.sender
who staked the iBGT.
cast send [iBGT-Vault-Address] "exit()" --rpc-url [RPC-URL] --private-key [PRIVATE-KEY]
- Note: Only callable by the
-
Withdraw: This method will only withdraw the staked iBGT. The amount to withdraw is passed as an argument.
- Note: Only callable by the
msg.sender
who staked the iBGT.
cast send [iBGT-Vault-Address] "withdraw(uint256)" [Amount] --rpc-url [RPC-URL] --private-key [PRIVATE-KEY]
- Note: Only callable by the
These options provide flexibility for users, allowing them to either completely exit their position and claim all rewards or selectively withdraw their staked iBGT tokens while leaving their rewards intact. This approach caters to different user needs and strategies, enhancing the overall utility and user experience of the iBGT staking pool.