Maker Incentives

Infinity will reward active market makers with our native token $IFT.

7.5% (75,000,000 $IFT) of the token supply is allocated to be distributed to liquidity providers ("LPs") based on formulas that reward a combination of maker volume, uptime, two-sided depth, bid-ask spreads, and the number of markets supported.

Objectives: The purpose of this 'jump ball' incentive structure is to incentivize all market participants to provide high-quality, two-sided liquidity in the markets that matter most for Infinity's long-term adoption. This mechanics of this program have been borrowed from dYdX but adapted accordingly for Infinity's product set and objectives.

The following terms and incentive plan may be modified from time-to-time with notice.

Overview

To incentivize market liquidity, $IFT will be distributed to liquidity providers based on formulas that reward participation in markets, maker volume, two-sided depth, spread (vs. mid-market), and uptime on Infinity's Rates Protocol. Any qualified Ethereum address can earn these rewards, subject to a minimum maker volume threshold of currently 5.00% of maker volume in the preceding epoch. $IFT will be distributed on a 30-day epoch basis over five years and is not subject to any vesting or lockups. 1,150,684 $IFT will be distributed per epoch.

Liquidity provider performance is monitored and calculated on a minute-by-minute basis (using randomized sampling) and aggregated into a QSCOREQ_{SCORE} for a given market. Given minute-by-minute sampling, each epoch has 30 days * 24 hours * 60 minutes of data points—43,200 data points per epoch in total.

At Infinity, we currently service 5 tokens, across 10 tenors (from Float to 3Q), and therefore 50 markets in total:

Float1D2D1W2W1M2M1Q2Q3Q

ETH

ETH_Float

ETH_1D

ETH_2D

ETH_1W

ETH_2W

ETH_1M

ETH_2M

ETH_1Q

ETH_2Q

ETH_3Q

USDT

USDT_Float

USDT_1D

USDT_2D

USDT_1W

USDT_2W

USDT_1M

USDT_2M

USDT_1Q

USDT_2Q

USDT_3Q

USDC

USDC_Float

USDC_1D

USDC_2D

USDC_1W

USDC_2W

USDC_1M

USDC_2M

USDC_1Q

USDC_2Q

USDC_3Q

DAI

DAI_Float

DAI_1D

DAI_2D

DAI_1W

DAI_2W

DAI_1M

DAI_2M

DAI_1Q

DAI_2Q

DAI_3Q

WBTC

WBTC_Float

WBTC_1D

WBTC_2D

WBTC_1W

WBTC_2W

WBTC_1M

WBTC_2M

WBTC_1Q

WBTC_2Q

WBTC_3Q

For each of these markets, the following functions are used to compute how much $IFT should be rewarded to each liquidity provider per epoch:

Qmarket,N=min(i=143,200QBID,i,i=143,200QASK,i)αN×(UptimeEPOCH)5×(MakerVolume)βNQ_{market,N}=min(\sum_{i=1}^{43,200}Q_{BID,i},\sum_{i=1}^{43,200}Q_{ASK,i})^{\alpha_N} \times (Uptime_{EPOCH})^5 \times (MakerVolume)^{\beta_N}

Where:

QBID,i=BidDepthiBidSpreadi×1(BidSpreadi<maxSpread)(BidDepthi>minDepth)Q_{BID,i}=\frac{BidDepth_i}{{BidSpread_i}}\times 1_{{(BidSpread_i<maxSpread)* (BidDepth_i>minDepth)}}\\
QASK,i=AskDepthiAskSpreadi×1(AskSpreadi<maxSpread)(AskDepthi>minDepth)Q_{ASK,i}=\frac{AskDepth_i}{{AskSpread_i}}\times 1_{{(AskSpread_i<maxSpread)* (AskDepth_i>minDepth)}}

Orders below a certain minimum depth (size) (MinDepthMinDepth) per market are excluded, and orders over a certain maximum spread (mid-market spread) (MaxSpreadMaxSpread) market are excluded as well.

We then sum all these scores per markets to get:

QFINAL=N=150Qmarket,NQ_{FINAL}=\sum_{N=1}^{50}Q_{market,N}

Liquidity providers earn monthly rewards based on your relative QFINALQ_{FINAL} share per epoch.

The above formula is broken out into step-by-step calculations below for detail:

