0x
0x
Token: ZRX


The Protocol for Trading Tokens

ICO dates
Start date: 2017-08-15
End date: 2017-09-15

Registrated in: USA

Platform: Ethereum
Type: ERC20

PREMIUM ICO

HARA

Empowering billions by utilizing a global and transparent data exchange.
Ends in 49 days 21 hours
Goal: 17,000,000 USD
Price: 1 HART = 0.059 USD

Dominium

Dominium Blockchain – The one-stop-platform for everything to do with property anywhere in the world!
Ends in 18 days 21 hours
Goal: 17,500,000 USD
Price: 1 DOM = 0.25 EUR
https://0xproject.com/ Screenshot
0x categories
Cryptocurrency Internet Platform
0x whitepaper
0x token sale
KYC passing required No | Whitelist No | Restriction for countries No
Token distribution in ICO
50%
50%
Acceppting ETH
0x news, social
0x search trends in Google
Random whitepaper excerpts

Contents
1 Introduction
3
2 Existing Work
4
3 Specification
5
3.1 Message Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
3.1.1 Point-to-point Orders . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
3.1.2 Broadcast Orders . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
3.2 Smart Contract . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
3.2.1 Signature Authentication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
3.2.2 Fills & Partial Fills . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
3.2.3 Expiration Time . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
3.2.4 Cancelling Orders . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
4 Protocol Token
11
4.1 Decentralized Governance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ...

1 Introduction
Blockchains have been revolutionary by allowing anyone to own and transfer assets across an open finan-
cial network without the need for a trusted third party. Now that there are hundreds [1] of blockchain-
based assets, and more being added every month, the need to exchange these assets is compounding.
With the advent of smart contracts, it is possible for two or more parties to exchange blockchain assets
without the need for a trusted third party.
Decentralized exchange is an important progression from the ecosystem of centralized exchanges for a
few key reasons: decentralized exchanges can provide stronger security guarantees to end users since
there is no longer a central party which can be hacked, run away with customer funds or be subjected to
government regulations. Hacks of Mt. Gox, Shapeshift and Bitfinex [2, 3] have demonstrated that these
types of systemic risks are palpable. Decentralized exchange will eliminate these risks by allowing users
to transact trustlessly - without ...

2 Existing Work
Decentralized exchanges implemented with Ethereum smart contracts have failed to generate significant
volume due to inefficiencies in their design that impose high friction costs on market makers. In particu-
lar, these implementations place their order books
1
on the blockchain [5–8], requiring market makers to
spend gas each time they post, modify or cancel an order. While the cost of a single transaction is small,
frequently modifying orders in response to evolving market conditions is prohibitively expensive. In addi-
tion to imposing high costs on market makers, maintaining an on-chain order book results in transactions
that consume network bandwidth and bloat the blockchain without necessarily resulting in value transfer.
Automated market maker (AMM) smart contracts are proposed [9, 10] as an alternative to the on-chain
order book. The AMM smart contract replaces the order book with a price-adjustment model in which
an asset’s spot price deterministically responds to mar...

3 Specification
Figure 2 presents the general sequence of steps used for off-chain order relay and on-chain settlement.
For now we ignore a few mechanisms that will become important later.
Network Transport Layer
3
4
2
Maker
Taker
Maker
Account
1
Token A
DEX
7
Taker
Account
6
5
Token B
Ethereum Blockchain
Figure 2: Off-chain order relay, on-chain settlement diagram. Gray rectangles and circles represent
Ethereum smart contracts and accounts, respectively. Arrows pointing to Ethereum smart contracts
represent function calls; arrows are directed from the caller to the callee. Smart contracts can call func-
tions within other smart contracts. Arrows external to the Ethereum blockchain represent information
flow.
1. Maker approves the decentralized exchange (DEX) contract to access their balance of Token A
2
.
2. Maker creates an order to exchange Token A for Token B, specifying a ...

