Rewards Calculation

Etherex Pools

Rewards for each LP are allocated based on the swap volume generated by their liquidity and the slippage of each swap. The detailed reward formula is as follows.

For each pool and each epoch (1 epoch = 1 week), suppose there are KK swaps and NN LPs.

Then LP ii's reward for the pool and the epoch can be calculated as

Ri=Rtotalk=1KV(i,k)F(ΔPk)j=1Nk=1KV(j,k)F(ΔPk)R_i=R_{total}\cdot\frac{\sum_{k=1}^KV_{(i,k)}F(\Delta P_k)}{\sum_{j=1}^N \sum_{k=1}^KV_{(j,k)}F(\Delta P_k)}
  • RtotalR_{total} is the total amount of LINEA rewards allocated to the pool during the epoch.

  • V(i,k)V_{(i,k)} is the volume absorbed by LP ii in swap kk.

  • ΔPk\Delta P_k is the actual slippage of swap kk. For example, ΔPk=0.003\Delta P_k=0.003 means that the execution of swap kk moves the price by 0.3% (either price up or price down).

  • F(ΔPk)=a(ΔPk)bF(\Delta P_k)=a\cdot(\Delta P_k)^b is a function of ΔPk\Delta P_k where parameter aa and bb are decided by the Linea team.

Lending Pools

For lending pools (Aave and Euler), the following reward calculation rules are applied.

Step 1: Compute Reward Allocation for Each Pool

For each epoch, there is a total reward amount RtotalR_{total} for all the lending pools.

For each pool kk, its weight WkW_k during the epoch can be calculated as

Wk=βkQkTVLakW_k=\beta_k Q_k *TVL^k_a
  • βk\beta_k is a per-pool constant (defined by the Linea team).

  • TVLakTVL^k_a is the actual effective TVL TWA (Time-Weighted Average) during the epoch in pool kk.

  • TVLtkTVL^k_t is the target TVL for pool kk (defined by the Linea team).

  • Qk=Qmin+(QmaxQmin)exp(αTVLakTVLtk)Q_k=Q_{min}+(Q_{max}-Q_{min}) \exp(-\alpha \frac{TVL^k_a}{TVL^k_t} ), where QminQ_{min} is the min ratio (e.g., 0.02) and QmaxQ_{max} is the max ratio (e.g., 0.15). α>0\alpha >0 is a sensitivity parameter (e.g., α=2\alpha=2).

Then the reward allocated to pool kk during the epoch can be calculated as

Rk=RtotalWkjWjR_k = R_{total}*\frac{W_k}{\sum_{j} W_j}

Note: Each "pool" as mentioned above corresponds to an asset (e.g., USDC). If there are multiple lending protocols that support the same asset (e.g., Aave USDC and Euler USDC), the above formula can be used to calculate the reward allocation for each asset (where TVLakTVL^k_a is the sum of actual TVLs from these protocols). Then the rewards are further split to different lending protocols proportional to their actual TVLs.

Step 2: Compute Each Users' Rewards in a Lending Pool

For each pool kk and each epoch, the reward for LP ii can be calculated as

Rik=RkSikj=1NSjkR^k_{i}=R_k\cdot\frac{S^k_i}{\sum_{j=1}^N S^k_j}
  • RkR_k is the reward allocated to the pool (computed according to the formulas in Step 1).

  • SikS^k_i is the eligible holding by LP ii in pool kk, calculated as Sik=max(0,cikdiklk)S_i^k = \max (0, c_i^k - \frac{d_i^k}{l_k}), where

    • cikc_i^k is the supplied collateral (aToken/eToken) TWA by LP ii in pool kk

    • dikd_i^k is the debt (dToken) TWA by LP ii in pool kk

    • lkl_k is the liquidation threshold for pool kk (e.g., 78% for Aave USDC/USDT pool, 83% for Aave ETH pool). For all Euler pools, the liquidation threshold is hardcoded to 92%.

Last updated