Volume-based trading incentives proposal

Serum should incentivize trading volume by modifying the fee schedule to be volume-based and introducing a trading rewards program. The goal of such a system is to reward traders proportional to the amount of volume they execute on Serum. The system will reward market makers in order to drive more liquidity to the exchange. It will also reward takers, which will offset trading fees and provide a very low cost of execution. These rewards will be implemented as reward pools, which function similarly to Curve’s liquidity gauges. Each Serum market will have its own reward pool, which will be funded both by SRM emissions as well as third-party token contributions.

Why volume?

Liquidity incentives are common in DeFi, and relatively straightforward to implement for AMMs. Mapping these incentive systems to a CLOB proves more challenging.

There has been some prior discussion on liquidity incentives for Serum on the forum. As pointed out by JumpCrypto in that thread, incentivizing TVL or open interest (notional quantity of assets in the order book) isn’t necessarily improving Serum’s execution:

As we work to boost TVL, we might as well focus on making it as productive as possible:

  • We should ensure that a reasonable portion of the partner protocol’s liquidity is close to the prevailing market price so that it can interact with takers and promote trading volume. For example, imagine a new unhelpful protocol which allows people to deposit USDC and then bids SOL/USDC on Serum at 0.01. That liquidity will never trade and will get a ‘free’ 10% SRM emission. That is an obviously extreme example but, in general, different protocols will be more or less aggressive about posting liquidity near the inside best bid/offer, and we should have a way to reward the ones that are more aggressive.
  • There should also be an incentive for protocols to route taker volume to Serum. That won’t boost TVL but it will promote more organic liquidity as part of the virtuous cycle between takers and makers.
  • Both of the above issues could be addressed by including a simultaneous incentive for volume. We would suggest emissions of 50% of the above TVL incentives (1.5M-3M SRM) to accomplish this.

The metric that is really important to Serum is volume, rather than TVL. It therefore makes sense that incentivizing volume directly is the simplest way to increase it. Unlike TVL, volume is difficult to spoof (other than with wash trading, which can be protected against). It also requires market makers to place orders closer to midpoint so that they will actually fill. It’s true that deeper liquidity is also important to the exchange, and in the future Serum can consider incentivizing open interest, likely with a scaling factor to reward orders closer to midpoint.

Volume-based fee schedule

To reward traders for higher-volume trading, Serum’s fee schedule should be based on volume traded over the last 30 days. Serum’s fee schedule should be competitive with centralized exchanges like FTX, as well as with other DEXes like dYdX.

The current fee schedule is based on the amount of SRM held by the trader. With the proposed design, traders will still be incentivized to hold SRM (and lock it) via reward pools (see next section), even though fees will be purely volume-based.

Trading rewards (reward pools)

Inspired by yield farming systems employed by AMMs to bootstrap exchange liquidity, reward pools will allow traders to earn “yield” on their trading volume. Each Serum market will have a reward pool. A percentage of SRM emissions will be distributed among the reward pools according to the pool weights. Pool weights are updated weekly based on votes cast by veSRM token holders.

Traders can claim tokens from reward pools daily proportional to their 24h trading volume on that pool’s market. Traders can further boost their rewards with veSRM. A majority of pool rewards are reserved for market makers, though takers also receive some rewards.

Reward formula

The reward formula will be designed to reward traders proportional to both their trading volume and their veSRM balance (see veSRM proposal).

One possible formula to determine a trader’s reward for trading on a single Serum market could be:

trader_reward = (trader_earning_weight / total_earning_weight) * total_rewards

where:

trader_earning_weight = min(
    trader_24h_volume * 0.4 + market_24h_volume * trader_veSRM / total_veSRM * 0.6, 
		trader_24h_volume
)

This earning weight formula is based on Curve Finance’s liquidity provider reward formula. It ensures that the proportion of veSRM a trader must hold in order to receive the maximum boost is equal to the proportion of volume they execute on the pool’s market. In other words, as traders are responsible for more of the market’s volume, and therefore can receive more volume rewards, they must hold more veSRM in order to continue to receive the maximum boost.

