Skip to content

Getting started

TiltDesk is a multi-venue prediction-market intelligence engine (Polymarket first). It records order-book and on-chain data, cleans it into analytics tables, and serves it through a versioned product API — including the full ~1.6M-market catalog with machine-classified categories and tags.

https://api.tiltdesk.xyz

Private beta — anonymous calls work at a low rate limit; get an API key for production use (see Authentication).

Terminal window
# the catalog: newest markets, two per page
curl "https://api.tiltdesk.xyz/v1/markets?limit=2"
{
"data": [
{ "condition_id": "0x0338…", "question": "BNB Up or Down - July 3, 9AM ET",
"slug": "bnb-up-or-down-…", "status": "active", "end_date": "2026-07-03 00:00:00" }
],
"next_cursor": "1782910820_0338…",
"has_more": true
}

Fetch one market by any identifier you have — condition id, outcome token id, or slug — and get its metadata, outcomes, and tags in one call:

Terminal window
curl "https://api.tiltdesk.xyz/v1/markets/0x1f94e81a0e2e245ff3b488162a0b919a50fe5d80f6cd5208b64bafc22e98607e"
curl "https://api.tiltdesk.xyz/v1/markets/25843468870565288611485196…" # token id
curl "https://api.tiltdesk.xyz/v1/markets/will-jordan-be-an-advancing-…" # slug
  • Versioned — every path starts with /v1. Additive changes ship within v1; breaking ones get /v2.
  • Envelope + cursors — list endpoints return { "data": [...], "next_cursor": "…", "has_more": true }. Pass next_cursor back as ?cursor= for the next page. Cursors are opaque; don’t parse them.
  • One error shape{ "error": { "code", "message", "request_id" } } with a meaningful HTTP status. The X-Request-Id response header traces any request.
  • Filters/v1/markets takes category=, tag= (comma = AND), status=, q= (text match), order=newest|ending, limit= (max 200).
  • Read-only — the API never mutates data.
  • Tolerant clients — new fields ship within /v1; ignore unknown fields.
Endpoint What it returns
GET /v1/markets the catalog, filtered + cursor-paginated
GET /v1/markets/{id} one market (id = condition id, token id, or slug) with outcomes + tags
GET /v1/tags the tag taxonomy with market counts
GET /v1/categories category rollup (sports, crypto, politics, …)
GET /v1/builders the builder leaderboard
GET /v1/health liveness + data freshness