# ALGX Liquidity Rewards Program

Updated: November 3rd, 2022

### Overview

A total of 270 million ALGX are allocated for the ALGX rewards program. This program incentivizes users to provide high quality liquidity to the Algodex platform.
The Mainnet rewards program is available to users who trade or have traded verified asset pairs on Algodex. The Mainnet rewards is currently in version 2, and is ongoing through to December 22, 2022.
Users can sign up for rewards on rewards.algodex.com. After a user connects their wallet, they will be eligible to receive rewards distributions, as well as view rewards earned in historical periods.
Users who have high market maker uptimes and keep orders close to the current bid/ask spread will receive the most rewards. Total liquidity is a factor, however it is weighted less as a factor in the calculation of rewards.

### Liquidity Rewards Formula

Liquidity provider performance is calculated on a minute-by-minute basis using random sampling and is aggregated into a score (
$Q_{MARKET}$
) for a given asset pair. Scores of asset pairs are then aggregated into a
$Q_{FINAL}$
score that depicts a users score across all assets. Liquidity providers earn weekly rewards based on their relative
$Q_{FINAL}$
proportion per week.
$Q_{MARKET} = SpreadGrade \times \sum_{N=1}^{10,080}\{Q_{MIN(N)}=[\frac {BidDepth_{1}}{Spread_{1}}+\frac {BidDepth_{2}}{Spread_{2}}+...+\frac {BidDepth_{N}}{Spread_{N}},\frac {AskDepth_{1}}{Spread_{1}}+\frac {AskDepth_{2}}{Spread_{2}}+...+\frac {AskDepth_{N}}{Spread_{N}}] \}^{0.5}\times[\sum_{N=1}^{10,080}Count(Q_{MIN(N)}>0)]^{5}$
$\times [ALGX]^{0.2} \times[\sum_{N=1}^{10,080}(\frac{ProvidedLiquidity_{N}}{AssetLiquidity_{N}-ProvidedLiquidity_{N}}+...+\frac{ProvidedLiquidity_{N}}{AssetLiquidity_{N}-ProvidedLiquidity_{N}})]^{0.3}\times AssetGrade \times GlobalAlgorandDEXLiquidity^{0.65}$
$Q_{MARKET} = SpreadTier \times {Q_{PERIOD}}^{0.5} \times {Uptime_{PERIOD}}^{5} \times ALGX^{0.2} \times LiquidityShare^{0.3} \times AssetGrade \times GlobalAlgorandDEXLiquidity^{0.65}$

### Liquidity Rewards Details

 Variable/Term Description ​$BidDepth$​ The $BidDepth$ at a given price is defined as $BidDepth = OrderVolume \times Bid Price$. ​$AskDepth$​ The $AskDepth$ at a given price is defined as $AskDepth = OrderVolume \times Ask Price$. ​$Spread$​ The $Spread$ is the difference between the bid and ask prices. ​$Q_{MIN}$​ ​$Q_{MIN}$ is calculated every minute and rewards 2-sided liquidity by taking the minimum of $Q_{BID}$ and $Q_{ASK}$. ​$Q_{BID}$​ Calculated every minute using random sampling. $Q_{BID}=\frac {BidDepth_{1}}{Spread_{1}}+\frac {BidDepth_{2}}{Spread_{2}}+...+\frac {BidDepth_{N}}{Spread_{N}}$​ ​$Q_{ASK}$​ Calculated every minute using random sampling. $Q_{ASK}=\frac {AskDepth_{1}}{Spread_{1}}+\frac {AskDepth_{2}}{Spread_{2}}+...+\frac {AskDepth_{N}}{Spread_{N}}$​ ​$ALGX$​ Users must hold a minimum balance of 3,000 ALGX to accumulate rewards. Users that hold over 3,000 ALGX earn additional rewards according to the formula ($ALGX^{0.2}$). This applies to Mainnet Version 2 only. ​$SpreadTier$​ Users will receive a multiplier based on the grade their spread is in. This is described in further detail under the "Initial Maximum Spreads" section. This only applies to Mainnet Version 2. ​$Q_{PERIOD}$​ The sum of all $Q_{MIN}$ in a given period (1 week). $Q_{PERIOD}=\sum_{N=1}^{10,080} (Q_{MIN})_{N}$. ​$Uptime_{PERIOD}$​ The time in a period that a given market maker was live and quoting on both the bid and ask sides with order sizes greater than the stated order minimum and spreads smaller than the stated maximum spread. Multiplying this factor by $Q_{PERIOD}$normalizes it to account for uptime. An exponent of 5 is applied to $Uptime_{PERIOD}$ to greatly incentivize users to be as active as possible. For more about the $Uptime_{PERIOD}$ requirements, see the FAQ. ​$Q_{MARKET}$​ The score assigned to an individual address for a given market in one week. ​$Q_{FINAL}$​ The final score assigned to an individual address for all eligible asset pairs in one week. It is the sum of all $Q_{MARKET}$'s for an individual address in a given week. ​$LiquidityShare$​ Calculated every minute using random sampling. The sum of$ProvidedLiquidity$ over $AssetLiquidity$. This factor incentivizes users to provide liquidity to less-liquid pairs on Algodex. $\sum_{N=1}^{10,080}(\frac{ProvidedBidLiquidity_{1}}{AssetBidLiquidity}+\frac{ProvidedAskLiquidity_{1}}{AssetBidLiquidity}+...+\frac{ProvidedBidLiquidity_{N}}{AssetBidLiquidity}+\frac{ProvidedAskLiquidity_{N}}{AssetBidLiquidity})$​ ​$AssetLiquidity$​ The total amount of liquidity on a given asset either on the bid or ask side. ​$ProvidedLiquidity$​ The amount of liquidity a user provides to any given asset on either the bid or ask side. Limit orders that are not immediately filled with an existing order on the order book. Calculated every minute using random sampling. ​$AssetGrade$​ Certain markets that are unrestricted in the US and Canada will receive a multiplier of $3\times$. Providing liquidity to the ALGX/ALGO pair will receive a multiplier of $2\times$. Other asset pairs will not receive a multiplier. More details on multipliers can be found here. ​$GlobalAlgorand...$​ ​$GlobalAlgorandDEXLiquidity$ takes the absolute amount of an asset's TVL (sourced from Vestige.fi and is observed at the time rewards are calculated). This incentivizes users to provide liquidity to larger, well-known projects.

