SIP-21: Double exchange fee rate on swing trades

Author
StatusImplemented
TypeGovernance
NetworkEthereum
ImplementorTBD
ReleaseTBD
Created2019-10-17

Simple Summary

Double the exchange fee rate on any swing trade. That is any move to or from an s Synth to an i Synth. e.g. sTRX <> iBTC or iETH <> sBNB. The one Synth excluded from this is sUSD - moving in or out of sUSD will not double the fee.

Abstract

Doubling the exchange fee rate would reduce the amount of opportunities for a front runner however in a volatile market would not be effective anymore. The lever is the exchange fee rate which is just a configuration change via a SCCP.

This has already been discussed in where the bot runners have down voted this issue. Where as the majority of the community voted it up.

Motivation

There is already a leveraged benefit on the inverse Synths and currently being able to trade short <> long in a volatile market is a continuous advantage to front runners.

Specification

  • In Synthetix.exchange() detect a swing trade, that is any exchange to or from any synth beginning with s or i.
  • Double the ExchangeRates.exchangeFeeRate()

The normal exchange fee rate is 30 bips. It is currently 50 bips which would make the swing trade 100 bips. When it is restored to 30 bips it would then only be 60 bips on a swing trade.

This is only a temporary stop-gap until either:

  • the full implementation of sip-12 is rolled out which should reduce the lag opportunity on price updates
  • or the implementation of the chainlink + exchange order queue (proposed in this issue)

Once one of the above is implemented, then I propose to remove this exchange fee doubling mechanism.

Test Cases

https://github.com/Synthetixio/synthetix/blob/v2.12.2/test/Synthetix.js#L2833

Implementation

https://github.com/Synthetixio/synthetix/commit/4022200fbe82ff25f6113993dc3bc84c442240c1

Copyright and related rights waived via CC0.