TermDescription

Maker Volume

Total maker volume for the Epoch.

QBID=iQBID,i=iBidDepthiBidSpreadiQ_{BID}=\sum_{i}Q_{BID,i}=\sum_{i}\frac{BidDepth_i}{{BidSpread_i}}\\ foreachbidiwithBidDepthi>MinDepthandwithBidSpreadi<MaxSpread(MidMkt)\scriptsize for\: each\: bid_i\: with\: BidDepth_i>MinDepth \\and\: with \:BidSpread_i < MaxSpread\: (Mid-Mkt)

Assume a liquidity provider has multiple open bid orders on the ETH float market (250 ETH float borrow at 3.09%, 1,500 at 3.08%, 2,000 at 3.05%) and ETH float rate is currently at 3.10% (based on mid-market). Assume MinDepth is ETH 1,000 and MaxSpread vs. mid-market is 0.10%. QBID=1,500×3.08%0.02%/3.10%+2,000×3.05%0.05%/3.10%\footnotesize Q_{BID}=1,500 \times \frac{3.08\%}{0.02\%/3.10\%}+2,000\times \frac{3.05\%}{0.05\%/3.10\%}

QBIDQ_{BID}is calculated every minute using random sampling.

QASK=iQASK,i=iAskDepthiAskSpreadiQ_{ASK}=\sum_{i}Q_{ASK,i}=\sum_{i}\frac{AskDepth_i}{{AskSpread_i}} foreachaskiwithAskDepthi>MinDepthandwithAskSpreadi<MaxSpread(MidMkt)\scriptsize for\: each\: ask_i\: with\: AskDepth_i>MinDepth \\and\: with \:AskSpread_i < MaxSpread\: (Mid-Mkt)

Assume a liquidity provider has multiple open ask orders on the ETH float market (1,000 ETH float lend at 3.11%, 1,500 at 3.15%, 2,000 at 3.30%) and ETH float rate is currently at 3.10% (based on mid-market). Assume MinDepth is ETH 1,000 and MaxSpread vs. mid-market is 0.10%.

QAsk=1,000×3.11%0.01%/3.10%+1,500×3.15%0.05%/3.10%\footnotesize Q_{Ask}=1,000 \times \frac{3.11\%}{0.01\%/3.10\%}+1,500\times \frac{3.15\%}{0.05\%/3.10\%}

QASKQ_{ASK} is calculated every minute at a random interval

QMIN=min(QBID,QASK)Q_{MIN}=min(Q_{BID},Q_{ASK})

Rewards 2-sided liquidity by taking the minimum of QBIDQ_{BID} and QASKQ_{ASK}.

QEPOCH=k=143,200QMIN,kQ_{EPOCH}=\sum_{k=1}^{43,200}Q_{MIN,k}

QEPOCHQ_{EPOCH} ​is the sum of all​ QMINQ_{MIN} in a given epoch.

UptimeEPOCH=k=143,200freq(QMIN,k>0)\footnotesize Uptime_{EPOCH}=\sum_{k=1}^{43,200}freq(Q_{MIN,k}>0)

Uptime EPOCH ​is the percentage of time in an epoch that a given market maker was live and quoting on both the bid and ask sides with order sizes greater than stated order minimum (noted below by market) and spreads smaller than stated maximum spread (noted below by market).

QFINAL=QEPOCH×(UptimeEPOCH)5\footnotesize Q_{FINAL}=Q_{EPOCH} \times (Uptime_{EPOCH})^5

QFINALQ_{FINAL} normalizes QEPOCHQ_{EPOCH} to account for uptime

Each market will have its own rewards pool that will be weighted differently. The set of weights applied to each market is a function of the Currency Weighting x Maturity Weighting as follows:

Currency Weighting

Market% Allocation of Total Rewards Pool

ETH

30%

USDT

30%

USDC

30%

DAI

5%

WBTC

5%

Maturity Weighting

Market% Allocation of Total Rewards Pool

Float

15%

1D

10%

2D

10%

1W

5%

2W

5%

1M

5%

2M

10%

1Q

10%

2Q

10%

3Q

10%

1Y

10%

FAQ

Who is eligible for liquidity provider rewards?

All liquidity providers who have achieved a minimum of 5.0% of maker volume on the Infinity Protocol in the prior epoch are eligible to receive $IFT as rewards in a given epoch.

