0x is an open protocol that facilitates the decentralized exchange of Ethereum-based tokens and assets. Developers can use 0x to build their own custom exchange apps with a wide variety of user-facing applications i.e. 0x OTC, a decentralized application that facilitates trustless over-the-counter trading of Ethereum-based tokens.
The 0x token (ZRX) is used by Makers and Takers to pay transaction fees to Relayers (entities that host and maintain public order books). ZRX tokens are also used for decentralized governance over 0x protocol’s update mechanism which allows its underlying smart contracts to be replaced and improved over time.