This walks through the two calls every integration starts with. Both are
read-scope, so they work with any key.
All responses below are real, captured from production.
Is the exchange open?
exchange_active is false during a halt — no orders will be accepted. Check
it before you start trading, and treat it as a kill switch.
as_of_seq is the sequencer position the answer was computed at. It appears on
every read. Two responses with the same as_of_seq describe exactly the same
state, which is what lets you tell “nothing changed” from “I asked too early”.
as_of_seq restarts from a low number when the venue restarts. It is a position
within the current session, not a global counter — do not persist it or assume
it only ever increases. Use round_number for ordering across restarts.
What is trading right now?
Omnibook runs a continuous series of 60-second binary rounds on the BTC price.
One round is open for trading at a time.
The fields that matter:
market_id — what you pass to order and orderbook endpoints. It is
recycled across rounds, so never cache it as an identifier for a round.
round_number — monotonic and never reused. This is the stable identity.
status — trading accepts orders. frozen does not. settled is done.
strike — the BTC price to beat, in units of 1e-8 USD. The value above is
$63,992.40.
winner — null until settlement, then "yes" or "no".
market_id is drawn from a small recycled pool. Two different rounds will reuse
the same market_id over time. Always key your own state on round_number, and
re-read the round before acting on a cached market_id.
Paging
List endpoints return a cursor. Pass it back as ?cursor= to get the next
page; an empty cursor means there are no more results.
Next
Place an order: Place your first order.