0x is a famous protocol for decentralized exchanges, not a real exchange. Most of the decentralized exchanges today are built on top of 0x protocol which are called 0x relayers. The design of 0x’s smart contract has various features and functionalities. However, the user experience is highly impacted by the implementations of relayers.
First, I am going to introduce serveral features of 0x:
- Need to convert ETH to WETH token before starting to trade
- No deposit and withdrawal. Users have to authorize 0x’s contract to directly alter the token balances in their wallets
- The authorization of token is valid between different exchanges. If you already authorize a token on A relayer, you can directly trade that token on B relayer (If they use similar version of 0x
- Placing orders off chain
The official website of 0x has many relayers on it.
User experience varies widely among relayers. The 0x relayers I have used are Paradex, DDEX and Radar Relay. Trading on Paradex and DDEX are quite similar, but trading on Radar Relay is totally different. Paradex and DDEX allow users to cancel the orders off chain which is closer to the user experience on a centralized exchange. But Radar Relay only let users cancel their orders on chain.
Paradex and DDEX collect trading fees, because they send transactions onto the blockchain on behalf of users. In this case, the relayers do not need to publicate the signatures on off chain orders, so users can cancel their orders off chain (under the belief that exchanges will not do the unnecessary evil). On the other hand, Radar Relay does not collect any trading fee, so users have to send the transactions onto the blockchain themselves and provide the signatures of orders. Once the signature of the order is publicated, user has to cancel the order on chain to make sure it will not be matched.
Broadcasting transactions for the users indicates Gas Fees are charged based on how many transactions are made. Paradex and DDEX will charge both Maker and Taker Gas Fees, so if there are some small amount of orders, the users will be discouraged to make any trades. Besides Makers are not able to anticipate how many times they will be charged Gas Fees.
0x protocol supports one to many matching on the contract layer, yet not all the relayers apply this mechanism practically. For example, Radar Relay supports one to many matching, while Paradex only support on the application layer where it will send multiple transactions to collect more fees.
Worth mentioning, the interoperability of funds on numerous relayers provides great efficiency to arbitrageurs, because they can buy tokens on one relayer, and sell it immediately on another relayer. However, this feature also causes a problem. When there is a relayer doing unecesary evil, people may not find out who.
Basically, the user experience on various 0x relayers are quite different, so I will only list their common condition.
- Deals not guaranteed. Need to wait for the confirmation on blockchain
- No need to deposit and withdrawal. Suitable for conducting arbitrage
- Support one to many matching
Article by Yi-Cyuan Chen, Chief Architect of JOYSO