Subject to Change
NOTICE: The details of the Liquidity Provider rewards formula are subject to change. Please check back regularly for updates.
Liquidity Provider Rewards
Overview of the Liquidity Provider rewards formula and calculations.
Overview
To incentivize market liquidity, rewards are distributed to liquidity providers based on formulas that reward participation in markets, maker volume, two-sided depth, spread (vs. mid-market), and uptime. Any address can earn these rewards.
The following functions calculate how much should be rewarded to each liquidity provider per epoch. The rewards are skewed towards liquidity providers who maintain 2-sided liquidity constantly.
Reward Formula
Overall, the volume weighting in the functions was increased in all markets. The amount earned is determined by the relative share of each participant's Q_FINAL (Q_BTC + Q_ETH + Q_nonBTC/ETH).
Orders below a certain minimum depth (size) (MinDepth) per market are excluded, and orders over a certain maximum spread (mid-market spread) (MaxSpread) market are excluded as well.
Liquidity provider performance is monitored and calculated minute-by-minute (using randomized sampling) and aggregated into a Q_SCORE for a given market. Given minute-by-minute sampling, each epoch has 28 days * 24 hours * 60 minutes of data points—40,320 data points per epoch in total. The current Rubicon model for OP rewards uses a weekly distribution.
Liquidity providers earn rewards based on their relative Q_FINAL share per epoch.
Formula Components Explained
The above formula is broken out into step-by-step calculations below for detail:
Maker Volume
Total maker volume for the Epoch.
Example calculation: Assume a liquidity provider has multiple open bid orders (1 BTC at $29,900, 5 BTC at $29,850, 10 BTC at $29,500) on the BTC-USD order book and BTC is currently at $30,000 (based on mid-market). Assume MinDepth is $5000 and MaxSpread vs. mid-market is $200, or 67 Basis Points ($200/30000). A BP is one-hundredth of one percent.
Q_BID is calculated every minute using random sampling.
Assume a liquidity provider has multiple open ask orders (0.1 BTC at $30,150, 5 BTC at $30,175) on the BTC-USD order book and BTC is currently trading at $30,000 (based on mid-market).
Q_ASK is calculated every minute at a random interval.
Two-sided Liquidity
Rewards 2-sided liquidity by taking the minimum of Q_BID and Q_ASK.
Calculated every minute.
Epoch Score
Q_EPOCH is the sum of all Q_MIN in a given epoch.
Uptime Score
Uptime_EPOCH is the 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).
Final Score
Q_FINAL normalizes Q_EPOCH to account for uptime.