#### Minimum Depth

Orders below a certain minimum depth size per market are excluded. The US dollar amounts are calculated by applying the current ALGO-USD exchange rate.
 (in $USD) Minimum BidDepth Minimum AskDepth Mainnet Version 1$15 $30 Mainnet Version 2$50 $100 #### Initial Maximum Spreads Orders above a maximum mid-market spread will be excluded. $Q_{ASK}$ and $Q_{BID}$ will not be generated when the spread is above a given market's maximum spread. The initial maximum spreads are listed below and are subject to change. Spreads are measured in basis points (bps). One basis point is one-hundredth of one percent. For Mainnet Version 1 the maximum spreads are 1000 bps (10%). Mainnet Version 2 is broken up into grades and are applied to each order:  ​$SpreadTier$​ Range Multiplier A 0-50 bps (0%-0.5%) ​$10\times$​ B 51-100 bps (0.51%-1%) ​$2.5\times$​ C 101-500 bps (1.01%-5%) ​$1\times$​ #### Liquidity Rewards Tiers & Corresponding Rates (2022)  Tier Date Range Amount Tier 1 February 10 - February 24 [0-2 weeks] 5% or 18,000,000 ALGX per week Tier 2 February 25 - April 29 [3-12 weeks] 2.5% or 9,000,000 ALGX per week Tier 3 April 30 - December 22 [13-45 weeks] 1.061% or 3,819,600 ALGX per week These rates apply to both versions of the Mainnet reward plans. #### Reward Calculation $Q_{FINAL}$ is the final score assigned to an individual address for all eligible asset pairs. It is taken by summing up all $Q_{MARKET}$ scores for a user. The rewards are distributed based on a simple formula: $Reward = \frac{Q_{FINAL}}{Q_{PLATFORM}}\times TierRate \times 360,000,000$ $Q_{PLATFORM}$ is the sum of all users $Q_{FINAL}$ scores for the platform in a given period. $TierRate$ is the rate described above (5%, 2.5%, 1.061%) which varies depending on the week of the program. 360,000,000 is the total supply of ALGX allocated to the rewards program. ### Liquidity Rewards FAQ How can I claim my rewards? Rewards will be automatically calculated and distributed to eligible wallets. Where can I sign up and track my rewards? The official rewards app has launched, and can be found at rewards.algodex.com. Users will be required to complete a simple sign-up process on the app after connecting their wallet. This sign-up process will require users to send an amount of 0 ALGO to themselves as proof of their participation. Each week, liquidity providers earn a yield based on their relative $Q_{FINAL}$ score. The Algodex rewards web app will show users how many rewards they have earned in each week, total earnings, and other statistics regarding rewards. What is mid-market spread? The spread between the highest qualifying bid price, and the lowest qualifying ask price in a given market. The mid-market spread takes the midpoint of the market. Qualifying criteria on bid and ask depth can be found here. i.e., A bid price is$4,000 and the ask price is $4,100. The bid-ask spread is therefore$100, and the mid-market price is $4,050. Therefore, the mid-market spread is$50.
A user's spread is defined as the distance between their order's price and the midpoint of the lowest ask and highest bid on the orderbook.
Exchange Rate
Due to the volatile nature of cryptocurrency, this document provides details in terms of US dollars. The Algodex platform does not use US dollars, and instead uses Algo. Therefore, ALGO prices will be compared with the most current ALGO-USD exchange rate while calculating user eligibility.
Vesting and Reward Distributions
There is no vesting schedule for rewards. Once the rewards app launches, users will receive their rewards within 2 days of the end of the most recent period. Historical rewards that were earned before the release of the app will be distributed when the app launches.
The official rewards launch date is TBD, however, it will coincide with the rewards web app launch.