3.1 Message Format
Each order is a data packet containing order parameters and an associated signature. Order parameters
are concatenated and hashed to 32 bytes via the Keccak SHA3 function. The order originator signs the
order hash with their private key to produce an ECDSA signature.
3.1.1 Point-to-point Orders
Point-to-point orders allow two parties to directly exchange tokens between each other using just about
any communication medium they prefer to relay messages. The packet of data that makes up the order
is a few hundred bytes of hex that may be sent through email, a Facebook message, whisper or any
similar service. The order can only be filled by the specified
taker
address, rendering the order useless
for eavesdroppers or outside parties.
Name
version
maker
taker
tokenA
tokenB
valueA
valueB
expiration
v
r
s
Table 1: Message format for point-to-point orders.
Data Type Description
address <...

3.1.2 Broadcast Orders
For liquid markets to emerge, there must be public locations where buyers and sellers may post orders
that are subsequently aggregated into order books i.e. exchanges. Building and operating an exchange
is costly and the protocol we have described so far does not provide an incentive for someone to take on
such an expense. Broadcast orders solve this issue by allowing anyone to act as an exchange, maintain an
order book (public or private) and charge transaction fees on all resulting liquidity. We refer to entities
that host and maintain an order book as Relayers rather than exchanges. Where an exchange must build
and operate proprietary infrastructure, execute trades and handle user funds, Relayers merely facilitate
signalling between market participants by hosting and propagating an order book that consists of generic
messages. Relayers do not execute trades on behalf of market participants as this would require market
participants to trust the Relayer. Instead, Takers execute their own ...

Name
version
maker
tokenA
tokenB
valueA
valueB
expiration
feeRecipient
feeA
feeB
v
r
s
Table 2: Message format for broadcast orders.
Data Type Description
address
Address of the Exchange smart contract.
address
Address originating the order.
address
Address of an ERC20 Token contract.
address
Address of an ERC20 Token contract.
uint256
Total units of tokenA offered by maker.
uint256
Total units of tokenB requested by maker.
uint256
Time at which the order expires (seconds since unix epoch).
address
Address of a Relayer. Receives transaction fees.
uint256
Total units of protocol token Maker pays to feeRecipient.
uint256
Total units of protocol token Taker pays to feeRecipient.
uint8
ECDSA signature of the above arguments.
bytes32
bytes32
While it may seem odd that the Maker is specifying the transaction fe...

3.2 Smart Contract
The exchange protocol is implemented within an Ethereum smart contract that is publicly accessible
and free to use (no additional costs are imposed on users beyond standard gas costs). It is written in the
Solidity programming language and contains two relatively simple functions: fill and cancel. The entire
contract is approximately 100 lines of code and it costs approximately 90k gas to fill an order.
3.2.1 Signature Authentication
The exchange smart contract is able to authenticate the order originator’s (Maker’s) signature using the
ecrecover function, which takes a hash and a signature of the hash as arguments and returns the public
key that produced the signature. If the public key returned by ecrecover is equal to the
maker
address,
the signature is authentic.
address publicKey = ecrecover( hash, signature( hash ) );
if ( publicKey != maker ) throw;
3.2.2 Fills & Partial Fills
The exchange smart contract stores a reference to each previousl...

0x Roadmap

1
June 25
Launch announcement
2
August 9
Registration begins
3
August 12
Registration ends
4
August 15
Token launch
Will Warren
Will Warren Co-founder & CEO

Amir Bandeali
Amir Bandeali Co-founder & CTO

Fabio Berger
Fabio Berger Senior Engineer

Alex Xu
Alex Xu Director of Operations

Ben Burns
Ben Burns Designer

Fred Ehrsam
Advisors Fred Ehrsam Co-founder of Coinbase

Olaf Carlson-Wee
Advisors Olaf Carlson-Wee Founder of Polychain Capital

Joey Krug
Advisors Joey Krug Founder of Augur

Linda Xie
Advisors Linda Xie Product Manager at Coinbase

Joey Krug
Joey Krug
Founder of Augur
Co-Founder & Senior Front-end Developer
Pantera Capital Co-Founder Augur
Fred Ehrsam
Fred Ehrsam
Co-founder of Coinbase
CEO, Aircoin
Co-founder of Coinbase
Alex Xu
Alex Xu
Director of Operations
Crypto currency Advisor
Crypto-assets trading expertize