Crescent Docs
Search
⌃K

New Farming Rewards (LP Incentives)

This farming rewards is being used since Crescent V3.

Farming V2

  • The actual name of this module is lpfarm, but for the easier reading, we call it as Farming V2in this document.
Comparison of Farming V1 and V2
Crescent’s farming module is providing farming functionality that keeps track of staking and provides farming rewards to farmers. Each farmer to the pool having the farming plan(s) can get the farming rewards.
One main difference between Farming v1 and Farming v2 is the period of the rewards distribution.
  • In Farming v1, the farming rewards is distributed at 00:00 UTC everyday to the farmer that has farmed for the entire previous day. In this case, if the farmer changes the pool that the farmer provides the liquidity for, the farmer would lose the farming rewards for a day. This makes the farmers hesitate to change the pool for liquidity.
  • In Farming v2, the farming rewards are distributed at every block to the farmers. Thanks to this feature, the farmers can dynamically choose the pool for their liquidity to get more rewards.
Another main difference is the farming plan for a given pair.
  • In Farming v1, the farming plan is given to a pool. Therefore, each pool can have separate fixed amount of the rewards regardless of its effective liquidity. For example, a ranged pool with price range of [0.99, 1.01] has the amplification factor of 200, i.e., the effective liquidity of the ranged pool is 200 times of the basic pool with the same TVL. Even in this case, if the farming rewards to the pools are the same, then the farmers of the ranged pool and the basic pool will get the same amount of rewards with the same liquidity. This means, there is not so much motivation to provide liquidity to the ranged pool.
  • In Farming v2, the farming plan can be given to a pair, which has multiple pools. For example, bCRE/CRE pair has multiple pools including a basic pool and ranged pools with different ranges. In this case, a farming plan can be given to bCRE/CRE pair, not a specific pool. Then, the farming rewards automatically distributed according to the EFFECTIVE liquidity of each pool, where the effective liquidity means the actual TVL multiplied by the amplification factor of the ranged pool. This means, the effective liquidity indicates how much liquidity at a tick of the orderbook is provided by the pool. With this feature, the farmer providing its liquidity to the ranged pool will get more rewards. This results in less slippage from token swap at Crescent orderbook.
    • p-th pool of a given pair having TotalReward get the rewards for the farmers of the pool as
      • ​
        Rewardp=(AMPp×TVLp∑k=1KAMPk×TVLk)⋅TotalRewardReward_{p}=\left(\frac{AMP_p \times TVL_p}{\sum_{k=1}^{K} AMP_k \times TVL_k} \right)\cdot TotalReward
        ​
    • i-th farmer of the p-th pool will get the rewards as
      • ​
        Rewardp(i)=farming amount of i-th farmerFarmingAmountp⋅RewardpReward_p(i) = \frac{\text{farming amount of i-th farmer}}{FarmingAmount_p} \cdot Reward_p
        ,
      where
      FarmingAmountpFarmingAmount_p
      is the total farming amount of Liquid Farming module to the p-th pool.