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.
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.
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.
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.
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
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.
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.”
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.
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.
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.
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.
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.