Third-party rewards

Reward pools will also support third-party rewards and multiple token types. For example, a protocol interested in incentivizing liquidity on a market for its token could contribute tokens to that market’s reward pool in order to increase the pool’s reward rate. This is somewhat similar to Raydium’s “Fusion Pools.”

Pool weight voting

Similar to Curve’s liquidity gauge weights, Serum’s reward pool weights will be determined weekly based on a vote of veSRM holders. veSRM holders can contribute votes to reward pools throughout the week; a pool’s weight is determined by the percentage of votes it receives. The pool weight determines the portion of daily SRM emissions deposited in the pool.

Preventing wash trading

The rewards system could create certain scenarios in which wash trading (acting as both maker and taker for the same trade) is profitable. This is an issue that dYdX faced after introducing trading rewards. The design will be tuned to minimize these opportunities, and the implementation will also include screening for blatant wash trading, which will exclude wash traders from the exchange.

Relationship to Serum GUIs

It is worth noting that trading rewards will be tied to the wallet used to place trades. For traders who interact with Serum markets via a third-party protocol (e.g. Raydium, Mango Markets, Atrix, etc.), their trades may be routed through a wallet owned by the third-party. In such a case, the rewards will be attributed to the third-party protocol, rather than the end user. Serum will encourage protocols to pass these rewards on to their users, however it is up to these protocols to determine how to do so. This may warrant further discussion in later proposals.

Benefits for Serum

Volume-based trading incentives, especially for market-makers, should quickly increase Serum’s liquidity, and therefore decrease price impact. Combined with competitive volume-based taker fees, subsidized by rewards, overall execution on Serum should be very competitive. This should quickly drive more volume to the exchange. For example, aggregators like Jupiter (~$78mm 24h volume) will automatically direct trades to the venue with best execution, so providing best execution will help Serum automatically capture that volume.

Implementation

This design can be implemented in two phases. The first phase would modify the fee schedule to be based on volume, and the second phase would introduce volume rewards (shown below). Note: the veSRM portion of the diagram depends on the success of the veSRM proposal.

Each of the above changes would be introduced via a DAO vote.

2 Likes

Super thoughtful proposal that leverages the well-understood fee schedule for most futures exchanges. Trade more and pay a lower incremental fee. Feels a lot more natural than getting a fee break with a MegaSerum.

1 Like

support this, very positive move for Serum.

Malintent and bad actors should be punished tho. We dont want people taking the piss like they do with serum fee tiers.

1 Like

everybody should read

who is the chicken and who is the egg?

1 Like

@MJP interesting thread. I think an important difference between dYdX’s structure and this proposal is how token holders are incentivized. dYdX gives token holders fee discounts based on the amount of dYdX token held. These discount tiers are fixed (sort of similar to Serum’s current fee schedule). So for large MMs, there’s a relatively small fixed cost to receiving low fees, and the discount may not even be that attractive compared to the rewards they earn. So incentives between token holders and MMs aren’t very aligned.

In this proposal, the reward function takes into account veSRM balance. The balance required to receive max rewards is also a function of total veSRM and trading volume–so MMs need to keep upping their veSRM balance as they trade more and as others lock SRM->veSRM. IMO, this is a stronger incentive alignment that should mitigate the sell pressure dYdX is experiencing from their rewards program.

Another difference worth mentioning is the proposed trading reward interval (dYdX calls this “epoch”) length. dYdX has monthly epochs, which probably exacerbates the phenomenon of supposed wash trading at the end of the epoch. With shorter intervals (e.g. 1 day), it should be more difficult for big MMs to predict their rewards and inflate volume so dramatically (also covered here).

2 Likes

A DAO vote for this proposal is live: https://realms.today/dao/SERUM/proposal/Hedd2eN1QTcKGZUUb3k9BZSebMSpFsLDgm8TFJ65WTt9