https://api.ocx.global/binary/* (also https://auth.ocx.global/binary/*). Public endpoints need no credentials; Session endpoints use the same signed-in session as the rest of the API (cookie or Authorization: Bearer); see Authentication. Read Binary options first for the contract rules.
Prices are whole cents per share, 1–99. Market data is quoted in Up cents: a Down price is
100 − Up price. Quantities are whole shares. A window’s id (marketId) looks like SPX-15M-20261029-0930: series, then the window’s UTC start.Market data
Public.Board
GET /binary/board?underlying=SPX — one underlying’s windows and its live reference. underlying is SPX (OCX500) or NDX (OCXTECH).
Response
markets holds up to 15 windows in start order: recent ones, the live one, and the next ones already listed.
object
The live reference:
price, the second it was sampled (at), and sessionOpen — false while the reference future is not trading, when no new windows are listed.array
Window, book and trades
GET /binary/markets/{marketId} → { market, book: { bids, asks }, trades }. book levels are { price, size } in Up cents, best first. trades are the last 50 prints, newest first: { price, quantity, takerSide, at }, takerSide being buy up, buy down, sell up or sell down. An unknown id returns 404.
Reference series
GET /binary/ref?underlying=SPX&from={epochMs} → { points: [[epochMs, price], …] }, one point a second from from, at most the last hour. Poll with from = the last point’s time + 1 to extend a chart.
Orders
Session. Limited to 300 order requests a minute per account.Place an order
POST /binary/orders
string
required
A window with
status: "open", before its cutoff.string
required
buy | sellstring
required
up | downnumber
required
Whole shares, 1 to 1,000,000.
string
limit (default) | marketnumber
Required for
limit: cents, 1–99, in the order’s own outcome (a Down limit is a Down price).number
Market orders: cents beyond the best price you accept, 0–20, default 2.
string
Idempotency key (up to 64 characters). A retry returns the original order; the same id with other terms is refused with
409.cURL
Response
- A buy reserves
price × quantityfrom your wallet when placed. Better fills return the difference at once. - A limit order rests until it fills, you cancel it, or the cutoff.
- A market order fills against the book up to best ±
slippageand cancels the rest; it is refused (409) when that side of the book is empty. - A sell closes shares you hold and is refused (
400) for more shares than you hold free. fillsare in the order’s outcome cents;walletBalanceis your wallet after the order.
Cancel
Your account
GET /binary/me — Session.
Response
positions are windows not yet settled; settled the last 50 settled windows with payoutCents. openOrders use the order shape above; trades are your last 50 fills, in each fill’s outcome cents.
Errors
The body is{ "message" }.