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:
# Query parameter
curl "https://api.polynode.dev/v1/crypto/markets?key=YOUR_API_KEY"

# Header
curl -H "x-api-key: YOUR_API_KEY" "https://api.polynode.dev/v1/crypto/markets"

GET /v1/crypto/markets

All crypto prediction markets with liquidity, volume, and open interest. Cache: 3 minutes
curl "https://api.polynode.dev/v1/crypto/markets?key=YOUR_API_KEY"

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
ParameterRequiredDescription
symbolYesAsset symbol or feed name: BTC, ETH, SOL, BNB, XRP, DOGE, HYPE, or names like BTC/USD
curl "https://api.polynode.dev/v1/crypto/candles?symbol=BTC&key=YOUR_API_KEY"
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
ParameterRequiredDescription
symbolYesAsset symbol: BTC, ETH, SOL, BNB, XRP, DOGE, HYPE
fromYesStart of range as Unix milliseconds
toYesEnd of range as Unix milliseconds
limitNoMax ticks to return. Default 10000, max 100000
sourceNoOptional source filter: chainlink_data_streams or polymarket_chainlink
curl -H "x-api-key: YOUR_API_KEY" \
  "https://api.polynode.dev/v1/crypto/ticks?symbol=BTC&from=1780458961000&to=1780459082000&limit=5"
If truncated is true, request a narrower range or increase limit. BTC/USD can include more than one source for the same second; use the source parameter or deduplicate by timestamp_ms if your chart needs exactly one point per second.

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
ParameterRequiredDescription
symbolYesAsset symbol: BTC, ETH, SOL, BNB, XRP, DOGE, HYPE
windowYesUnix epoch timestamp of the market window start
intervalNoMarket interval variant (e.g. 5m, 15m, 1h, 4h)
curl "https://api.polynode.dev/v1/crypto/price?symbol=BTC&window=1774674000&key=YOUR_API_KEY"
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
curl "https://api.polynode.dev/v1/crypto/active?key=YOUR_API_KEY"
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
curl "https://api.polynode.dev/v1/crypto/series?key=YOUR_API_KEY"