Polymarket Data Infrastructure

Real-time Polymarket data.
Direct from the mempool.

Decoded settlement transactions 2 seconds before on-chain confirmation. Live orderbooks, OHLCV candles, and metadata for 69,000+ markets — one API.

69K+ Markets
35K+ Metadata Entries
<2s Mempool Latency
15 REST Endpoints

Live Orderbooks

Real-time CLOB data streaming via WebSocket. Three markets, three connections, zero delay.

CRYPTOBitcoin $100K by Dec 2026
CONNECTING
Loading orderbook...
wss://polynode.dev/ws · REST + WebSocket

Why PolyNode

The only API that captures Polymarket settlements from the mempool.

Mempool Monitoring

Decode pending settlement transactions before they confirm on-chain. See trades 2 seconds ahead of everyone else.

📑

Live Orderbooks

WebSocket streaming of CLOB orderbook updates. Best bid/ask, spread, and full depth — updated in real-time.

📈

OHLCV Candles

Price candles at 6 resolutions (1m, 5m, 15m, 1h, 4h, 1d). Built from live settlement data, not delayed feeds.

🔍

Combined Metadata

Market question, slug, outcomes, images, liquidity, volume — enriched on every response. One call instead of Gamma + CLOB.

💻

Self-Hostable

Single Rust binary, <2GB RAM. Run your own Polygon node + Redis on any server. No vendor lock-in.

🗃

JSONL Archive

Every settlement persisted to daily-rotated JSONL files. Years of historical data, compressed with zstd.

API Endpoints

15 REST endpoints + WebSocket streaming. All responses enriched with market metadata.

GET /v1/markets

Top markets by 24h volume with prices, metadata, and orderbook data.

{
  "count": 100,
  "total": 69482,
  "markets": [{
    "token_id": "0x123...",
    "question": "Will Bitcoin hit $100K?",
    "last_price": 0.72,
    "volume_24h": 48293.50,
    "mid_price": 0.715,
    "category": "Crypto"
  }]
}
GET /v1/orderbook/:token_id

Full CLOB orderbook with bids, asks, spread, and depth.

{
  "token_id": "0x123...",
  "best_bid": 0.71,
  "best_ask": 0.73,
  "spread": 0.02,
  "mid_price": 0.72,
  "bids": [["0.71", "1500.00"], ...],
  "asks": [["0.73", "2100.00"], ...]
}
GET /v1/candles/:token_id

OHLCV price candles. 6 resolutions from 1-minute to 1-day.

{
  "token_id": "0x123...",
  "resolution": "1h",
  "candles": [{
    "timestamp": 1709136000,
    "open": 0.68, "high": 0.74,
    "low": 0.67, "close": 0.72,
    "volume": 12500.0
  }]
}
GET /v1/search?q=bitcoin

Full-text search across 35K+ market questions. Sub-millisecond.

{
  "query": "bitcoin",
  "count": 12,
  "results": [{
    "question": "Will Bitcoin hit $100K?",
    "slug": "bitcoin-100k",
    "outcomes": ["Yes", "No"],
    "mid_price": 0.72,
    "volume_24h": 48293.50
  }]
}

30-Second Quickstart

Generate a key and make your first request.

cURL
# 1. Generate an API key
curl -s -X POST https://polynode.dev/v1/keys \
  -H "Content-Type: application/json" \
  -d '{"name": "my-bot"}' | jq

# Returns: { "api_key": "pn_live_abc123...", ... }

# 2. Get top markets by volume
curl -s https://polynode.dev/v1/markets?count=5 \
  -H "x-api-key: pn_live_YOUR_KEY" | jq

# 3. Stream live settlements via WebSocket
wscat -c "wss://polynode.dev/ws?key=pn_live_YOUR_KEY"
> {"action":"subscribe","type":"settlements"}

How PolyNode Compares

The only Polymarket API with decoded mempool data.

Feature PolyNode Gamma API CLOB API
Pending TX detection Yes (2s early) No No
Live orderbook Yes (WebSocket) No Yes
OHLCV candles 6 resolutions No Limited
Market metadata Enriched on all responses Yes (separate call) Token IDs only
Wallet tracking Real-time + historical Read-only No
WebSocket streaming Filtered subscriptions No Orderbook only
Historical archive JSONL (daily) Limited history No
Self-hostable Rust binary, <2GB No No
Rate limit 120 req/min Unknown Variable