We introduce KyberNetwork, an on-chain decentralized exchange providing several useful applications, including building a practical exchange and providing payment APIs for merchants and users to instantly convert tokens effortlessly and “trustlessly”. There is no orderbook. Users will know the conversion rate before sending the transaction and receive the corresponding amount. Users don’t pay any extra fees (other than the gas fees for the transaction). KyberNetwork benefits through pricing a reasonable spread in the conversion rate. Our users can also send their existing token A, by converting to a different type of token B and sending it to another user, who only accepts payment in B all in one transaction. More interestingly, KyberNetwork introduces a new standard contract wallet to allow existing contracts, which only accepts few tokens, to receive payments from any future tokens without any modification to the contract code. This allows contracts or merchants to access to a wider class of users, receives payments and contributions in any tokens that KyberNetwork supports.

KyberNetwork’s design has several novel constructions to support all these applications.

● Instead of maintaining a global order book, we maintain a reserve warehouse which holds an appropriate amount of crypto tokens for purposes of maintaining exchange liquidity. The reserve is directly controlled by the Kyber contract, and the contract has a conversion rate for each exchange pair of tokens by fetching from all the reserves. The rates are frequently updated by the reserve managers, and Kyber contract will select the best rate for the users. When a request to convert from token A to token B arrives, the Kyber contract checks if the correct amount of token A has been credited to the contract, then sends the corresponding amount of token B to the sender’s specified address. The amount of token A, after the fees, is credited to the reserve that provides the token B.

● We introduce a new standard contract wallet to enable some of our interesting applications. Specifically, our new standard contract wallet allows the Kyber contract to send a user’s newly converted tokens to his/ her destination address on the user’s behalf. The destination address will receive the converted tokens as if the tokens were sent from the sender, not the Kyber contract.

● Our long-term plan also includes employing future features of the EVM language to build an efficient ZCash-Relay on Ethereum. A ZCash-Relay on Ethereum will allow us to support cross-chain trades between ETH and ZEC. We also leverage future platforms like Polkadot and Cosmos to enable more cross-chain trading and payments.

● The Kyber contract is designed with extensibility-focus which has well-modularized components. Specifically, we allow dynamically adding any new tokens or delisting existing tokens. Thus, we are able to work with any tokens or digital assets in the future.