Skip to main content
Omnibook runs a continuous series of 60-second rounds on the BTC price. Each round fixes a strike, trades for its window, then freezes and settles against the oracle price.

Lifecycle

Anything still resting when a round freezes is cancelled for you.

round_number vs market_id

market_id is recycled. round_number is not.The venue draws market_id from a small pool and reuses values as rounds complete, so the same market_id will refer to a different round later. It is the parameter that order and orderbook endpoints take, but it is not an identity.Key your own state — open orders, positions, PnL history — on round_number, which is monotonic and never reused. Re-read the round before acting on a cached market_id, or you will eventually place an order on the wrong round.

Prices

strike and settle_price are integers in units of 1e-8 USD. A strike of 6399240000000 is $63,992.40. Contract prices are different: integer ticks from 1 to 99, in cents, representing implied probability. See Placing orders.

Settlement

At freeze, the round’s settle price is a true time-weighted average (TWAP) of the sequenced oracle BTC price over the last N seconds of the round (default N = 10, or per-series via twap_window_by_category; each round row exposes the resolved twap_window_secs). winner becomes "yes" if that TWAP is strictly above the strike, "no" otherwise (exact equality settles "no"). Winning contracts pay 100¢, losing ones 0¢. fresh_source_count_at_freeze reports how many independent price sources were live at freeze — useful if you want to weight your confidence in a settlement.

Reading rounds

GET /v1/rounds?limit=1 returning status: "trading" is the normal way to find what to trade right now.

Categories

category groups rounds into series. Today the BTC 60-second series is category 1. Filter on it if you only care about one series.