ERC dEX Version 2
TLDR: We are thrilled to introduce you to the new and improved ERC dEX trading platform! With the updates to the 0x protocol, and upon collecting feedback from traders over the past year, we’ve upgraded the platform in significant ways to improve the experience! Specifically, cancellations are now free and trade collisions and front running are no longer possible. We’ve also added TradingView charts, a streamlined order creation process, customization capabilities for the market list, and much more!
Go to app.ercdex.com to start using the new version of ERC dEX.
You may trade from your Cipher, Coinbase Wallet, Trust Wallet or Dapp Browser on mobile, and from Parity, MetaMask, Trezor or Ledger on Desktop. Trade 51 tokens in two quote currencies: WETH and DAI.
The community is aware of the two main obstacles to mass adoption of decentralized exchanges: lack of liquidity and poor user experience. We are keenly focused on solving both issues for our traders and stakeholders. With this new version of ERC dEX, we believe we have significantly improved the user experience on several fronts, and are several paces closer to mass-adoption.
In this post, we will cover all major upgrades to the ERC dEX trading platform — from our architecture to the trading interface. We will also review the changes to the API and SDK, as well as the Market Maker Program and Automation Toolkit. Lastly, we will discuss liquidity sharing and the future of Aqueduct, our shared liquidity network. It’s a lot to cover, so sit tight!
It’s obvious (or it should be) that decentralization has many benefits, but we believe in using an off-chain approach where necessary to improve the user experience without compromising on security. To achieve our goal of providing the best and most secure trading experience, we’ve transformed our architecture, utilizing the Trade Execution Coordinator pattern.
What does a trade execution coordinator do?
The term ‘Trade Execution Coordinator’ (TEC for short) was first coined by Will Warren in the blog series “Front-running, Griefing and the Perils of Virtual Settlement”. Briefly, a TEC is any mechanism that controls the flow of orders in a decentralized trading system. By “bottlenecking” the flow of trades, some trusted party can make decisions about what trades are valid and which ones are not. We’ve implemented a server-side version of this architecture.
In short, when a trader wants to fill one or more orders, they send a signed request to our server. If the trade is approved, our server executes the trade on the trader’s behalf. From a trader’s perspective, the trader is still signing the same fill order data — the big difference is that they’re delegating the broadcasting of the transaction to ERC dEX. This is the mechanism that allows us to ensure orderly execution of trades as they come in.
Let’s discuss the main benefits to traders…
Better maintained order books
We now have a bullet-proof solution to the perennial “stale orderbook”. Our new execution engine allows us to track order changes with a high degree of accuracy. The old way of primarily monitoring the blockchain for changes was a somewhat error prone exercise.
Improved fee structure
We no longer charge maker fees. Taker fees will remain the same: 20 bps, or 0.2% of the taker volume. Secondly, the taker fees will be collected in the quote currency only. We currently offer WETH or DAI as quote currencies.
As always, fees will be collected upon execution of the trade.
No front running and no order collisions
Since orders are passed through our servers before being filled, we can place them in a queue and process trades on a first come, first serve basis. The old method required that transaction that settled on the blockchain first won the order. Traders could adjust the gas price to outpace the settlement of a pending order. Order collisions are also no longer possible due to this server-side queueing system.
Free order cancellations
Orders no longer need to be canceled on-chain. In order for any order open on ERC dEX to be filled, it must be approved by ERC dEX. As a result, cancellations can be done completely off-chain, enabling free and instant removal of orders.
This is especially beneficial for market making strategies that require frequent cancel and replace actions.
Gas payments for trading are abstracted
Instead of requiring gas to be paid directly by our traders, we will pay it ourselves and incorporate it into the fees as a “network fee”. We estimate the optimum gas needed to settle the transaction in a timely manner based on network traffic. This should provide a more consistent trading experience and will mean traders will not need to keep unwrapped ETH in their wallet for trading, as fees are paid out in the quote currency.
Unfortunately, we have not been able to abstract the wrapping of ETH. In order to trade on our platform, traders will still be required to wrap ETH — converting it to WETH — if they want to trade in WETH-quoted markets. This will require traders to pay gas (in ETH) for the transaction on the blockchain.
Authorizing tokens for trading also requires gas payment in ETH.
In addition to the large changes to our architecture, we also improved the user interface and user experience for interacting with the platform. The layout has been adjusted to surface the most important information in central, discoverable locations. We’ve also added several brand new UI features.
Let’s go over some of the user interface highlights…
The markets panel
The list of markets is one of the most important components on the page, so we moved it out of the dropdown window, and positioned it in the top left where traders can easily access it. It’s also a bit out of the way because it will not be interacted with while trading that market.
While liquidity is building on decentralized exchanges, it’s sometimes difficult to discover which markets have volume. We added the hot markets indicator (fire emoji) to help traders identify liquid markets. Traders can also “star” their favorite markets, which will pin the trading pair to the secondary navigation bar.
You can easily search the list of markets by symbol or name. If you do not find the token you are looking for, you can request it right in the application using the token request form. In the past, only token issuers could request a token, but we’re offering a more coordinated system for processing trader requests.
Many traders are accustomed to working with the charts provided by TradingView, and so we decided to offer them to our traders. We positioned the charts on the top right for easy access, and to give them more priority.
Just like the markets panel, this information needed to be on the main page of the application. Now you can easily see your balances while trading. Just like on the markets list, you can also pin tokens to the top of your wallet list for convenience.
The wallet is also positioned next to the order form for quick comparison. Once the form is submitted and the transaction settles, you will easily see the difference in your wallet.
The order execution flow
User education and “onboarding” is a challenge for new traders switching from centralized exchanges or first learning to trade on a decentralized trading platform (DEX). We’ve evolved our approach from a front-loaded onboarding flow to a contextual, “just-in-time” onboarding flow. We’ve found this new flow to be more user-friendly and less frustrating in general.
When a trader is placing an order but has not approved that token for trading, or has not wrapped enough ETH, he/she will be prompted to do so just-in-time. The trader will see the steps required to complete the trade.
This process reduces the cognitive load on the user, moves them in the right direction, and helps them succeed in reaching their ultimate goal — placing their order.
In-app and desktop notifications
Additionally, the notifications have been moved to the bottom right on the application, where they can be easily viewed and dismissed. You may also opt-in to the desktop notifications. Notifications include:
- order expiration (in-app, desktop)
- order removal (in-app, desktop)
- order creation (in-app only)
- order cancel (in-app only)
- order matched (pending, success, error states, in-app and desktop)
- market order/filling (pending, success, error states, in-app and desktop)
The news feed
Lastly, an interesting addition to the ERC dEX trading platform is the news feed. Traders often review news pertaining to tokens they are trading. Now traders can do that directly on the user interface, where trading takes place. We will list all ERC dEX news here as well.
For greater convenience, the mobile trading view has been streamlined into a single list view of all of the markets. The market price is listed, as well as an option to buy or sell. The streamlined order execution flow is also used for the mobile version.
Big changes have also come to our developer tools
At ERC dEX, we maintain a few different APIs: a REST API for ticker data, historic trades, orders, news and more, and a WebSockets API to receive information on orders in real-time. We also offer an SDK in TypeScript, Java, and Python for traders and developers to easily integrate these tools into their applications. Unfortunately, these are completely new versions of the API and SDK, so the v1 tools will be deprecated.
One thing to note with the Aqueduct package — it has been renamed @ercdex/core on NPM. It supports the new API only, not version 1.
In addition to these tools, we’re introducing the command line interface (CLI) tool (npm package: @ercdex/cli). You can perform all of the basic trading actions through the CLI and access relevant data. From the CLI, you can also launch a proxy server to automate more advanced scripting capabilities.
Read more about the CLI tooling, the APIs and SDKs on our new and improved documentation site. It’s equipped with quick start guides and more in-depth descriptions of parameters and responses.
Let’s talk about our Market Maker Program and the Automation Toolkit
The market maker program version 1 will be deprecated in favor of a more robust system for version 2. Existing rebate contracts have been paid out to market makers in the program. The program will function exactly the same way in the new version, with the same rebate tier structure and payment schedule, except the payments will be processed in a slightly different manner — using the new server-side trade execution coordinator. Rebates will be paid out in the quote currency, exclusively.
Additionally, there is a new version of the Market Maker Automation Toolkit desktop application. You may now install the NPM module: @ercdex/mm and start up the application from the command line. The user interface can be viewed in the browser. However, the application is still only running in your local environment.
Just to reconfirm — while using the Automation Toolkit, your private key is not exposed to the internet or saved anywhere other than on your own computer.
Liquidity sharing and the Aqueduct liquidity network
We believe strongly in sharing liquidity among all interested parties. We’d like to highlight and thank our Aqueduct partners, who have been a pleasure to work with:
Our long-term vision is to create a global shared liquidity pool for tokenized assets. Our new architecture makes liquidity sharing somewhat less straightforward, but still possible. Our new system will improve user experience, in turn, increasing the liquidity on our platform, and the liquidity for our network. We’ll be reaching out to Aqueduct partners to discuss integration options.
With these changes, we hope to have crafted a better user experience for our traders. There are many more features and products we’d like to create, and we believe we have built a solid foundation to do so. Let us know what you think about the latest updates in the comments section, or check out the new site and start trading!
A few more things to note!
All orders on ERC dEX version 1 will not be compatible with version 2
You’ll need to cancel all of your orders and recreate them on the new platform. We’ll be hosting the version 1 of the site for a month after launch for this reason. Visit the old site at https://app-v1.ercdex.com.
The WETH contract has not changed, so no need to wrap/unwrap
Your WETH stays in your wallet, so it can be used on the new platform. No need to change anything here or try to move your ETH to a new contract.
You do, however, need to re-authorize tokens for trading on the new 0x exchange contract.
If you have them authorized on the 0x v1 contract, you will need to authorize them again, which will require paying gas. ERC dEX is unable to process this for you, so you’ll need the necessary ETH in your wallet to do this.
We’ll be here to assist you through our chat widget on the application or in Telegram if you run into any problems. Happy trading!