API Documentation
Create a key, point your software at it, trade. Read data is open to everyone.
Base URL
/api (same origin)
Auth
Bearer uak_… / x-user-token
Rate Limit
120 read / 60 write per min
Format
JSON
Endpoint reference
70 verified endpoints. Base URL /api on this origin.
/wspublicWebSocket stream of live market data, same origin as the site: wss://<your-domain>/ws. Open to everyone — it carries market data only. Account streams require sending your own userId after connecting.
/api/healthpublicLiveness probe. Cached market count, open WebSocket connections, upstream feed WS state.
/api/geo/checkpublicGeo gate plus white-label brand resolution for the calling Host. The frontend calls it before render.
/api/sync/statuspublicUpstream market-cache freshness: last and next sync time, cached market count, cache age against its TTL in seconds.
/api/partner/resolve-configpublicWhite-label brand config for the calling Host: platform name, colour theme, layout template. The only /api/partner/* path useful to a normal developer.
/api/marketspublicMain market list. Pinned custom and short-term markets are merged in as a prefix and are not affected by sort.
/api/markets/cardspublicSame paging and filtering as /api/markets but a trimmed card payload: top two outcomes only, volume and liquidity floored. Cheaper for list views.
/api/homepublicSingle-call homepage bootstrap: the category list plus a first page of markets. Saves a round trip.
/api/markets/:idOrSlugpublicFull market detail including the complete outcome set, description and resolution text. Accepts the id or the slug.
/api/market-rules/:slugpublicJust the resolution rules text for a market, without the full detail payload.
/api/categoriespublicCategory list enriched with live marketCount and totalVolume. The `all` row carries the totals.
/api/categories/:category/tagspublicSub-category tags with counts for one category. These tag values are exactly what /api/markets?tag= accepts.
/api/searchpublicWeighted full-text search across title, outcomes, tags, category and description. Results are split into events and markets.
/api/markets/search-by-newspublicFind markets related to news keywords.
/api/market-holders/:marketIdpublicPosition holders for a long-form market, with the outcome each one holds.
/api/orderbook/:marketId/:outcomeIdpublicBid and ask ladder for one outcome of a long-form market.
/api/markets/5mpublicCurrently tradeable 5-minute up/down markets, de-duplicated to one per asset (the soonest that has not expired).
/api/markets/15mpublicCurrently tradeable 15-minute up/down markets, one per asset.
/api/markets/5m/current/:assetpublicThe single active 5m market for an asset. This is the auto-switch helper a bot should poll to know what to trade right now.
/api/markets/15m/current/:assetpublicThe single active 15m market for an asset.
/api/markets/5m/futurepublicScheduled but not yet started 5m markets, so a bot can pre-position.
/api/markets/15m/futurepublicScheduled but not yet started 15m markets.
/api/markets/5m/historypublicRecent and resolved 5m markets with settlement data and an embedded price series. Heavy — every row carries priceHistory.
/api/markets/15m/historypublicResolved 15m market history with priceHistory, capped at 240 points per market.
/api/markets/5m/:idOrSlugpublicFull 5m market detail with the quoted price, delta and time remaining. Accepts the id or the slug.
/api/markets/15m/:idOrSlugpublicFull 15m market detail with the quoted price and time remaining.
/api/markets/5m/:marketId/orderbookpublicResting limit orders for a 5m market, aggregated per side plus the raw order rows.
/api/markets/15m/:marketId/orderbookpublicResting limit orders for a 15m market.
/api/pricespublicLive spot snapshot for every tracked asset, keyed by symbol.
/api/prices/:assetpublicLive spot snapshot for one asset.
/api/candles/:assetpublicOHLCV candles for an asset. Proxied live to an external price feed.
/api/guided-candles/:assetpublicThe candle series the short-term markets are settled against.
/api/market-stats/:assetpublicAggregate traded volume and trade count for an asset.
/api/holders/:assetpublicCurrent holders for a short-term asset market, largest first.
/api/live-trades/:assetpublicLive trade tape for a short-term asset market. This is the read side of a copytrading loop.
/api/event-live-trades/:eventIdpublicLive trade tape for one long-form event, with the outcome traded on each row.
/api/leaderboardpublicRanked traders. Use it to pick a leader to copy.
/api/leaderboard/rank/:userIdpublicOne account’s standing without pulling the whole board.
/api/users/:userId/profilepublicPublic profile card for any account: identity plus aggregate stats.
/api/users/:userId/tradespublicTrade history for any account. This is the feed a copytrading bot follows.
/api/users/:userId/positionspublicOpen positions for any account, across every market type.
/api/users/:userId/balancekey: readReal and demo balance for your own account.
/api/users/:userId/positions/15mkey: readYour open 15m positions, each enriched with the live market state. positionId for a claim comes from here.
/api/users/:userId/positions/5mkey: readYour open 5m positions, enriched with the live market state.
/api/users/:userId/orderskey: readYour AMM order history.
/api/users/:userId/limit-orders/15mkey: readYour 15m limit orders. The orderId a cancel needs comes from here.
/api/users/:userId/limit-orders/5mkey: readYour 5m limit orders.
/api/users/:userId/transactionskey: readYour ledger: deposits, trades, settlements.
/api/users/:userId/pointskey: readYour points balance, recent activity and achievements.
/api/users/:userId/api-keyssession onlyCreate an API key. The plaintext key is returned exactly once, in this response, and is never recoverable afterwards — only its sha256 is stored.
/api/users/:userId/api-keyssession onlyList your API keys. Never returns key material — prefix only. Revoked keys stay visible with their revokedAt stamp, because they still explain trades in your history.
/api/users/:userId/api-keys/:keyIdsession onlyRevoke one of your API keys. Idempotent — revoking an already-revoked key returns 200.
/api/users/:userId/orders/placekey: tradePrimary order placement route. Auto-detects the market timeframe from the id (tries 15m, then 5m, then long-form/event). Handles market and limit, buy and sell.
/api/users/:userId/orderskey: tradeThe older AMM order route. Still live and still reachable with a key. Same money path as /orders/place but a narrower body and stricter type checking. Prefer /orders/place for new integrations.
/api/markets/15m/:marketId/buykey: tradeBuy UP or DOWN shares in a 15-minute market. Market order when you send amount; limit order when type is "limit" or when you send both price and shares. A 0.5% fee is charged on top of amount.
/api/markets/15m/:marketId/sellkey: tradeSell shares back and close a 15m position. This is the correct way to close a position. A 0.5% fee is deducted from the proceeds.
/api/markets/15m/:marketId/claimkey: tradeSettle a position on a RESOLVED 15m market. A winning position pays shares x 1.00; a losing position is closed at 0. Both outcomes return 200 — read data.isWinner.
/api/markets/5m/:marketId/buykey: tradeBuy UP or DOWN shares in a 5-minute market. Same contract as the 15m buy.
/api/markets/5m/:marketId/sellkey: tradeSell shares back and close a 5m position. The supported way to close a 5m position.
/api/markets/5m/:marketId/claimkey: tradeSettle a position on a RESOLVED 5m market. Winning positions pay shares x 1.00; losing positions close at 0. Both return 200.
/api/limit-orders/15m/:orderId/cancelkey: tradeCancel a resting 15m limit order and refund the unfilled stake.
/api/limit-orders/5m/:orderId/cancelkey: tradeCancel a resting 5m limit order and refund the unfilled stake.
/api/markets/5m/:marketId/orders/:orderIdkey: tradeSecond cancel path for a 5m limit order, addressed by market and order. Ownership is re-checked in the handler.
/api/clob/pricepublicBest price for one side of an outcome, in the standard CLOB response shape.
/api/clob/bookpublicFull ladder for an outcome in the CLOB shape, prices and sizes as strings.
/api/clob/midpointpublicMidpoint between best bid and best ask.
/api/clob/spreadpublicAbsolute and percentage spread for an outcome.
/api/clob/prices-historypublicPrice series for a market in the CLOB shape.
/api/clob/fee-ratepublicCurrent maker and taker fee rates.
/api/clob/preview-tradepublicDry-run an order: shares out, average price, price impact, fee and the resulting prices. Pure calculation — nothing is written and no balance moves.