Authentication
None required today.Quick start
- Snapshot —
GET /v1/prices(orGET /v1/prices/{pair}) for an initial board. - Stream — connect to
WS /v1/prices/streamfor live ticks — see the Price Stream section. - Candles —
POST /v1/ohlcfor historical OHLC. - Sessions —
GET /v1/market-hoursfor calendars (cache it; use tick flags for “open right now”). The pair list is under Markets. - Depth —
GET /v1/depth/{pair}/quotefor the price a given size actually gets. - Status —
GET /v1/statusto check the price feed is live before relying on quotes.
@ostium/builder-sdk, or generate one from this document with any OpenAPI 3.1 client generator.
Rate limits
Applied per IP. Most limits are per route; where a group of endpoints shares one budget the endpoint’s own description says so. Every rate-limited response carriesx-ratelimit-limit, x-ratelimit-remaining, and x-ratelimit-reset; 429s add retry-after. Read the headers — do not hard-code the documented figures.
Errors
Two envelopes:- Framework —
{ "error": "<Status Name>", "message": "..." }(optionalissues/details). - Upstream proxy —
{ "error": "<human message>" }from OHLC failures.
error means different things across the two shapes — do not switch on it alone until a future major version unifies them.
Every response carries x-request-id. Quote it when reporting a problem.
Hosts
- Production:
https://builder.prod.bedrock.ostium.io