#### Additional Information on $Uptime_{PERIOD}$​

Score from
$Uptime_{PERIOD}$
will only count on orders in
$SpreadTier$
A or
$SpreadTier$
B. Orders that are in
$SpreadTier$
C are still able to accrue score, but will not receive score from the factor
$Uptime_{PERIOD}$
.
Note: Having
$SpreadTier$
C orders will only accrue rewards if you have at least 1
$SpreadTier$
A or
$SpreadTier$
B order on both the bid and ask side of the market. This is necessary, as otherwise
$Uptime_{PERIOD}$
would be equal to 0, resulting in an overall score of 0.
Is the rewards code open source? If so, where is it located?
The code is open-source, written in Rust, and can be found on GitHub here.

This is the current list of assets that receive multipliers:
• USDC/ALGO = 3x
• STBL/ALGO = 3x
• STBL2/ALGO = 3x
• goBTC/ALGO = 3x
• goETH/ALGO = 3x
• gALGO/ALGO = 3x
• goMINT/ALGO = 3x
• USDT/ALGO = 3x
• GARD/ALGO = 3x
• pTokens BTC/ALGO = 3x
• xSOL/ALGO = 3x
• goUSD/ALGO = 3x
• ALGX/ALGO = 2x
All other assets eligible for rewards receive no multiplier.

### Example Calculations

1. Calculating
$Q_{BID}$
Assume a liquidity providers has multiple open bid orders in the goETH market: 1goETH at $3,900; 5 goETH at$3,850; 10 goETH at $3,500. Assume goETH is currently trading at$4,000 (based on mid-market). Assume the minimum depth (for both bid and ask) is $100. Assume maximum spread is 100 bps (1%) and mid-market is$25; therefore, maximum spread vs. mid-market is
bps.
$Q_{BID} = (\frac{1\times \3,900}{\frac{\100}{\4,000}})+(\frac{5\times \3,850}{\frac{\150}{\4,000}})+(\frac{10\times \3,500}{\frac{\500}{\4,000}}) = 949,333$
Note that all terms are included, as no term violates the maximum spread or minimum depths rules.
2. Calculating
$Q_{ASK}$
Assume a liquidity providers has multiple open ask orders in the goETH market: 1goETH at $4,100; 5 goETH at$4,150; 10 goETH at $4,175. Assume goETH is currently trading at$4,000 (based on mid-market). Assume the minimum depth (for both bid and ask) is $100. Assume maximum spread is 100 bps (1%) and mid-market is$25; therefore, maximum spread vs. mid-market is
bps.
$Q_{ASK} = (\frac{1\times \4,100}{\frac{\100}{\4,000}})+(\frac{5\times \4,150}{\frac{\150}{\4,000}})+(\frac{10\times \4,175}{\frac{\175}{\4,000}}) = 1,524,019$
Note that all terms are included, as no term violates the maximum spread or minimum depths rules.

### 1. Mainnet Rewards - Version 1 [February 10, 9:00:00, 2022 - June 2, 23:59:59, 2022]

Rewards are calculated using a modified version of the Liquidity Rewards Formula. Holding ALGX in a wallet is not a factor, therefore the term
$ALGX^{0.18}$
is removed from the equation. Factor weights on
$Q_{PERIOD}$
and
$LiquidityShare$
were increased by 25%. Additionally, having both buy and sell orders is not a factor in reward eligibility. The modified version of the Liquidity Rewards Formula is below:
$Q_{MARKET}={Q_{PERIOD}}^{0.5625} \times {Uptime_{PERIOD}}^{5} \times LiquidityShare^{0.3375} \times GlobalAlgorandDEXLiquidity^{0.1}$
If a user did not place both a bid and ask order, the minimum function would return 0. Therefore, the median of 0 and
$MAX(Q_{BID},Q_{ASK})$
$Q_{PERIOD} = \sum_{N=1}^{10,080}[\frac {MAX(\frac{BidDepth_{1}}{Spread_{1}}+...+\frac{BidDepth_{N}}{Spread_{N}}, \frac{AskDepth_{1}}{Spread_{1}}+...+\frac{AskDepth_{N}}{Spread_{N}})}{2}]$

### 2. Mainnet Rewards - Version 2 [June 3, 0:00:00, 2022 – December 22, 23:59:59, 2022]

Rewards are calculated using the Liquidity Rewards Formula. June 3 is the 16th week of rewards, therefore the
$TierRate$
will be a constant 1.061% until the end of the program (December 22, 2022). ALGX Held in a wallet is a contributing factor to the reward calculation. Having both buy and sell orders is another eligibility criteria.

### Eligibility

To be eligible for Mainnet rewards, the user must trade, or have traded verified asset pairs on Algodex between February 10, 9:00:00 and June 2, 23:59:59, for the original rewards system, or June 3, 0:00:00 and December 22, 23:59:59, for the improved rewards system. The rewards from Mainnet can be accrued by anyone committing the criteria.

### Terms

All specifics outlined in the above rewards plan are subject to change without notice.