SIP-198: Atomic Exchange At Pure Chainlink Price


Simple Summary

Update the atomic exchange functionality, laid out in SIP-120, in order to allow trading of certain synths at purely the chainlink price.


The SIP proposes to incorporate into the atomic exchanges the ablity to configure a pure chainlink price feed for certain synths.


Currently in order to add a synth into Atomic Exchanges, we need the following:

  • The synth that can be traded
  • The equivalent uni-v3 token
  • The atomic price buffer
  • The atomic exchange fee

However, it is impossible to configure some forex stable synths due to the lack of an equivalent dex token that has deep persistent liquidity. One example is the recent EUR addition where we configured sEUR to take on the EURT token price. But TVL had dried up on the EURT/USDC pair, and liquidity flowed towards the EURT/USDT pool. This resulted in atomic prices being quoted at uncompetitive prices with respect to the fill that can be obtained elsewhere. An analysis run on both EUR and GBP, whereby we looked at the price differential between the pure chainlink price against the prices seen on centralized exchanges reveals that a fee of 20 bp would more than sufficient to cover the latency gap related to pushing prices on ETH by an oracle. In fact, chainlink push threshold on all forex synths is around 15 bp, which allows us to provide really competitive pricing without incurring the risk of oracle front-running.

Regarding the use case, synth stables on ETH have gained significant market share, due to the integration with FixedForex project and demand for these synths on curve for farming purposes. At the time of writing, the synth-forex market cap is around $220m and distributed as follows:

  • sEUR $108m
  • sJPY $21m
  • sAUD $18m
  • sGBP $29m
  • sCHF $27m
  • sKRW $19m

Hence, we should expect some volume with atomic forex trading across different curve pools, for curve farming, as well as different integration with other partners.




Technical Specification


Test Cases

On a sBTC -> sEUR trade worth 1 sBTC:

  • Given sEUR is configured to trade at purely the chainlink price, with 1.20 sUSD per EUR, and sBTC is configured to trade as per the specification laid out in SIP-120 resulting in a price of sUSD 50,000 per bitcoin.
    • The user receives 41,666.666 sEUR before factoring in fees.

Configurable Values (Via SCCP)

Copyright and related rights waived via CC0.