The Infinity Protocol is not available to liquidity providers in certain jurisdictions, as defined in Infinity's Terms of Use [ Provide Link ].

How much $IFT did I earn in the Liquidity Provider Rewards program?

In a given epoch, liquidity providers earn yield based on your relative QSCOREQ_{SCORE} in a given pair’s market. Each pair has its own relative reward amount set by governance. The expected amount of IFT earned is displayed in the LP Rewards Dashboard [ Link TBD ] and can be determined based on the number of liquidity providers involved, the relative QSCOREQ_{SCORE}, and the amount of reward available for a given pair.

How do I claim my Liquidity Provider Rewards?

Liquidity Provider Rewards will be surfaced in the Infinity API and through our governance portal [ location still TBD ].

When can I withdraw and transfer my claimed $IFT Liquidity Provider Rewards?

$IFT tokens rewarded via the Liquidity Provider Rewards will become claimable and transferable once the initial transfer restriction period is lifted.

Starting in Epoch 1, $IFT tokens rewarded via the Liquidity Provider Rewards will become claimable 7 days (Waiting Period) after the end of each epoch.

How are two-sided depth, bid-ask spread, and uptime defined and measured?

Two-sided depth

A two-sided liquidity provider is a firm or individual who actively quotes two-sided markets on the Infinity Protocol, providing bids and asks for a given market. They provide liquidity to the protocol overall.

For instance, a liquidity provider in the ETH-3Q market may provide a quote of 3.10% - 3.20%, 1x5. This means that they bid (they will lend) 1 ETH at 3.10% and also offer (they will borrow) 5 ETH at 3.20%. Other market participants may then borrow (lift the offer) from the liquidity provider at 3.20% or lend to them (hit the bid) at 3.10%.

Liquidity providers are assessed on your ability to provide both bids and asks on a given market. Liquidity providers who only quote on 1-side (either just bids or asks) are excluded from receiving rewards due to the min() function.

Mid-market spread

One common measure of liquidity is the bid-ask spread: the spread between the highest bid (order to buy) price and the lowest ask (order to sell) price in a market. The difference between the bid and the ask, the spread, is the principal transaction cost of trading (outside commissions), and it is collected by the liquidity provider by processing orders at the bid and ask prices. The spread measures your cost of transacting immediately.

The mid-market spread specifically takes the midpoint of the market. With this formula, orders below the MinDepth amount for each market are excluded also.

For instance, if a liquidity provider’s bid for ETH-3Q is 3.10% and the ask is 3.20%, then the bid-ask spread is 0.10%. The mid-market rate is 3.15%, and the mid-market spread is 0.05%.

Uptime

Liquidity provider uptime is critical for markets, especially in periods of high volatility. By applying an exponent of 5 to UptimeepochUptime_{epoch} as an input to the QFINALQ_{FINAL}, the rewards are skewed towards liquidity providers who maintain 2-sided liquidity constantly. In other words, a liquidity provider who provides uptime 99% of the time is exponentially more valuable than a liquidity provider who provides 90% uptime.

Uptime is defined as the percentage of time orders are in a given market providing liquidity on a minute-by-minute basis (with randomized sampling). Uptime excludes periods of time when outages exist on the Infinity Protocol itself. There may be edge cases where the exchange is slow or not accepting orders (but is not an outage)—in which case the above would not apply (but that would be considered a bug and all liquidity providers would be similarly affected, as with outages).

How is the maximum spreads per market defined?

No QBIDQ_{BID} or QASKQ_{ASK}will be generated when the spread is above a given market’s MaxSpreadMaxSpread.

The initial Max Spreads are as follows:

MarketMax Spreads

Float

0.10%

1D

0.10%

2D

0.12%

1W

0.12%

2W

0.14%

1M

0.14%

2M

0.16%

1Q

0.16%

2Q

0.18%

3Q

0.18%

1Y

0.20%

How is the minimum depth (size) per market defined?

No QBIDQ_{BID} or QASKQ_{ASK}will be generated when the size is below a given market’s MinDepthMinDepth.

The initial Min Depths are as follows:

MarketMin Depth (Bid and Ask)

ETH

$5,000

USDC

$5,000

USDT

$5,000

DAI

$1,000

WBTC

$1,000

Last updated