Sushi Rewards
One of the main reasons, Sushiswap became the top Uniswap clone was its introduction of Yield farming for liquidity providers. A liquidity provider could stake their LP token in Sushi's MasterChef contracts, to grab a chunk of SUSHI governance token emissions. In this dashboard we will look into these Emissions in general and how important these rewards are in maintaining liquidity on certain pools.
Understanding the emissions :
The tokenomics (SUSHINOMICS) can be broken down as follows
- 250 million $SUSHI hard cap.
- 10% of all emissions go to our Multisig-controlled treasury/dev fund.
- Expected date to reach hard cap is November 2023.
- There are currently less than 20 $SUSHI tokens minted per block (Please refer to chart below for specific numbers)
- 0.05% of the exchange trade fees are awarded to holders of the xSUSHI token
These emissions come from one contract alone - the OG SushiSwap: MasterChef LP Staking Pool
contract 0xc2EdaD668740f1aA35E4D8f227fB8E17dcA888Cd
. This is the main SUSHI generator contract, which is leveraged by the newer MasterChef v2
contract 0xef0881ec094552b2e128cf945ef17a6752b4ec5d
which optimises the gas usage, and makes life slightly more easier for a Blockchain Data Analyst.
The last part is crucial. As I was searching for ways to calculate the SUSHI emissions using Flipside Data, I delved into Sushiswap MasterChef contracts inorder to scout for possible loop holes or just understand how these emissions are calculated. Here is what I found :
-
The Masterchef contracts, both contain a struct PoolInfo which contains the following parameters:
lpToken
- Address of LP tokenallocPoint
- Allocation factor that determines amount of Sushi to be distributed per block for the Pool abovelastRewardBlock
andaccSushiPerShare
- Params to calculate Sushi accumulated since last transaction or distribution (either add or remove liquidity)
The parameter important for calculation is allocPoint
, a ratio numerator that determines the percent of SUSHI emitted that is meant for the Pool. Once we get this allocPoint
, we can calculate the SUSHI rewards by simply :
> (allocPoint/maxAllocPoint) x (SUSHI emissions per block) x (number of Blocks in a Day)
If we query the read of OG MasterChef and MasterChefv2, this is what we get :
- For OG MasterChef
- For MasterChef v2
So all we need is the allocPoint
to calculate a pools SUSHI emissions. Fortunately for MasterChef v2, there are two emission logs:
LogPoolAddition
- Event log emitted when a new pool is added for staking and SUSHI emissionsLogSetPool
- Event log emitted when a pool's parameters are edited
LogPoolAddition
emitted when a pool is added for SUSHI emissions, its log contains, the pid
or the index of Pool, the LP token's address and the allocPoint
LogSetPool
emitted when a Pool's emission parameters are updates, its log contains, the pid
of the target pool and the new allocPoint
.
Thus for a MasterChefv2 pool, every time the pool's emission parameter is set or changed, a log emitted allows us to easily track the emissions for that given Pool.
However OGMasterChef
contract doesn't have these same log emissions.
This means, the only way to track emissions of a OG Sushiswap Pool would be to either query the smart contract directly or to track the transaction that call add
or set
functions on the contract. However Flipside for now doesn't provide Function or Transaction input data. It gets increasingly worse as, most of these calls are done via Proxy contracts or MultiSigs, which means even reducing the initial transaction to its components is hard.
A Hypothetical workaround could be to track Withdrawal function being called as OG MasterChef
does have a withdraw
emission log.
While tracking Withdraw function, we can find the LP token that is being removed to find the Pool whose rewards is to be calculated. Then by finding the user who has staked the LP, and for how long, we can calculate the amount of SUSHI over time for the specific user and maybe estimate SUSHI emissions. However
-
this is complicated in the first place, with multiple queries to be combined
-
requires an ideal user, who consistently harvest rewards, which is extremely hard these days with rising gas costs and alot of insignificant pools.
Hence we will stick to the MasterChef v2 pools alone for this dashboard.
There are a total of 47 pools registered to MasterChef v2 staking, however only 30 of them have been actively been traded over the past 48 hours of writing this dashboard (Jan 18,2022 )
How have these pools performed in general ?
From the TVL and volume of swaps plot above, we can see that, these pools are usually sub 10 Million USD worth pools. However, these are good activity interms of volume. To show this check the FEE only apr of these pools.
These are niche pools, with respectable Fee Returns for the LPs. Checking the SUSHI emissions of these pools:
- At max, these Pools have 60 SUSHI every day.
- However as the TVL varies greatly, for every 1000$ as Liquidity, subDollar (0.01*~6 USD per SUSHI) emissions on a given day.
- Lido wrapped stETH, Alchemix and Yield Guild tokens have the highest emissions amongst the v2 pools
- However, the lower liquidity of dydx pools make it the best bang for buck in terms of SUSHI farmed.
How does the emitted SUSHI enhance the APR then ?
- For most pools, SUSHI emissions give a slight boost. However there are multiple less significant pools that count on SUSHI emissions for LPs to achieve respectable returns.
- dydx, gm and bmi are examples of these kind of tokens, moreover SUSHI emission help offset the ILs suffered by the users as these token prices have seen serious capitulation.
The previous point is much more clear in this normalized plot, SUSHI tokens hence thus help certain protocols accumulate sufficient liquidity to keep their governance token liquid. One of the perks of a community run project is this community help, as other wise, these tokens would have suffered massive devaluation having to sacrifice their own tokens. Not that it doesn't happen, but most of the MasterChef v2 tokens have secondary reward tokens like ENS for ENS-WETH pool, TOKE for TOKE-WETH pool and so on.
So in conclusion, do SUSHI emissions matter ? NO, atleast for most MasterChefV2 pools, SUSHI rewards are not usually significant. Even for OGMasterChef pools, its not entirely necessary, most pools seem have decent APRs and SUSHI is more likely a dessert on top of those rewards. Free APR is APR after all. Since we are half way through SUSHI emissions, its extremely unlikely that a pools recieves high APR from SUSHI emissions.