SIP-70: Automated weekly trading competition

Author
Discussions-To<https://discordapp.com/invite/AEdUHzt>
StatusRejected
Created2020-05-04

Simple Summary

The basic idea is adding weekly trading rewards to attract new traders to https://synthetix.exchange/ as well as to encourage SNX minters to actively trade their synths on the exchange. Ultimately, the goal is constant growth in exchange usage and volume.

Abstract

The idea of staking SNX was always to be profitable based on trading fees distributed to stakers. As an intermediate incentive to encourage staking until the exchange achieves mass adoption Synthetix has introduced inflation rewards. This proved to be an excellent incentive, and currently those weekly inflation rewards are the dominant reason ~ 87% SNX is staked. The weekly sUSD fees represent pennies on the dollar for stakers, and in most cases dont even justify the gas price to claim them.

Motivation

It was always clear that inflation is not the longterm solution to attract and keep stakers, or at least it can not suceed by itself. After a year of building a great community of stable stakers and getting the exchange features to the sufficient quality and diversity (in terms of synths available) level, it is time to aim for mass adoption.

A good starting point to build exposure and attract new traders is to introduce a rewards system encouraging trades. The idea is to divert (invest) some fees or inflation to reward top traders taking into account both the success of the trades, but also the volume they created on a weekly level, thus encouraging active trading.

Specification

The idea is to build this rewards system by making it as simple and as seamless for traders as possible.

The rewards should be weekly, either on a Monday-Sunday level, or following the existing staking snapshots.

We would define three categories for rewards depending on the weekly generated trading volume of a wallet:

  • Whale - 10k+
  • Dolphin - 1k to 10k
  • Shrimp - 100 to 1k

The only thing that the traders need to do to be eligible for weekly rewards is to trade at list 100sUSD worth of weekly volume. All whales are eligible for dolphin rewards, if they haven't won any rewards in their primary tier. Same applies to dolphins in regards to shrimps.

Suggested rewards in SNX per category for first 3 (5 for shrimps) places are:

  • Whale: 3000, 2000, 1000
  • Dolphin: 1000, 700, 500
  • Shrimp:500, 300, 200, 100, 50

Total: 9.35k The boost in volume required to justify the funds spent on rewards: 3 million

As already explained, the idea is to have this system working seamlessly for the traders. That means that they dont need to worry about disqualifications, as there would be none. Traders are free to do with their wallets as they wish, meaning they can add or remove synths at any time.

As the motivation is to boost trades, for rewards ranking the fees generated by a wallet will be added as its gain. In addition, there will be a bonus trading quotient based on how much volume the wallet has divided by the category threshold, up to 10%.

Wallet start balance is the value of his synths at the starting block per oracle prices at that block. If during the week, the wallet adds new synths, their value at the block in which they were added is added to the starting balance.

Wallet end balance is the value of the synths at the ending weekly block plus the fees the wallet generated during the week (as we dont want to penalize traders in the rewards system). If during the week, the wallet moves away some synths, their value at the block in which they were moved is added to the end balance.

The percentage weekly gain is: ((endBalance+feesGenerated)tradingQuotient-startBalance)/startBalance. Where tradingQuotient=tradeVolume0.01/tierThreshold+1 Maximum value of the tradingQuotient is 1.1 (10%).

Rationale

Alternative solution was embedding a fortnightly trading competition as it was organized before into the exchange itself and having onchain registration and rewards claims. This means more implementation effort as well as more actions for traders who would then have to worry about creating a clean (sUSD only) wallet to begin with, as well as worrying about disqualifications.

In trading competitions as they were organized before, traders would think very hard about changing their positions, taking into account that 0.3% is deducted from every trade. As we want to maximise the number and volume of trades, this should not be deducted from the gain in the ranking system.

Test Cases

Simple case dolphins

Start balance End balance Trading volume Fees generated Balance+Fees Bonus(%) Balance with bonus Gain
John 1000 2000 9000 27 2027 9 2209.4 120.9%
Paul 2000 3500 3000 9 3509 3 3614.3 80.7%
Jane 1000 1500 1000 3 1503 0 1503 50.3

Case with synths added/removed dolphins

Lets reuse the example above but imagine John has moved sETH from his wallet during the week. At the block in which it was moved, this sETH was worth 200sUSD. His starting balance will stay the same, but we will add those 200sUSD to his end balance as to correctly calculate the gain.

Lets also imagine Paul has added 100sLink during the week. At the block in which they were added sLink price was 4sUSD, so 400sUSD is added to his starting balance. As the price of sLINK has risen and is worth 5sUSD at the end of the week, his ending balance is increased by 500sUSD;

Start balance End balance Trading volume Fees generated Balance+Fees Bonus(%) Balance with bonus Gain
John 1000 2000 9000 27 2027 9 2209.4 120.9%
Paul 2400 4000 3000 9 4009 3 4129.3 72.05%
Jane 1000 1500 1000 3 1503 0 1503 50.3%

Case with whale winning rewards in dolphin cateogry

Now if John wanted to continue trading once he reached 9999sUSD trading volume, he might feel discouraged as he loses his current trading bonus. This is why all whales will still be considered in the dolphin category, provided that they didnt win any prizes in the whale category.

Start balance End balance Trading volume Fees generated Balance+Fees Bonus(%) Balance with bonus Gain
John 1000 2000 11000 33 2033 10 2236.3 123.6%
Paul 2400 4000 3000 9 4009 3 4129.3 72.05%
Jane 1000 1500 1000 3 1503 0 1503 50.3%

Implementation

The SIP is written with the idea to minimize the implementation effort, thus requiring no on-chain computations. The effort resides in reading the data correctly off chain and creating the leaderboard page on the synthetix exchange.

Rewards distribution can be done manually in the trial period.

Configurable Values (Via SCCP)

  • Rewards quantity - suggested 9350 weekly SNX
  • Rewards source - grants DAO
  • Rewards distribution per category
  • Category thresholds

Copyright and related rights waived via CC0.