Skip to main content
REST endpoints for crypto prediction market data. All endpoints require an API key.

Authentication

Pass your API key via query parameter or header:

GET /v1/crypto/markets

All crypto prediction markets with liquidity, volume, and open interest. Cache: 3 minutes

GET /v1/crypto/candles

5-minute OHLC candles from PolyNode’s live Chainlink tick archive. Returns ~2.5 hours of history (30 candles). Cache: ~5 seconds
REST candle symbols accept both bare asset symbols like BTC and feed names like BTC/USD. WebSocket Chainlink subscriptions use feed names such as BTC/USD.

GET /v1/crypto/ticks

Historical 1-second ticks for the same crypto feeds available on the price_feed WebSocket stream. Use this to backfill a chart window before switching to live WebSocket updates. Range: up to 24 hours per request
If truncated is true, request a narrower range or increase limit.

GET /v1/crypto/price

Open and close price for a specific crypto market window. Use this to get the “price to beat” for a short-form market. Cache: 10 seconds
The openPrice is the oracle price at market open. closePrice updates in real time until the window completes. completed: true means the market has resolved.

GET /v1/crypto/active

Currently active 5-minute up-or-down markets for all 7 coins. Returns live market data with token IDs, outcomes, and current odds. Cache: 30 seconds
The windowStart field is the epoch timestamp of the current 5-minute window. New markets rotate every 5 minutes.
Slug pattern is deterministic: {coin}-updown-5m-{windowStart}. You can compute the current window yourself with Math.floor(Date.now() / 1000 / 300) * 300. The SDK’s shortForm() method handles this automatically with auto-rotation, enriched market data, and settlement streaming. See Short-Form Markets for the interactive slug calculator and full reference.

GET /v1/crypto/series

Recurring crypto market series (5m, 15m, 1h, 4h, daily, weekly, monthly patterns). Cache: 5 minutes