stkBNB Smart Contracts¶
stkBNB codebase can be found here.
|StakePool is the main contract for user interaction. Users interact with this contract for stake / unstake / claim requests. The contract is also responsible for maintaining the exchange rate (c-value) and storing the wallet addresses for cross-chain transfers to the BNB Beacon Chain
|Token contract contains the design of stkBNB token. The token is BEP-20 with BEP-2 compatibility
|A non-upgradable contract that stores all the critical addresses in the design. The contract prevents circular dependency between the contracts as the contracts depend only on the address store to get the address of any other contract.
|This contract temporarily holds the undelegated amount sent by the bot from the BC chain, which is later redeemed by the StakePool contract in order to satisfy user claims. The contract removes an element of trust on the bot when informing the StakePool contract about the unbonding finished event
|All fees charged by the pSTAKE protocol goes to the Fee Vault contract. Funds movement from the contract can be done only by the Admin multisig. The contract will start accruing fees once it is voted in through governance
|Timelock Admin allows for a cool-off period between finalisation of changes on the protocol and the actual execution. The Timelock Admin contract is currently active for any change in Admin multisig and in case of Emergency Shutdown.
On the BC chain, the development consists of a bot that performs staking, unstaking, and reward collection transactions on defined intervals based on inputs from the StakePool contract.