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
- Original StableSwap wireframes: https://docs.google.com/presentation/d/1dQGjp4NgNfceFEqDyuhXY5WxlVl4NU7owXGRrjSdxgk/edit#slide=id.p
- Initial StableSwap specification (outdated): https://docs.google.com/document/d/1r8palpWDnJy251ssT-Ou5JKwdiIYq8xwY9UEnPVjNpM/edit
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.