LEAP-3: Incentivise Uniswap sUSD / Dai and ETH Market Pool

Author
StatusImplemented
Created2021-09-08

Simple Summary

Distribute LYRA tokens to users who provide liquidity to the following pools:

This will be a trial program running from Monday 13 September to Friday 1 October. The rewards will be distributed when LYRA is officially launched.

Abstract

This LEAP proposes incentivising users to provide liquidity to the following pools:

Pool Reward Beginning Ending
Uniswap sUSD / Dai 375,000 LYRA Monday 13 September 00:00 UTC Monday 27 September 00:00 UTC
ETH Market Pool 375,000 LYRA Friday 17 September 09:00 UTC Friday 1 October 09:00 UTC

Users who provide liquidity to either pool will receive LYRA tokens in proportion with their share of the total liquidity. Rewards will be determined using a script that is currently being developed and will be open-sourced on Github.

The tokens will be distributed on a date yet to be determined. This will likely be around the initial token distribution, which is planned to occur in late October.

Motivation

The first round finished succesfully but with only 500,000 sUSD in liquidity the trading experience is far from ideal. Due to the collateralisation requirements, it is only possible for the AMM to sell around 100 options at current ETH prices. As such, slippage was set high to discourage large orders. Traders have also struggled to acquire sUSD through Uniswap without incurring substantial slippage.

With only 8 million sUSD on OΞ, it is clear that we need to increase the supply. Our community is aligned with Synthetix here, who are currently pursuing three routes:

  • Divert inflation from L1 (SCCP-136)
  • Lower the c-ratio (SCCP-137)
  • Launching the ETH wrapper

Introducing LYRA rewards will provide another incentive for stakers to migrate their debt from L1 to OE. This should lead to the following outcomes:

  1. Increase the amount of liquidity available to Lyra’s ETH Market.

  2. Reduce the cost of acquiring sUSD on OE for non snx stakers, enabling liquidity providers and traders from the broader community to access the platform.


Specification

Overview

Since the LYRA token is not live, it is not feasible to use the popular staking rewards contracts. Instead, rewards for both pools will be computed off-chain using a script that determines the average liquidity provided by an address over the period. The work required in this LEAP is determining the eligibility criteria and implementing the script.

Rationale

It is not easy to determine how many tokens to distribute without a market valuation. It is also still relatively difficult for stakers to move debt from L1 to L2. Given the total supply of 1B tokens (verifiable here), a distribution of 750k over two weeks (20M annualised) seems like a reasonable start. By running a two week trial, we can observe:

  • How much the sUSD supply expands
  • What % of the sUSD supply goes to the Uniswap pool
  • What % of the sUSD supply goes to the ETH Market pool

This information will help inform future incentive programs. The Uniswap pool rewards begin before the ETH Market Pool rewards to allow the supply of sUSD on OΞ to increase, enabling prospective Lyra LPs who are not SNX holders to acquire sUSD in the Uniswap pool.

Technical Specification

Uniswap sUSD / Dai

Address: 0xA14e5b3BA5dd981b536E0950390b03972B795018
Amount: 375,000 LYRA
Start: 1631491200
End: 1632700800

To be eligible for the rewards, liquidity must be provided with the following bounds:

minPrice = 0.99005 DAI per sUSD (tickLower = -100)
maxPrice = 1.2995 DAI per sUSD (tickUpper = 2620)

Although fixing the bounds reduces the flexibility afforded by Uniswap V3, it simplifies the logic for determining who is eligible to receive rewards. It will also ensure that people are providing liquidity on both sides of the market and not trying to game the rewards system by not making their liquidity active. The skewed range attempts to capture the imbalance of liquidity that exists between DAI, which is easily moved between L1 to L2, and sUSD, which is limited by the number of SNX that exists on L2.

The start and end period will be broken up into 3 hour chunks, where the following algorithm is applied:

1. Find all mint events at the pool address
2. Find all nft ids using transfer events that are at the same block number as the mint events
3. Find all "increaseLiquidity" events for the nfts in step 2
4. Find all "decreaseLiquidity" events for the nfts in step 2
5. Get "liquidity" per nft as at the snapshot period end block number
6. Get "owner" per nft as at the snapshot period end block number
7. Discard any nfts that were transfered or had liquidity modified between snapshot start and end block numbers
8. Allocate share of tokens for the snapshot period to each nft/owner

ETH Market Pool

Address: 0x7af4e1ce484f40d927b9c90fb6905df4376fc3f6
Amount: 375,000 LYRA
Start: 1631869200
End: 1633078800

To be eligible for the rewards, sUSD must be deposited before the start of the round. Only active liquidity will be rewarded.

Test Cases

The script will be open sourced and available for anyone to run and verify.

Configurable Values

Uniswap Rewards = 375,000
Uniswap Start = 1631491200
Uniswap End = 1632700800

Lyra Rewards = 375,000
Lyra Start = 1631869200
Lyra End = 1633078800

Copyright and related rights waived via CC0.