Here is a draft proposal to start Jet’s first liquidity mining program, feedback is welcome. The proposal also includes a small retroactive reward for governance participants.
Summary
This proposal seeks to deploy a part of the JET token treasury (137,700,946 JET
) as rewards to users in the community, primarily for liquidity providers in Jet’s fixed-term lending markets, over a 4-year period starting with the release of the markets on Solana mainnet.
Motivation
In order for the fixed-term lending markets to function well there needs to be liquidity in the market. Liquidity mining programs have been successfully implemented by various DeFi projects to incentivize users to provide liquidity through the distribution of their governance tokens as rewards.
This will also help to increase the total circulating supply of JET tokens.
Specification
The reward breakdown is:
-
134,100,946 JET
to be distributed to users providing maker liquidity in fixed-term markets. -
3,600,000 JET
to be distributed retroactively to previous participants in DAO votes on asset listings
All rewards are distributed to users as airdrops, through Jet’s governance system.
Liquidity Provider Rewards
Token rewards will be distributed to liquidity providers based on a formula intended to reward healthy participation in the fixed-term lending markets. The JET tokens will be distributed on a 30-day epoch over 4 years. 2,736,754 JET
will be distributed per epoch.
The distribution per epoch is allocated to two different provider types:
-
1,368,377 JET
to providers acting as lenders -
1,368,377 JET
to providers acting as borrowers
Liquidity providers are assigned a score based on the following formula:
// Score for each open order
let open_order_score = order_size * ln(order_interest_rate / (abs(mid_market_rate - order_interest_rate) / mid_market_rate))
// Sum all the open order scores for the minute sample
let q_sample = sum(open_order_scores)
// Scale the sampled score for open orders based on the market tenor, biased towards longer tenors
let q_scaled = q_sample * (1 + sqrt(market_tenor_days) / 30)
// Get the final score for a user in the 30-day epoch by summing all the sampled scores during that period
let q_score = sum(q_scaled)
Only orders within 200 basis points of the mid market rate will be considered for scoring.
Liquidity providers earn rewards based on their relative share of the total user score within the epoch, any user with a score exceeding 1% of the total will receive their reward share.
Once issued at the end of each epoch, rewards must be claimed within 90 days, otherwise unclaimed tokens are returned to the treasury.
Voter Retroactive Rewards
For early participants who voted on asset listings, they will receive a retroactive reward from the total reward pool of 3,600,000 JET
. The formula for determining a user’s share in the reward is described as:
// Get the user score by summing the recorded vote weights and adjusting by the amount of proposals
// the user participated in relative to the total number of proposals voted on.
let user_score = sum(casted_vote_weight ^ (1 / 3)) * user_vote_count / total_proposal_count
Users below a vote threshold of 1000
will be excluded.
The airdrop is made available starting 2023-06-01, and can be claimed for 90 days. After 90 days any unclaimed tokens are returned to the treasury.