Rubicon Protocol

The Open Order Book Protocol

Rubicon Protocol

Rubicon is a decentralized exchange protocol on the Ethereum blockchain. The protocol enables the exchange of crypto assets that adhere to the ERC-20 standard, whether it be cryptocurrencies like ETH and WBTC, stablecoins, governance tokens, or anything in between. Our hope is that the Rubicon protocol can replace traditional intermediaries and costly third parties with open-source code in order to democratize, open, and accelerate global financial markets. This is achieved through the deployment, development, and management of the Rubicon protocol's smart contracts described throughout these docs.

The Rubicon protocol will launch on Ethereum in the Summer of 2021, utilizing layer 2 scaling solutions for increased transaction throughput and reduced transaction fees. The first scaling solution Rubicon will use is Optimism. If you are interested in learning more, developing on the Rubicon protocol, joining the team, or just want to contact the team please feel free to reach us at [email protected] - we would love to hear from you!

Protocol Overview

There are a number of key smart contracts that facilitate the operations of the Rubicon protocol. Please see below for an overview of our current smart contract infrastructure.

Rubicon Smart Contract Infrastructure

At a high level, Rubicon revolves around a core smart contract (RubiconMarket.sol) that facilitates the peer-to-peer exchange of digital assets. Additionally, Rubicon Pools has its own system of smart contracts that enables users to provide passive liquidity on the Rubicon order books.

Developers: Start Rubicon Protocol Locally

$ git clone
$ cd rubicon_protocol && npm i
$ npm i --save-dev [email protected]
$ truffle init
$ 'n' for overwriting contracts
$ 'n' for overwriting migrations
$ (in separate terminal) ganache-cli

Also make sure that you comment out the lines in truffle-config.js that say 'development: ' and include localhost under networks so that you can connect to Ganache.

$ truffle migrate -- deploys contracts to development network, i.e. localhost
$ truffle test -- run the set of tests provided in the test folder of repo