A Quick Review of EtherDelta

The decentralized exchange (DEX) is coming. There is a small crop of companies working on variations of this theme including OmegaOne, AirSwap, Kyber, BitShares, the brilliantly named 0x, and surely there are others. For all kinds of reasons, this is a tough problem. For users, the thing that will matter the most really is if it is convenient, it reasonably intuitive, and is it fast.

One of the great possibilities is that in these exchanges you will not necessarily need a user account (maybe). Identity is endemic to addresses.

One early DEX is EtherDelta. While it has some pretty limited functionality you can actually transact, mostly through a contract. The interface is functional but does have its fair share of bugs and quirks. Reloads lose currency pairs and the path does not respect the pair choice selected. Its unclear as the to frequency of market updates, though you can see the refreshes happening if you open the developer tools in your browser.

EtherDelta does not seem to support limit orders or price matching. The spread of a market often overlapped, presumably because a user must initiate a specific trade with a user. It looks like you can purchase a portion of an offer, but I am not sure — I was not able to get that far.

One of the primary complaints is that it is slow. It is. Painfully slow. And transactions are relatively expensive because in addition to a transaction fee, the gas price is rather high to execute the contract functions. These functions, like deposit and trade, are not simple ETH transfers to an account as you might find on the centralized exchanges. To make matters worse the defaults given through MetaMask (which can typically estimate gas) are defaulted at 4 gwei. At this gas rate, even simple deposits to the exchange can take an hour to get picked up by miners who see this as far too low a fee to be in any rush to mine. This is by no means an efficient arbitrage market.

Another issue for me is that bids require a signed transaction that MetaMasks gives a huge orange warning block urging you to be careful. Further, because it is mediated through a contract, “withdrawl” requests are not sent to your account, instead you are asked to call the contract from MetaMask which makes it deeply confusing as to what is happening.

There is a great article with more details about the costs of using EtherDelta here.

Overall I am really glad EtherDelta exists. It was intriguing to be able to exchange without registration and only interacting with a contract. Its a small wonder that it even works at all. I am not sure I have enough confidence in EtherDelta at the moment to continue using it, but will likely check back. I look forward to following the development of these decentralized exchanges.