Rubicon Overview
An Order Book Protocol for Ethereum; an Order Book Protocol for the World!


For Users and Interested Readers:

Visit the FAQ for answers to common questions, or visit the guides to learn how to use Rubicon and how it works.
If you need support, join the Rubicon Discord and send a message in the #support channel.

For Developers:

In our documentation you will find:
  • Dedicated pages for each of the Rubicon smart contracts (e.g. RubiconMarket) with an outline of key functions and parameters for each respective contract
  • A list of active Rubicon Deployments with associated contract addresses
  • ​Instructions for starting the Rubicon protocol locally
  • A list of Audits and security reviews on the Rubicon contracts
  • ​APIs for querying Rubicon data using subgraphs
You can find the Rubicon v1 code on GitHub​

What is Rubicon?

Rubicon is an order book protocol for Ethereum, which makes it an order book protocol for the world! Use it to swap tokens, trade with limit & market orders, or earn by providing liquidity in Rubicon Pools. Try it today on the Rubicon app
Rubicon is built on Ethereum L2 networks to give traders cheap transactions (<$1) and near-instant trade confirmations. Rubicon v1 markets are live today on Optimism and will be on more L2 networks soon!
If you are interested in learning more, building on the Rubicon protocol, joining the core team, or just want to reach us send a note to [email protected]​

Rubicon v1 Protocol Overview

The cornerstone of the Rubicon protocol is the RubiconMarket contract, which implements order books for the peer-to-peer trading of ERC-20 tokens.
Rubicon Pools are the native liquidity pools of the Rubicon order books. Pools is a system of smart contracts that enables passive liquidity providers (LPs) to deposit tokens in a pool, where active liquidity managers (strategists) use pool assets to make markets on the order books. Yield from market-making goes to LPs, and strategists earn a performance fee.
Rubicon v1 Architecture

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
Last modified 1mo ago