SIP-98: Re-implement double exchange fee rate on swing trades
Author | |
---|---|
Discussions-To | https://discord.gg/CDTvjHY |
Status | Implemented |
Created | 2020-11-27 |
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 swing trading between the long and inverse synth of a feed, i,e sBTC
and iBTC
without moving into sUSD
first. This mechanism was previously implemented in SIP-21. This SIP targets swing trading and reduces the need to increase fees on the synths via SCCP's which affect other traders / users of the platform.
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.
It has been observed that there are possibilities to frontrun real world prices and the on-chain oracle prices between the long s
synth and the inverse synth, without moving in between sUSD
which would incur a 30bips fee to sell the short or long position first before opening a swing trade.
Exchanging in or out of sUSD
will not double the fee.
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()
For example, if the exchange fee rate is 30 bips, it would make the swing trade 60 bips both direction.
Test Cases
https://github.com/Synthetixio/synthetix/blob/v2.34.0/test/contracts/Exchanger.spec.js#L2239
Implementation
While implementing this SIP, sBTC and iBTC, sETH and iETH trading fees were also reduced back to 30bps, as they had been increased as per SCCP-65 and SCCP-62 to combat frontrunning that was observed utilising swing trades between short and long synths.
Copyright
Copyright and related rights waived via CC0.