Pantera Research Lab built its study “Crypto on the Clock” on Surf prediction-market dataRead the study ↗Fundamentals
The venue-level state of prediction markets across Polymarket & Kalshi — headline numbers, volume, open interest, activity, and fees, plus the live market board.
The only API that matches Polymarket and Kalshi markets to each other — with the spread, the depth history, and the smart money behind every price.
Pulse
The state of the market at a glance — headline numbers right now, and each venue's latest day, 7-day, and 30-day totals on one board.
Get the pulse dataFetch the live venue metrics and the scored-outcome count shown above.View requestHide request
curl -s "https://api.asksurf.ai/gateway/v1/prediction-market/analytics" \ + -H "Authorization: Bearer $SURF_API_KEY" curl -s "$ORIGIN/api/pm/precompute/accuracy-by-venue"
Venue Scoreboard
Volume
Weekly traded volume and matched trades across both venues since 2024 — with the sports flow stripped out, and each category's venue split.
Spot Volume
Run the source queryQuery the public warehouse data behind this chart.View requestHide request
curl -s -X POST "https://api.asksurf.ai/gateway/v1/onchain/sql" \
-H "Authorization: Bearer $SURF_API_KEY" -H "Content-Type: application/json" \
-d "{\"max_rows\":2000,\"sql\":\"SELECT toStartOfWeek(date) AS week, source, round(sum(notional_volume_usd)) AS volume_usd FROM agent.prediction_markets_daily GROUP BY week, source ORDER BY week\"}"Spot Transactions
Run the source queryQuery the public warehouse data behind this chart.View requestHide request
curl -s -X POST "https://api.asksurf.ai/gateway/v1/onchain/sql" \
-H "Authorization: Bearer $SURF_API_KEY" -H "Content-Type: application/json" \
-d "{\"max_rows\":2000,\"sql\":\"SELECT toStartOfWeek(block_date) AS week, sum(trade_count) AS trades FROM agent.polymarket_volume_daily GROUP BY week ORDER BY week\"}"
curl -s -X POST "https://api.asksurf.ai/gateway/v1/onchain/sql" \
-H "Authorization: Bearer $SURF_API_KEY" -H "Content-Type: application/json" \
-d "{\"max_rows\":2000,\"sql\":\"SELECT toStartOfWeek(created_time) AS week, count() AS trades FROM agent.kalshi_trades GROUP BY week ORDER BY week\"}"Volume Without Sports
Run the source queryQuery the public warehouse data behind this chart.View requestHide request
curl -s -X POST "https://api.asksurf.ai/gateway/v1/onchain/sql" \
-H "Authorization: Bearer $SURF_API_KEY" -H "Content-Type: application/json" \
-d "{\"max_rows\":2000,\"sql\":\"SELECT toStartOfWeek(date) AS week, source, round(sum(notional_volume_usd)) AS volume_usd FROM agent.prediction_markets_daily WHERE category != 'Sports' GROUP BY week, source ORDER BY week\"}"Venue Share by Category
Run the source queryQuery the public warehouse data behind this chart.View requestHide request
curl -s -X POST "https://api.asksurf.ai/gateway/v1/onchain/sql" \
-H "Authorization: Bearer $SURF_API_KEY" -H "Content-Type: application/json" \
-d "{\"max_rows\":2000,\"sql\":\"SELECT toStartOfWeek(date) AS week, source, round(sum(notional_volume_usd)) AS volume_usd FROM agent.prediction_markets_daily WHERE category = 'Crypto' GROUP BY week, source ORDER BY week\"}"Open interest
Money locked in open positions — daily by venue over the trailing year, and weekly with sports stripped out.
Open Interest by Venue
Open Interest Without Sports
Run the source queryQuery the public warehouse data behind this chart.View requestHide request
curl -s -X POST "https://api.asksurf.ai/gateway/v1/onchain/sql" \
-H "Authorization: Bearer $SURF_API_KEY" -H "Content-Type: application/json" \
-d "{\"max_rows\":2000,\"sql\":\"SELECT toStartOfWeek(date) AS week, source, round(argMax(oi, date)) AS open_interest_usd FROM (SELECT date, source, sum(open_interest_usd) AS oi FROM agent.prediction_markets_daily WHERE category != 'Sports' GROUP BY date, source) GROUP BY week, source ORDER BY week\"}"Activity, markets & fees
Who's active and what's tradable — daily active wallets and trades, markets that actually traded, and Polymarket's fee revenue.
Activity: Traders & Trades
Actively Traded Markets
The Fee Switch
Live market board
The highest-volume markets live on both venues right now.
Top Markets Now
Get the market board dataFetch the live markets returned by the public analytics API.View requestHide request
curl -s "https://api.asksurf.ai/gateway/v1/prediction-market/analytics" \ -H "Authorization: Bearer $SURF_API_KEY"
Ship it on Surf's live API
The same tables and endpoints this page runs on — free tier, no card required.
API docs ↗Need a data feed, not a demo?
Talk to us about enterprise access, custom pipelines, and SLAs.
Talk to us