*note, this blog post was updated on March 22, 2021 to reflect the following: assuming a balanced orderbook, rewards for asks are 3x the rewards for bids, minimum reward for bids is 0.3% of spot, and rewards will be claimable every 4 weeks to save users gas.
*note, this blog post was updated on April 23, 2021 to reflect the following: Opyn is doubling rewards for the USDC liquidity rewards program to $6k per week until June 4th.
Opyn will begin a USDC liquidity rewards program for eligible Opyn options starting March 5, 2021. The first campaigns will support WETH-USDC, with plans to support other pairs in the near future (e.g. WBTC-USDC); There will be a reward pool of up to 6000 USDC per week (until June 4th), distributed every 4 weeks.
- 4 weeks. 20:00 UTC on March 5, 2021 to 20:00 UTC April 9, 2021.
We refer to Hummingbot’s and Loopring’s liquidity mining concept and reward schema, where any trader who adds liquidity to the Opyn orderbook (places limit orders on the book) is competing for a pre-specified pool of funds. We would also like to shout out Balancer for developing the redeem reward front end and smart contract that we are using for our liquidity reward program.
In order to align risk and reward, there are four main parameters that Opyn will use to determine market maker compensation: (1) time: placing orders in the order book consistently over time, (2) spreads, (3) order sizes, and (4) order balancing. The rewards methodology rewards market makers more for placing orders consistently over time in the order book, placing orders with tighter spreads and with larger sizes and balancing the orderbook.
Time: The liquidity incentivization bot randomly queries the order book for eligible oTokens for the rewards program on some frequency (e.g. a random time throughout the day)
Spread: We implement a spread weight function to closely tie spreads to rewards. The reward decreases exponentially as the spread increases. There is also a maximum spread beyond which limit orders do not receive rewards.
Order Size: The program rewards market makers for order book depth. Market maker compensation is set in direct proportion to the market maker’s order size, scaled by the spread factor. For example, a 100 option order will earn 2x the rewards of a 50 option order.
Order balancing: We encourage users to mint options to provide sell side liquidity. Assuming a balanced orderbook, rewards for asks are 3x the rewards for bids.
- Reward payouts of up to 6000 USDC will be distributed every 4 weeks. The rewards will be evenly distributed across across eligible oTokens.
- The lowest bid price participants can earn rewards for is a net price of 0.3% of spot (i.e. ~$4.5/oToken if ETH is trading at $1,500) after fees are taken into account — this is to prevent users from placing limit orders that will never be filled.
Participants can check the rewards and rankings page on Opyn. Numbers will update after 4 weeks, and rewards will be claimable every 4 weeks to save users gas. Rewards will be payable if more than 1 USDC has accrued.
Calculation of Rewards
- The liquidity incentivization bot randomly queries the order book for eligible oTokens for the liquidity mining rewards program on some frequency (e.g. a random times throughout the day)
- For each order book, the bot calculates the net price for an order:
Net price bid = max(0,premium * options — fees to fill the order (0x fee + gas))
Net price ask= premium * options + fees to fill the order (0x fee + gas)
- The bot calculates the delta based on the mid market price ie (best net bid+ best net ask)/2, in cases where there is both a bid and ask on the orderbook
- The bot removes orders that are outside of a net price tightness band
Min Bid = Mid Market — max (1.25% * ETH Price, Delta * 5% * ETH Price), with a minimum of 0.3%*ETH Price
Max Ask = Mid Market + max (1.25% * ETH Price, Delta * 5% * ETH Price)
- The bot removes orders that are expiring in a short amount of time (<45 seconds)
- The bot calculates a weight for each limit order via:
SpreadWeight = e⁻²ˢ/ˢᵖʳᵉᵃᵈₘₐₓ
Where s=PercentageSpread = abs(MidMarketPrice-UserPrice)/MidMarketPrice
Spreadₘₐₓ = abs(MaxAsk-MinBid)/MidMarketPrice
- The bot calculates the order book imbalance for each individual oToken pair via:
TotalBidSizeᵢ = ∑ BidSizeᵢ
TotalAskSizeᵢ = ∑ AskSizeᵢ/3
- The bot calculates the order book imbalance weight for each individual oToken pair via:
With a maximum weight of 20 and minimum weight of 0.05, (BidWeightᵢ=TotalAskSize/TotalBidSize,)
With a maximum weight of 20 and minimum weight of 0.1, (AskWeightᵢ=TotalBidSize/TotalAskSize)
- The bot multiplies the spread weight and order book imbalance weight by the user order size to come up with a weighted order size:
For Bids: Weighted Orderᵢ = SpreadWeightᵢ*Sizeᵢ*BidWeight
For Asks: Weighted Orderᵢ = SpreadWeightᵢ*Sizeᵢ*AskWeight
- Total weighted order for each individual oToken pair is calculated as:
- Individual reward percentage is calculated as:
- Reward Percentages are applied and summed for each individual user. Rewards are split between all eligible oTokens and based on the proportionate rewards since the last run of the bot.
Claiming of Rewards
*note, the rewards and rankings page shows the top 10 users, however ALL traders who place limit orders are eligible for rewards and can redeem.
To claim rewards, users must complete the following steps:
- Go to the rewards and rankings page on Opyn to identify your ranking and rewards amount
- Connect your MetaMask wallet to the dashboard and click the “Next” button
- Click the “Claim” button under the Total Pending USDC card
- Confirm transaction with MetaMask
At Opyn we value our community and we strongly encourage anyone to contribute in improving Opyn. There are several ways you can contribute:
- 🛠️ BUIDL on top of Opyn. There are many applications and interfaces that can be built using Opyn. More info on: https://medium.com/opyn/buidling-with-options-otokens-in-defi-pt-2-f561eb67f4af or Join #dev channel on Opyn Discord
- 🐞 Participate in the Bug Bounty. Security is one of our highest priorities, so you can participate to v2 Bounty Program with rewards up to $100k. Learn more on https://opyn.gitbook.io/opyn-v2/get-started/security#bug-bounty-program
- 👩🚀 Become an Opynaut: members of the Opyn Community who share our values and are eager to take the responsibility to Spread the Knowledge! More info on https://medium.com/opyn/calling-for-opynauts-eaf8703fa8e5
- 🍄 Join Opyn. We’re hiring! You can find the available positions here: https://angel.co/company/opyn-4
- ✍️ Give us a feedback. We wouldn’t be here without inputs of the community. Join #feedback channel on Opyn Discord