dxSwap 2.0 - A simple swap interface for Gnosis Protocol

The goal of this post is to start a discussion about this product idea, its benefits, feasibility, and gather some feedback from the community before it is truly materialized.

It is very early to estimate the total scope of this project, but as the product starts to take shape we would like to submit a formal proposal to the dxDAO for funding of this project.

TL;DR

The current dapp for trading on Gnosis Protocol, https://mesa.eth.link, is quite sophisticated and involves a handful of user transactions.

There is a large potential for users who only want to swap one token for another at a good price (e.g. KyberSwap, Uniswap, Oasis instant etc.). The core value proposition of GP is that due to the mechanism design, the protocol could offer better prices than even aggregators (at the expense of taking longer).

We propose to bundle GP transactions, build a simple swap interface and add withdrawal automation. An extension could be to show the user different prices for aggregators on top of the likely GP price.

The idea

The Gnosis Protocol introduces a new, fully decentralized exchange mechanism for ERC20 tokens. It provides a global permissionless liquidity pool and a matching engine that does not require a trusted operator while still maximizing trader welfare.

One of the most important Defi use cases is the ability of a user to convert (trade) any token into any other token. There are different forms of trading. One might be a more sophisticated trader that might want to actively set orders at specific prices but often a user simply wants to get a quote and either take it or not.

The original Shapeshift UI pioneered this approach and nowadays it is almost the norm on all DEXs. KyberSwap, Uniswap, Oasis-Instant are a few examples of those interfaces. However, those interfaces only show the price of that particular exchange. The next evolution is DEXs aggregators (1inch, paraswap, Totle, 0xAPI and dexAG). They try to compare or even combine all the available exchanges to give the user the best available price. The Gnosis Protocol currently lacks such a simple interface.

Another pain we propose to relieve is the user UX around wallet interactions. To do a simple trade currently 4-5 transactions are required: potentially wrapping ETH, Allowance, deposit, place order, (wait 5-10 minutes), withdrawal request, execute withdrawal. We want to create a UI that bundles all those steps into 1 or 2.

The technical flow would be: (first time, set allowance) and then all-in-one transaction: deposit, place order, withdrawal request (of token you are buying), and finally incentive a 3rd party service to claim your buy token for you after the trade is cleared.

After 5-10 minutes, when the trade is cleared, an external service (Gelato - similar to Ethereum alarm clock) will trigger the final withdrawal. From a user perspective, this will be very similar to the original shapeshift where trades were also not instant but at least after submitting them you could basically “close the tab” and eventually the tokens you want to buy would end up in your wallet.

Such UI would bring the UX (almost) on par with DEX aggregators. This is what we envision for dxSwap v1, but there is more.

Why should a user prefer to trade on dxSwap over a DEX aggregator?

The only answer can be: better price!

It is possible that the Gnosis Protocol already provides the best price, but in the cases where it is not, we have an additional mechanism.

As traders signal their trade intent, this gives market makers the chance to compete in giving them the best price. This is exactly what happens when a user posts a buy order on Gnosis Protocol. AFTER the user submitted the trade, Market Makers can still compete until the batch closes (up to 5 min) to give the best offer. (Semi)-trusted market makers can signal their quotes constantly off-chain without embarking the cost of creating a binding of-chain offer (signed order), or even an on-chain offer that consumes gas costs.

This makes it possible to get a better offer than the one that was available 5 minutes ago but that still makes sense to Market Makers because it does not incur on additional gas costs.

How it would work

V1: Simple swap interface

Simplicity is key, so we will create a minimalistic UI that leverages the Gnosis Protocol to create limit orders, combine it with the powerful Gnosis Contract Proxy Kit to reduce the number of signed transactions, and finally introduce withdrawal automation using Gelato so traders don’t have to come back to the app to withdraw the tokens resulting from their trades.

This can be a product by itself, so we propose to make it the first version and measure the results while we move into v2.

V2: Best price guaranty

We believe this approach of combining Gnosis Protocol with selected Market Maker quotes can very often truly offer the best price and that’s why the goal is to be as transparent as possible about prices, even comparing prices with other platforms. The idea is to query prices from DEX aggregators and show them in comparison. There are currently 5 dex aggregators, potentially all of those prices can be queried and shown.

The UI will show the DEX aggregator price as “quick price” and the Gnosis Protocol as the “best price”. In cases where the Gnosis Protocol price estimator (from e.g. the market maker quote) would not offer at least the “quick price” - the “best price” option would be grayed out and the user is suggested to use a DEX aggregator.

What are the benefits for dxDAO

Currently, dxSwap is a Uniswap V2 clone without any additional features. It is unlikely that the current product will attract many users if the product doesn’t differentiate itself from the original. The suggested swap interface can be combined with dxSwap enhancing the user experience by offering more trading options and more competitive prices. dxSwap 2.0 will be a competitive exchange product and will bring trading volume to the Gnosis Protocol.

Why Protofire

At Protofire we have extensive experience working with several Defi platforms and also have first-hand knowledge about most of Gnosis’ protocols and libraries. We have worked with the DutchX protocol, creating Fairdex, worked with, and collaborated in the development of the Conditional Tokens Framework, its arbitrators, and oracle integrations, resulting in the development of Omen, coronainformationmarkets.com and very soon the Conditional Token Explorer, where we also integrated Gnosis’ CPK.

We are also actively participating in the Gnosis Safe ecosystem, both on the CPK front and in the Gnosis Safe Apps.

Finally, we have had our eye in the Gnosis protocol for months, carefully studied the specs, and discussed product ideas with its core developers.

Annex: existing research

Closing words

We are opening this proposal to discuss the concept and to make sure there is interest alignment and ensure the best ideas can be included in the project. We are convinced that we can create a better product if we work collectively.

10 Likes

I always felt like dxSwap needed something next-level. I think this is a very exciting start.

dxswap

1 Like

I am realy like GP and I think Mesa it is first UI and first step on long road for GP mass adoption. dxSwap sounds very interesting. It is high level prioritization in dxDAO goals.

2 Likes

Have to disagree here. I still think DXdao best product is governance which will be used to differentiate by governing the controversial fee added to uniswap v2.

That being said, I really like the proposal and think it will help to bridge the gap between the current Mesa UI and the uniswap simplicity users learned to appreciate.

The way market makers will be involved is still a bit unclear to me.
Wouldn’t it require some trust from the user side? (MM don’t have those orders standing on chain)

3 Likes

Yes, this will require some level of trust and that’s why in the beginning we propose to limit the list of market makers. We haven’t figured out all the details about this feature yet but I think when posting a new order you would never get less than you asked for and in the worst-case scenario if the MM backs down, the trade just would not go through in the first 5 minutes and this makes it available for other MMs to participate.

Seeing as Balancer is becoming more popular nowadays and is more versatile than Uniswap due to the ability of the user to choose their own liquidity pool ratios, perhaps that feature would be nice to include in dxSwap as well.

1 Like

Happy to contribute some of my time to help build that!

1 Like