We want to introduce a new exchange that is ready to be deployed on mainnet.
It comes with a few features that make it unique and we believe it can add additional value beyond what current DEXs can provide.
Features
-
Full decentralization
a) all actions on chain (contracts thus 1st class citizens)
b) anyone can list tokens
c) no role with special rights in the trading process
d) a DAO will be able to make upgrades to the contract but only with a 30 day notice period -
Regular user (including contracts) can (relatively) safely submit market orders
a) market orders can not be attacked with frontrunning
b) a market maker does not need to constantly update prices onchain to provide a small spread
c) those advantages are “bought” with slow execution of trades (on average 6-12h) -
It should be possible to use the DutchX as a fairly reliable price oracle for any token that is traded here. (if a price update just every ~6 hours is acceptable)
How it works
Using the mechanics of a dutch auction.
- Anyone can register a token pair (A/B)
- traders can act as askers (market order) or bidders (limit order)
- upfront enough askers need to commit to sell token A for token B
- once a threshold is reached a auction will start at 2* the previous price (market price)
- the price will continuously fall down, reaching the previous price after 6h and 0 after 24.
- at any time bidders can commit to buy A with B at the current price (or better)
- once enough bid volume is reached to buy all ask volume at the current price the auction closes
- everyone will get the same price
For each auction A/B a parallel auction B/A will run (if there is ask volume).
Fee structure
A fee structure is build around a native reward token of the DutchX that can only be earned by providing liquidity/ trading on the dutchX. (MGN = Magnolia token)
- all fees remain in the system - there is no flow to an external party
- fees are taken out of each trade and are put into the next batch as a “bonus”
- thus every auction (with the exception of the first) pays fees into the next but receives from the previous
- every trade will produce MGN tokens. Traders can reduce their individual fee rate if they hold MGN
- effective personal fee rate will be (average fee rate - personal rate) thus a trader with a low personal fee rate would receive fees
- up to half of the fee can be paid with OWL (the fee credits generated by locking GNO) - used OWL is burned
The contracts can be found here: https://github.com/gnosis/dx-contracts
The dutchX is deployed on Rinkeby here: 0xd78ae0828deda8995076175ea5a388e8e5b9f0c1
Simple trading bots and a CLI can be found here: https://github.com/gnosis/dx-services
More infos on our blog: https://blog.gnosis.pm/tagged/dutchx
A security audit and bug bounty program was done - a mainnet release is imminent.