If you’re interested in crypto, and Ethereum in particular, you’ve noticed that decentralized finance (aka DeFi) has been the talk of the town lately. So far this year lending protocols and Uniswap have gotten a lot of attention, while the other Decentralized Exchanges (aka DEXs) have not been as prominent in the cryptosphere. In this post, we’ll take a look at four different DEX models, dig through some data and compare across the field to get a feel for their traction and user dynamics. Is it still just crypto people playing with crypto products or are we starting to see real problems being solved?
A quick intro to the different models
In this post we’ll look at Uniswap, Kyber Network, 0x and the Dutch Exchange created by the Gnosis team.
Uniswap uses pooled liquidity reserves and a constant product market-making formula. In less abstract terms that means that liquidity providers can add tokens to pools and others can then trade directly against those pools with the smart contract as their counterparty. Liquidity providers earn fees from trades done against the liquidity pool they supplied to. The benefit of this model is that it’s very easy to use as neither liquidity providers nor traders need to find a counterparty to use the system. The downside is that traders sometimes experience significant slippage and that being a liquidity provider is not always as profitable as one might hope.
On the surface, Kyber Network appears similar to Uniswap as both allow users to easily swap tokens. There are, however, some important differences. Kyber offers users liquidity through various reserve pools that are managed by both Kyber and other parties. The user gets the price from whatever pool that offers the best rate. There are requirements for starting a pool and they can be managed in different ways. While on Uniswap anyone and everyone can supply to the same pool and prices are set by a formula. Furthermore, Kyber is making it very easy for other dApps and apps to integrate Kyber into their products.
0x is a protocol for trading with smart contracts. While they offer various products on top of their core protocol they are most known for having a range of relayers that keep order books off-chain and then the actual trades are settled on-chain. This is the model that looks most similar to traditional exchanges. Challenges with this model have been unclear regulatory environment and a lack of liquidity - we’ll have a look at what that liquidity looks like.
The DutchX uses the dutch auction principle for trading tokens. Even though this model is less well known than the others the mechanism is actually not that complicated: the seller begins the auction with a high asking price for a set quantity of a token and then the price goes down over time. At each point in time bidders can buy a desired amount of tokens at the current price. When bidders have bought the full amount of tokens for sale in the auction every buyer pays the lowest (/last) price. The DutchX mechanism removes some challenges like no front-running and slippage due to low liquidity. The main issue with this model is that it is slow: each auction takes about 6 hours to clear.
What’s the volume like?
Uniswap deserves the attention it gets with the highest volume this year: $181 million worth of tokens exchanged through their smart contracts. Maybe a little more surprisingly Kyber comes in very close to Uniswap with $176 million traded. Their strategy of integrating with other dApps maybe does not give them as much fame, but it sure gives them volume. 0x comes in at a solid third place with $79 million traded this year. Dutch X, the newest kid on the block (pun intended), launched in February and has seen almost $22 million in volume since inception. In other words, all these DEX models now have some serious traction. Now let’s have a look at their growth.
It’s well known that Uniswap exploded from nothing the first few months of this year and we see that clearly in the numbers. Beyond the rosy start (another pun indeed) it’s also great to see that the volume keeps growing fairly consistently through the summer months. Uniswap’s weekly volumes have been over $6 million for 3 consecutive months now. This could be indicating that there are not occasional whale acts that drive the metrics, but rather persistent user problems being solved and a snowball effect at play with better liquidity, lower slippage, more demand and so on.
As we see Kyber has also experienced significant growth this year, and especially over the summer. Kyber has been doing over $10 million in weekly volume about half of the weeks in the last few months, which is above Uniswap. In other words, Kyber is on track to bypass Uniswap soon!
After seeing Uniswap quickly outgrow their volumes the first four months of the year, 0x has had some fantastic summer months. It looks like 0x’s focus on improving liquidity is paying off as they’re closing in on Uniswaps weekly volumes and the most prominent DEX project of 2018 should probably get more attention again. What is also quite remarkable here is that a vulnerability was found in the 0x contracts on July 12th (week starting 8th of July). They shut down their v2.0 contracts, patched them and redeployed all their contracts as v2.1 on that same day. Some immutability maximalists might be disappointed by the fact that the core 0x team can simply shut down their smart contracts. Interestingly the metrics do show an impressive consistency in volume that week. Albeit a slight dip in volume the week does not even look like an outlier here!
The DutchX launched in February and is currently seeing weekly volumes around $400k. There’s a big peak in late June caused by the fact that trading on the DutchX gave you governing rights in the dxDAO until the 28th of June. When volumes are modest and single events have large effects like this it’s obvious that their product has a less established regular user base. A key promise of the DutchX is low slippage and the data does support this claim, which is encouraging. You can inspect the DutchX’s relatively low slippage across different token pairs here.
It seems fair to attribute some of these differences in volume to the complexity of using each product. Uniswap and Kyber have a “press play” experience or under the hood integration with a nice dApp or wallet UI. On the other hand, most 0x interfaces require a user to have some understanding of trading and order matching while the DutchX requires users to both understand the dutch auction model and be present to bid at the right time. Now that does not necessarily mean that one approach is unequivocally better than the others: while all products allow for on-chain exchange of tokens they might be tackling different market segments.
Different user segments?
So if Uniswap on one end offers ease of use, but slippage and on the other end DutchX is more complex, but offers low slippage; then one might expect more professional traders to use the DutchX conducting larger trades and more casual traders to use Uniswap conducting smaller trades.
Let’s have a look by dividing the trading volume by the number of trades for the last full week of July. We get an average trade size of ~$650 for Uniswap, ~$770 for Kyber, ~$890 for 0x and ~$250 for DutchX. These numbers could support the above hypothesis that the various DEX products are serving different segments of the market: from more casual to more professional user groups respectively. Except for the DutchX, but that system is still very young and presumably not battle-tested enough to see truly large orders quite yet.
Looking at unique users (measured as unique trading addresses) we might find further support for our above hypothesis: Uniswap and Kyber are serving a broader set of users, while 0x and DutchX are serving a smaller set of (presumably) more sophisticated users. The above nuances might indicate that the different DEXs are finding their target audiences and are solving real problems, which is incredibly exciting news! It is still worth pointing out that the number of users is of course still very low compared to basically everything else happening on the web. But then again many startups get off the ground by serving a small niche very well before scaling out to a broader audience. Given that we still have a fairly modest sample size and no highly distinct values it’s too early to draw clear-cut conclusions here, but it’s going to be interesting to keep an eye on this data going forward!
Product/market fit in sight!?
It’s well known that a week in crypto is about a year in the outside world, so it’s worth reminding ourselves that about a year ago these projects recently went live or didn’t even exist. Remarkably, we are now at the stage where all these different approaches to permissionless trading on Ethereum are live, working in the wild and being used. This year DEXs are seeing serious and consistent growth across the board, and maybe even some early signs of finding some of that much-craved product/market fit!
All data mentioned in this article can be seen interactive and in real-time here. You can also see and fork the underlying SQL-queries.
Note that for 0x we are using price feeds from centralized exchanges to determine the USD value of on-chain volume. Some esoteric tokens might not be counted because they don’t have a price on centralized exchanges. However, this should not change the overall volume by much.