Emission Multiplier Calculations

Overview

The Factor Scale emissions multiplier ensures that users that contribute the most network security (i.e. economic security through staked FCTR) also receive the most rewards for staking their liquidity into various strategies. By assigning a weight to the user's staked liquidity, the emission multiplier rewards users holding more veFCTR with a greater share of the strategy's allocated rewards.

TLDR

  • The higher the proportion of veFCTR supply held, the larger the share of strategy emission rewards.

  • The maximum emissions multiplier is achieved when the proportion of veFCTR supply held by the user approaches the proportion of strategy staked liquidity (i.e. veFCTR%veFCTR\% approaches StakedLiq%StakedLiq\%).

  • When veFCTR%veFCTR\% is greater than StakedLiq%StakedLiq\%, the rate of multiplier decay is slower than if veFCTR%veFCTR\% is lower than StakedLiq%StakedLiq\%.

Emission Multiplier Flow
  1. User stakes FCTR to receive an amount of veFCTR depending on staked duration (up to 1FCTR:1veFCTR for max stake duration).

  2. User provides liquidity to the target strategy which is eligible for Factor Scale emissions.

  3. User stakes the liquidity position in order to be eligible for rewards.

  4. With the veFCTR obtained in 1, user votes for their target strategy on Factor Scale.

  5. When the voting period for the epoch ends, the total emissions allocated for the epoch is distributed in proportion to the number of votes that the strategy receives. (i.e. if strategy receives 10% of total votes for that epoch, it receives 10% of emissions).

  6. For each strategy, the allocated emissions amount is then distributed over the course of the epoch according to the gauge weighted liquidity provided by LPs who have staked their liquidity in the strategy.

Weighted Liquidity Formulas

At it's core, the emissions multiplier ensures fairer distribution of emission rewards by constantly comparing:

  • Proportion of staked liquidity the user contributes to a specific strategy:

stakedLiq%=stakedLiquserstakedLiqpoolstakedLiq\% = \frac{stakedLiq_{user}}{stakedLiq_{pool}}

Staked Liquidity Amount & Leverage

As Factor enables users to increase their capital exposure via Leverage strategies, the stakedLiquiditystakedLiquidity amount also takes into account the leveraged portion by utilizing the debt portion of the user's position. That is, stakedLiquiditystakedLiquidity for leveraged positions tracks the debt value.

  • Proportion of veFCTR supply held by the user:

veFCTR%=veFCTRuserveFCTRsupplyveFCTR\% = \frac{veFCTR_{user}}{veFCTR_{supply}}

In general, the larger the proportion of veFCTR supply held, the larger the emissions multiplier.

Weighted Liquidity

By applying a veFCTR holding weight to the staked liquidity provided by the user, it enables veFCTR holders to access up to 2.5x the emissions for their staked liquidity. The weighted liquidity for a user is calculated based on the following formula:

min((0.4×stakedLiquser)+(0.6×stakedLiqpool×veFCTRuserveFCTRsupply),stakedLiquser)min \biggl( (0.4 \times stakedLiq_{user}) + (0.6 \times stakedLiq_{pool} \times \frac{veFCTR_{user}}{veFCTR_{supply}}) , stakedLiq_{user} \biggl)

The above formula is used to calculate the weightedLiqweightedLiq for every depositor in the strategy, including those who do not have veFCTR staked. The esFCTR emissions allocated to the pool for that epoch is then linearly streamed throughout the epoch based on the proportion of the strategy's weightedLiquidityweightedLiquidity that the user holds at that point in time.

Based on the above formula, there are a few critical points to take note of:

  • The maximum emissions multiplier of 2.5x occurs when the StakedLiq%StakedLiq\%approaches the veFCTR%veFCTR\%

  • When veFCTR%veFCTR\% is greater than StakedLiq%StakedLiq\%, the rate of multiplier decay is significantly slower than if veFCTR%veFCTR\% is lower than StakedLiq%StakedLiq\%

Put simply, the weighted liquidity formulas prioritizes distributing emissions towards users with larger veFCTR%veFCTR\% (i.e. users who have staked more FCTR for longer periods). For the same absolute % difference, your emissions multiplier will be much higher if your veFCTR%veFCTR\% is greater than StakedLiq%StakedLiq\%. To achieve the max multiplier, your veFCTR%veFCTR\% should be closer to StakedLiq%StakedLiq\%.

Example

Users

  • Alice provides 100 staked liquidity but does not hold any veFCTR

  • Bloxy provides 100 staked liquidity and holds 50veFCTR

Conditions

  • Assume no other users in the strategy hence stakedLiqpool=stakedLiqAlice+stakedLiqBloxy=200stakedLiq_{pool} = stakedLiq_{Alice} + stakedLiq_{Bloxy} = 200

  • Total veFCTR supply (including Bloxy): 500veFCTR

  • Emission rewards allocated to strategy: 1,000 esFCTR

Alice's Weighted Supply

weightedSupplyAlice=min((0.4×stakedLiqAlice)+(0.6×stakedLiqpool×veFCTRAliceveFCTRsupply),stakedLiqAlice)weightedSupply_{Alice} = min \biggl( (0.4 \times stakedLiq_{Alice}) + (0.6 \times stakedLiq_{pool} \times \frac{veFCTR_{Alice}}{veFCTR_{supply}}) , stakedLiq_{Alice} \biggl)
weightedSupplyAlice=min((0.4×100)+(0.6×200×0500),100)weightedSupply_{Alice} = min \biggl( (0.4 \times 100) + (0.6 \times 200 \times \frac{0}{500}) , 100 \biggl)
weightedSupplyAlice=min(40,100)=40weightedSupply_{Alice} = min \biggl( 40 , 100 \biggl) = 40

Bloxy's Weighted Supply

weightedSupplyBloxy=min((0.4×stakedLiqBloxy)+(0.6×stakedLiqpool×veFCTRBloxyveFCTRsupply),stakedLiqBloxy)weightedSupply_{Bloxy} = min \biggl( (0.4 \times stakedLiq_{Bloxy}) + (0.6 \times stakedLiq_{pool} \times \frac{veFCTR_{Bloxy}}{veFCTR_{supply}}) , stakedLiq_{Bloxy} \biggl)
weightedSupplyBloxy=min((0.4×100)+(0.6×200×50500),100)weightedSupply_{Bloxy} = min \biggl( (0.4 \times 100) + (0.6 \times 200 \times \frac{50}{500}) , 100 \biggl)
weightedSupplyBloxy=min(40+12,100)=min(52,100)=52weightedSupply_{Bloxy} = min \biggl( 40 + 12 , 100 \biggl) = min \biggl( 52 , 100 \biggl) = 52

Emissions Distribution

esFCTRAlice=esFCTRpool×weightedSupplyAliceweightedSupplyPoolesFCTR_{Alice} = esFCTR_{pool} \times \frac{weightedSupply_{Alice}}{weightedSupply_{Pool}}
esFCTRAlice=1,000×4040+52=1,000×0.435=435esFCTResFCTR_{Alice} = 1,000 \times \frac{40}{40+52} = 1,000 \times 0.435 = 435 esFCTR
esFCTRBloxy=esFCTRpool×weightedSupplyBloxyweightedSupplyPoolesFCTR_{Bloxy} = esFCTR_{pool} \times \frac{weightedSupply_{Bloxy}}{weightedSupply_{Pool}}
esFCTRBloxy=1,000×5240+52=1,000×0.565=565esFCTResFCTR_{Bloxy} = 1,000 \times \frac{52}{40+52} = 1,000 \times 0.565 = 565 esFCTR

Last updated