★ PLATFORM API

The API your clients will use.

REST, WebSocket and FIX 4.4 across the full matching, market data, risk and account surface. 56 endpoints, 18 typed event variants — this is exactly what ships when you license the stack. Your terminals consume it, your ops tools monitor via it, your buy-side clients integrate against it.

REST ENDPOINTS
56
WS EVENT VARIANTS
18
MARKETS COVERED
35+
MATCH LATENCY
45µs
SECTION 01

REST API — most-used endpoints

Every deployed instance exposes the same paths, signing scheme and response shapes — one shard or forty. Public market data is no-auth and CORS-enabled; order and account routes are HMAC-signed per client. Full route table in the OpenAPI spec.

GET/v1/market/:symbol/tickerBest bid / ask, mark, index, funding rate, next-funding timestamp.
GET/v1/market/:symbol/depthFull order book (configurable depth) — bid + ask price levels.
GET/v1/market/:symbol/klinesHistorical candles (1m, 5m, 1h, 1d) for charting.
POST/v1/ordersSubmit a market / limit / stop / TWAP / OCO / bracket order.
DELETE/v1/ordersCancel all open orders for a client (optionally narrowed to one symbol).
PATCH/v1/orders/:symbol/:idIn-place modify (price or quantity) — preserves queue priority when reducing size.
GET/v1/positions/:client_idAll open positions across every market for a client.
POST/v1/positions/:client_id/close_allReduce-only market sweep to flatten every position.
GET/v1/accounts/:id/detailFull account snapshot — balance, available, equity, positions, open orders, recent fills.
GET/v1/funding/:symbolLive funding rate, premium index, settlement countdown.
GET/v1/insuranceInsurance fund balance per shard — public, no auth.
GET/v1/risk/haltsCurrently halted markets and reason.

EXAMPLE — SUBMIT A LIMIT ORDER

# Submit a limit buy order
curl -X POST https://api.basispoints.net/v1/orders \
  -H 'Content-Type: application/json' \
  -H 'X-API-Key: YOUR_KEY' \
  -d '{
    "client_id":   "your-uuid",
    "symbol":      "BTC-PERP",
    "side":        "buy",
    "order_type":  "limit",
    "price":       "69500.00",
    "quantity":    "0.5",
    "tif":         "gtc",
    "margin_mode": "cross",
    "leverage":    10
  }'
SECTION 02

WebSocket channels

One connection, multi-channel subscribe. Your terminals subscribe to public market data channels; ops tools tail private ops events in real-time; risk engines consume account_update / liquidated / margin_warning streams. private.{client_id} requires an HMAC-signed upgrade.

orderbook.{symbol}Top-N book snapshots, sequence-numbered.
trades.{symbol}Public prints — price, size, side, timestamp.
ticker.{symbol}Bid/ask/mark/index ticks.
funding.{symbol}Funding rate updates and settlement ticks.
market_status.{symbol}Open / closed transitions.
circuit_breaker.{symbol}Halt activations.
private.{client_id}All private events for one trader — order_ack, fill, account_update, position_update, liquidated, funding_payment, margin_warning.

EXAMPLE — SUBSCRIBE TO BOOK + PRIVATE FEED

// Subscribe to BTC-PERP order book + your private channel
const ws = new WebSocket('wss://api.basispoints.net/ws')

ws.onopen = () => {
  ws.send(JSON.stringify({ action: 'subscribe', channel: 'orderbook.BTC-PERP' }))
  ws.send(JSON.stringify({ action: 'subscribe', channel: 'private.' + clientId }))
}

ws.onmessage = (ev) => {
  const e = JSON.parse(ev.data)
  switch (e.type) {
    case 'orderbook':       /* { symbol, bids, asks, seq } */         break
    case 'fill':            /* { order_id, price, quantity, fee } */  break
    case 'account_update':  /* { balance, available, equity, ... } */ break
    case 'liquidated':      /* { symbol, size, pnl, ... } */          break
  }
}
SECTION 03 · INSTITUTIONAL

FIX 4.4 Gateway — Institutional

For institutional flow from your buy-side clients or your own hedging systems, every deployment ships with a FIX 4.4 acceptor over TCP. Translates to the same binary submit / cancel path as the REST and WS surfaces, with full session-level reliability (heartbeats, sequence recovery, resend).

Evaluating the stack? Book a technical deep-dive — we'll walk your engineering team through the full message set, session credentials, and onboarding checklist.

Authentication

Per-account API key + HMAC-SHA384 signing on order and account routes. Public market data is unsigned. Detailed signing spec in the contract document.

Rate limits (default)

Token bucket per identity, tunable per deployment:

  • Private (orders, account): 100 req/s steady, 200 burst — per API key
  • Market (ticker, depth): 1,000 req/s steady, 2,000 burst — per IP

Excess returns HTTP 429 with a Retry-After header.

Enterprise deployments configure their own limits per environment. Discuss custom rate profiles with our engineering team at [email protected].

Error format

Every error returns { "error": "human readable" } with appropriate HTTP status (400 validation, 401/403 auth, 422 semantic, 503 unavailable).

FULL API REFERENCE
Every endpoint, every parameter, every response shape.
56 routes documented in OpenAPI 3.1, rendered with sidebar nav + search.
Open the reference →
Book a technical deep-dive →See licensing & pricing →

Every licensed deployment ships with the full API surface, sandbox environment, and OpenAPI 3.1 spec on day one.