Links

Trading Rewards

Traders on the Lyra Protocol earn rewards for opening and holding positions. The program is designed to reward traders who:
  • Pay higher fees relative to premiums.
  • Open shorter-dated positions, freeing up more liquidity in vaults.
  • Hold a position until expiry, discouraging malicious sybil activity.
Each open position earns a daily score. A trader earns their share of a pool of rewards proportional to their total score at the end of each epoch.
Traders can also receive multipliers on their rewards by meeting certain conditions, such as staking LYRA, holding a top trader score for a day, or being referred by another trader.
Tier
Conditions
Multiplier
I
Unverified referrer
1.1x
II
1k stkLYRA or top 100 or verified referred
1.2x
III
10k stkLYRA or top 50
1.5x
IV
50k stkLYRA or top 25
2x
V
250k stkLYRA or top 10
2.5x

Formula

Let:
  • FF
    be the amount of fees in a trade
  • PP
    be the premium of the trade
  • TT
    be the number of days to expiry of the option
  • LL
    be the number of days in the epoch
  • MdailyM_{daily}
    be the daily multiplier
  • RtotalR_{total}
    be the total rewards distributed for the epoch
Define the fee score
FscoreF_{score}
as:
Fscore=1+FPF_{score} = 1 + \sqrt{\frac{F}{P}}
Define the time score
TscoreT_{score}
as:
Tscore=max(1TL,0.2)T_{score} = \max(1 - \frac{T}{L}, 0.2)
Define a position's daily score
PdailyP_{daily}
as:
Pdaily=F×Fscore×TscoreDP_{daily} = \frac{F \times F_{score} \times T_{score}}{D}
If a trader adjusts or closes their position, a time-weighted average of the daily position score is taken using the before and after
FscoreF_{score}
and
TscoreT_{score}
.
Define a user's daily score
SdailyS_{daily}
as:
Sdaily=Mdaily×j=1nPscorejS_{daily} = \sqrt{M_{daily} \times \sum\limits_{j=1}^{n} P_{score_{j}}}
Define a user's total score
StraderS_{trader}
as:
Strader=i=1DSdailyiS_{trader} = \sum\limits_{i=1}^{D} S_{daily_{i}}
A trader's rewards are proportional to their score relative to the sum of all
kk
trader scores:
Rtrader=Straderk=1mStraderk×RtotalR_{trader} = \frac{S_{trader}}{\sum\limits_{k=1}^{m} S_{trader_{k}}} \times R_{total}

Implementation

  • Trading rewards are calculated off-chain and distributed via reward distribution contracts.
  • Reward quantities, tiers, and their conditions are set by Snapshot votes.
  • Rewards are distributed in fortnightly epochs.