Crescent Docs

Calculations for Staking Rewards

Mint rate

Mint rate is the exchange ratio between CRE and bCRE. Therefore, it is defined as the ratio between the total amount of bCRE currently issued and the total amount of CRE tied by the liquid staking module, i.e, temporarily vested to the proxy account.
Mint rate = bCRE total supplynet CRE amount in proxy accountMint\space rate\space =\space \frac{bCRE\space total\space supply}{net\space CRE\space amount\space in\space proxy\space account}

Calculation of Mint Amount of bCRE

The tokens liquid staked by users are first collected in a liquid staking proxy account and then distributed to each liquid validator according to their weight. The liquid staking users will receive bCRE in exchange for CRE staking, at this time, the amount of newly issued bCRE is determined according to the internally calculated mint rate.
Mint amount of bCRE =Liquid Staking amount of CRE × Mint rateMint\space amount\space of \space bCRE\space = Liquid\space Staking\space amount\space of\space CRE\space \times \space Mint\space rate

Calculation of Liquid Unstaked CRE

The bCRE holders can unstake their bCRE in order to receive CRE. Inside the module, since the subject of delegation to validators is the proxy account, after burning the bCRE, the corresponding amount of CRE is unbonded by the proxy account. At this time, by changing the termination address of unbonding delegation to the address of user who unstaked bCRE, the CRE will be finally sent to the addresses of users. The unstaking process requires a certain period of time, which is currently set to 14 days.
Receiving amount of CRE = Liquid Unstaking amount of bCREMint rate×(1fee rate)Receiving\space amount\space of\space CRE\space =\space \frac{Liquid\space Unstaking\space amount\space of\space bCRE}{Mint\space rate}\times (1-fee\space rate)

Rebalancing (Auto-redelegation)

Due to the events like slashing or tombstoning, the actual current weights of the CRE of the liquid validators can be slightly different from what was target weight intended. Therefore, rebalancing of delegated assets is needed. At the beginning of every block, the module calculate the actual weight(CRE amount of the validator relative to the total amount) of liquid validators and the difference between it and originally intended weight. If the maximum difference exceeds criteria called rebalancing trigger, the rebalancing will be executed.