Market Maker Program

Overview

This program incentivizes liquidity by distributing IDEX tokens to market makers, algorithmic traders, and other market participants who are providing liquidity to the order book. Liquidity providers are rewarded based on a formula that measures the overall depth, spread, and uptime of an LPs orders.

Key Details

  • 7.5% of the IDEX token supply (75,000,000) will be distributed over the first three years

  • 28 day epochs

    • 1,923,076 IDEX tokens per epoch

    • Rewards are claimable one week after the epoch ends

    • 100% of the rewards are distributed (no vesting)

  • Eligibility

    • Wallets whose qualified maker volume % in the previous epoch is greater than 0.5% of the total qualified maker volume

    • All wallets are eligible in the first mainnet epoch

Measuring Market Maker Performance

IDEX token rewards are distributed to wallets based on their achievement of specific KPIs. The goal is to measure both the quality of the liquidity and the contribution of that liquidity to exchange volume.

  • Liquidity quality

    • Closer to top of book (TOB) Liquidity: reward those who take on more risk than other orders by being closer to the midpoint

    • Depth of orders: amount of funds at risk at any one time; deeper order book allows for larger trades with less slippage

    • Uptime: liquidity must be of high quality but also available the majority of the time

  • Qualified Maker Volume: share of maker volume that comes from orders whose age > is greater than 0.5 seconds from order creation to order filled

Proposed Scoring System

The following formula is used to calculate the market making score for an individual market maker i, in epoch j, in a particular market.

Qij=(QDepthScorej)α×(QUptimeScorej)β×(QMakerVolumeScorej)1αQ^{j}_{i}=(Q^{j}_{Depth Score})^{\alpha}\times(Q^{j}_{Uptime Score})^{\beta}\times(Q^{j}_{Maker Volume Score})^{1-\alpha}

The score consists of three components: Depth, Uptime, and Maker Volume

  • Depth and Uptime are assessed through the use of liquidity snapshots, a periodic analysis of the order book state to determine the wallet’s depth and uptime score.

    • Snapshots are taken randomly every 1 minute, 1440 snapshots per day

    • Randomness follows a uniform distribution

  • Maker Volume is a function of the qualified maker volume traded during the entire epoch.

Q Depth:

Order Requirements:

  • Limit Order Only - order must be visible/resting on the order book (i.e. stop orders do not qualify)

  • Two-Sided Quote: Must quote on both sides to achieve a qualified snapshot; depth scoring formula accounts for this by taking the min of the bid & ask score in each snapshot (see below)

  • Minimum Order Size: minimum order sizes for all markets are published on the MM dashboard. At launch, the minimum order sizes will be as follows:

    • BTC - $1,000

    • ETH - $1,000

    • Non-ETH/BTC - $500

  • Maximum Order Price Distance - Orders must be within X basis points of the mid-price ((bid + ask)/2) to be eligible. The order price requirements for all markets are published on the MM dashboard.

Example Snapshot:

Assume a liquidity provider has multiple open bid orders:

  • 1 BTC at $29,900

  • 5 BTC at $29,850

  • 10 BTC at $29,500

and multiple open ask orders:

  • 0.01 BTC at $30,100

  • 5 BTC at $30,150

  • 10 BTC at $30,175

Other assumptions:

  • BTC mid-price = $30,000

  • MinSize is $1000 and max order price distance is 100 Basis Points ($300/$30,000)

Order at $29,500 is excluded as it falls outside of the price band

QBID=(1×($29,000$100/30,000))+(5×($29,850$150/30,000))Q_{BID}=(1\times\bigg(\frac{\$29,000}{\$100/30,000}\bigg))+(5\times\bigg(\frac{\$29,850}{\$150/30,000}\bigg))

Order for 0.01 BTC is excluded as it doesn’t meet the minimum order size requirement

QASK=(5×($30,150$150/30,000))+(10×($30,175$175/30,000))Q_{ASK}=(5\times\bigg(\frac{\$30,150}{\$150/30,000}\bigg))+(10\times\bigg(\frac{\$30,175}{\$175/30,000}\bigg))

Take the lesser of the two values

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

Sum all of the snapshots in a given epoch

QDepthScorej=i=1m(QMIN)Q^{j}_{DepthScore}=\displaystyle\sum_{i=1}^m(Q_{MIN})

Q Uptime:

QUptimeScorej=i=1m1QDepthScore>0(QDepthScorei)Q^{j}_{UptimeScore}=\displaystyle\sum_{i=1}^m 1_{Q_{Depth Score>0}} (Q^{i}_{DepthScore})

Uptime is calculated throughout the entire epoch and reflects the number of snapshots in which Q Min > 0 for a particular market.

  • Wallets only get credit for uptime during snapshots where they have qualified liquidity

    • The wallet has at least one order on both sides of the order book

    • At least one order on each side is within the maximum order price distance and meets the min order size

  • Wallets get one point for each snapshot where they have qualified liquidity

  • Uptime score is calculated by summing these points across all snapshots; the maximum score per epoch, per market, is 14 days * 24 hours * 60 minutes = 20,160

Qualified Maker Volume:

QMakerVolumeScorej=QMakerVolumeiQTotalMakerVolumeQ^{j}_{MakerVolumeScore}=\frac{Q^{i}_{MakerVolume}}{Q_{TotalMakerVolume}}

Share of the wallet’s qualified maker volume during the entire epoch.

  • Qualified maker volume is the trading volume filled as maker orders for all orders filled in the epoch whose age is greater than 0.5 seconds from order creation to order filled

    • The only qualification for maker orders is age of 0.5+ seconds (i.e. the size/spread conditions from the depth score do not apply)

    • Orders placed in a previous epoch will generate qualified maker volume for the epoch in which they are filled

  • The total maker volume is the trading volume filled as a qualified maker order for all orders in the epoch associated with wallets that are eligible for the epoch

  • The sum of maker volume score for all eligible wallets is equal to 100%

Market-Making Score:

All scores are combined to create the overall market-making score for an individual market.

Qij=(QDepthScorej)α×(QUptimeScorej)β×(QMakerVolumeScorej)1αQ^{j}_{i}=(Q^{j}_{Depth Score})^{\alpha}\times(Q^{j}_{Uptime Score})^{\beta}\times(Q^{j}_{Maker Volume Score})^{1-\alpha}

The weights for alpha and beta are visible on the MM dashboard for each period.

Liquidity providers earn IDEX rewards based on their relative overall market-making score for each market/epoch.

API Interface

The IDEX Market Making Rewards Program can be interfaced through the API.

Market Maker Rewards Dashboard

The dashboard allows for market makers to track their performance in both the current and previous epochs. Depth is presented as a raw score calculation, while uptime is presented as a percentage (100% being perfect uptime). Maker volume and the total market maker scores are presented as percentages relative to other market participants.

Note: the screenshot above is just for reference, the current list of markets can be found in the app or via the Get Tickers endpoint.

Last updated