Olive Docs
Protocol Setup

Protocol Setup

Olive is a Solana program with backend services around it. The smart contract stores protocol state and validates trades; the backend indexes state, builds transactions, serves market data, and runs keeper jobs.

Setup Order

A new deployment is initialized in this order:

  1. Initialize the global contract and multisig state.
  2. Add a pool for the market, such as SOL.
  3. Add the pool custodies, usually the underlying custody and USDC custody.
  4. Create the pool LP mint.
  5. Initialize the volatility oracle for the underlying custody.
  6. Configure fixed-rate parameters for options and expiry futures.
  7. Start backend indexers and keepers against the deployed program.

The pool and custody accounts must exist before trading instructions can use them. The volatility oracle must exist before option pricing paths can read realized volatility. Fixed-rate configuration affects options and expiry futures; perpetual futures use variable utilization-based borrow rates.

Pool Parameters

Each pool is created with pool-level state and then configured through its custodies. The main risk and rate settings are documented in Pool Parameters.

Admin Control

Pool setup, custody setup, LP mint creation, volatility-oracle fixes, fixed-rate configuration, and protocol-fee withdrawal are admin or multisig-controlled actions. User trading paths do not create or rewrite these global protocol accounts.

Source of Truth

The smart contract is the source of truth for balances, locked collateral, open positions, fees, and order execution. The backend index is a cache of that state for fast UI reads. If the backend cannot decode or sync the current on-chain accounts, the UI should show an explicit stale or error state rather than inventing protocol values.

On this page