Why we are forking 0x

Tian Li
Hydro Protocol
Published in
2 min readDec 14, 2018


The 0x team has done an incredible job shipping high quality, useful code. Leveraging the 0x smart contracts, DDEX quickly became one of the largest decentralized exchange on Ethereum. [1]

Meanwhile, 0x expanded its surface area enormously, covering non-fungibles, instant exchanges, governance, and much more[2]. Although we were thrilled to see 0x tackle such a wide range of important issues, our perspective of what’s most urgent diverged. Being on the front-lines, it is painfully apparent that most DEXs today still are plagued by rudimentary problems such as order collision, front-running, and poor liquidity. [3]

After much deliberation, we’ve decided to fork the 0x protocol.

Although we are using the term “fork” to give proper credit, we rewrote a large portion of the codebase. We plan to ship a new order schema, an engine capable of true matching, robust market orders, and a fundamentally different liquidity sharing model. The ZRX token will be removed as well, because fee-based tokens create unnecessary friction.

We are calling this new protocol Hydro, to emphasize that liquidity matters above everything else. [4]

The merit of the project will be defined by what we do in the months and years to come. DDEX will switch over to Hydro as soon as the new protocol is secured and audited. If the protocol doesn’t deliver, DDEX will be outclassed and quickly become irrelevant.

We either make something people want, or we die. And that’s the way it should be.


[1] https://etherscan.io/stat/dextracker gives a ranking of DEX activity by number of transactions. Although the metric has a few minor, it serves as a decent estimate.

[2] https://blog.0xproject.com/22-ideas-to-explore-with-0x-4d551c10dd4e

[3] Many of the points explained by dydx founder in this series of tweets: https://twitter.com/AntonioMJuliano/status/1070772101026480128

[4] Hydro was initially designed as a thin liquidity incentive layer on top of 0x. We’ve decided to keeping the name but expanding the scope of the project. Liquidity should be a first-order component of decentralized exchange protocols.