API
Every number on this site comes from four JSON files served over HTTPS with open CORS. They are free to use, need no key, and come with no uptime guarantee: this is a best-effort feed, not a service level. Please cache on your side and poll no faster than the data changes.
Endpoints
GET /api/v1/signals.json | Latest snapshot for every coin and timeframe. Refreshed every tick (see tick_seconds). Cache 10 s. |
GET /api/v1/history/{coin}.json | Last 48 h of current-window readings at 1-minute resolution. Coins: BTC, ETH, SOL, XRP, DOGE, HYPE, BNB. Refreshed every 5 min. Cache 5 min. |
GET /api/v1/meta.json | Coins, timeframes (5m, 15m, 1h, 4h, 1d), thresholds and methodology version. |
GET /api/v1/openapi.json | OpenAPI 3.1 description of the above. |
Example
curl -s https://polysignals.net/api/v1/signals.json | jq '.coins.BTC.overall'
curl -s https://polysignals.net/api/v1/history/ETH.json | jq '.timeframes["1h"][-1]'signals.json, trimmed to one coin and one timeframe:
{
"version": 1,
"generated_at": "2026-09-30T12:34:15Z",
"tick_seconds": 60,
"coins": {
"BTC": {
"spot_usd": 112345.6,
"overall": { "score": 18, "direction": "neutral" },
"timeframes": {
"15m": {
"current": {
"prob_up": 0.61,
"score": 22,
"direction": "up",
"confidence": "high",
"late_window": false,
"stale": false,
"spread": 0.01,
"volume_usd": 18400,
"window_start": "2026-09-30T12:30:00Z",
"window_end": "2026-09-30T12:45:00Z",
"market_url": "https://polymarket.com/event/btc-updown-15m-1790791800"
},
"next": null
}
}
}
}
}Reading fields
prob_up- Implied probability of Up, 0–1. null when no usable quote.
score- (prob_up − 0.5) × 200, rounded. −100 to +100.
direction- strong_up · up · neutral · down · strong_down.
confidence- high · medium · low, from spread and window volume.
late_window- true when less than 20% of the window remains.
stale- true when the value was carried over from an earlier tick.
spread- Best ask minus best bid for the Up share.
volume_usd- Traded volume in the market, as reported by Polymarket (lags).
window_start / window_end- ISO-8601 UTC. Compute time remaining from window_end.
market_url- The market on polymarket.com.
overall- Per coin: confidence-weighted mean of current scores, or null.
spot_usd- Display-only spot price from Coinbase, or null.
History file
{ coin, generated_at, resolution: "1m", range_hours: 48, timeframes: { "5m": [{ t, prob_up, score }, …], … } }. Minutes with no usable reading are simply absent.
Not financial advice. Not affiliated with Polymarket. The feed can change or stop without notice.