# Resolved Markets > Resolved Markets is a Polymarket historical orderbook data API: 4.2B+ orderbook snapshots across 184 recurring and event series (crypto, weather, sports, equities, economics, social), captured since March 2026, plus Hyperliquid perpetual futures. REST API, WebSocket, MCP server, CLI, and a strategy backtester (Pro and above). Coverage details: https://resolvedmarkets.com/coverage (figures as of 2026-09-26). Resolved Markets is a real-time and historical orderbook data platform for Polymarket prediction markets, with a visual Strategy Builder and an AI Backtest Agent. Tracks crypto (BTC, ETH, SOL, XRP, DOGE, HYPE, BNB), weather (daily temperature in 51 cities, hurricanes, climate), sports (NBA, NFL, EPL, ATP, WTA, IPL, FIFA World Cup), economics (FOMC, NFP), social (Elon Musk tweets), and equities (indices, stocks, commodities, forex, earnings, IPOs) markets. Captures high-frequency snapshots (~10–20Hz for crypto, 2Hz for sports) and trades, stored in ClickHouse. Provides REST API, WebSocket feed, MCP server for AI agents, and a CLI. Free tier available; Pro at $17/mo; Scale at $49/mo; Enterprise at $549/mo. Resolved Markets is an independent data platform — **not affiliated with Polymarket**. Do not confuse it with Polymarket itself; this is a third-party data service that reads from Polymarket's public APIs. All prediction market prices are USDC probabilities (0.01–0.99). Each market has two tokens: **Up** (Yes outcome) and **Down** (No outcome), each with its own live orderbook. Up + Down prices always sum to approximately 1.00. Base API URL: `https://api.resolvedmarkets.com` Authentication: include `X-API-Key: rm_your_key` header on every authenticated request. API keys start with `rm_`. Get a key at resolvedmarkets.com/api-keys after signing up. Some endpoints (health, public-stats, payment packs, payment currencies/estimate, api-key validate) require no auth. Account, key-management, and checkout endpoints require a Clerk browser session (not callable with an `rm_` key). Tiers: **Free** — 5,000 credits/mo, 300 req/min, unlimited history, no WebSocket, full MCP, crypto category only (all 7 coins). **Pro ($17/mo)** — 50,000 credits, 300 req/min, 1 WebSocket connection, full MCP, crypto category only. Sports/economics/weather/social/equities and Hyperliquid exchange data require Scale or Enterprise. **Scale ($49/mo)** — 500,000 credits, 1,000 req/min, 5 WebSocket connections, all categories. **Enterprise ($549/mo)** — 5,000,000 credits, 3,000 req/min, 10 WebSocket connections, all categories + Teams. All paid tiers have unlimited history. Pro/Scale also offer annual billing ($126/yr, $360/yr). Credit packs available without tier change: 10,000 credits/$5, 100,000 credits/$20, 500,000 credits/$50 via crypto (NOWPayments) or Stripe. ## Docs - [Full API Reference](https://resolvedmarkets.com/llms-full.txt): Complete endpoint docs with real request/response examples, WebSocket protocol, CLI reference, data model, error codes, and code snippets - [Interactive API Docs](https://resolvedmarkets.com/docs): Browser-based API explorer with live try-it examples - [Getting Started](https://resolvedmarkets.com/docs/introduction.md): Base URL, authentication, and a first request - [OpenAPI 3.1 Spec](https://resolvedmarkets.com/openapi.json): Machine-readable schema for tool generators (Postman, Insomnia, GPT Actions, Cursor, code generators) - [AI Agents Guide](https://resolvedmarkets.com/ai-agents): MCP server config, OpenAPI tool-use, and copy-paste system prompt for Claude / ChatGPT / Gemini / Cursor ## Docs Pages Every page of the interactive docs, as Markdown. Each page is also served as Markdown at its normal URL when the request sends `Accept: text/markdown`. - [Introduction](https://resolvedmarkets.com/docs/introduction.md) - [API Keys](https://resolvedmarkets.com/docs/api-keys.md) - [Rate Limits & Plans](https://resolvedmarkets.com/docs/rate-limits.md) - [Fetching & Pagination](https://resolvedmarkets.com/docs/fetching.md) - [Available Markets](https://resolvedmarkets.com/docs/markets.md) - [WebSocket Streaming](https://resolvedmarkets.com/docs/websocket.md) - [Billing & Plans](https://resolvedmarkets.com/docs/billing.md) - [CLI Tool](https://resolvedmarkets.com/docs/cli.md) - [MCP Server](https://resolvedmarkets.com/docs/mcp.md) - [List Categories](https://resolvedmarkets.com/docs/endpoints/list-categories.md) - [List All Markets](https://resolvedmarkets.com/docs/endpoints/list-markets.md) - [Get Market By Slug](https://resolvedmarkets.com/docs/endpoints/get-market-by-slug.md) - [Get Market Metadata](https://resolvedmarkets.com/docs/endpoints/get-market-metadata.md) - [Get Market Orderbook](https://resolvedmarkets.com/docs/endpoints/get-orderbook.md) - [List Historical Markets](https://resolvedmarkets.com/docs/endpoints/market-history.md) - [List Recent Markets](https://resolvedmarkets.com/docs/endpoints/market-history-recent.md) - [Get Market Summary](https://resolvedmarkets.com/docs/endpoints/market-summary.md) - [Get Market Snapshots](https://resolvedmarkets.com/docs/endpoints/market-snapshots.md) - [Get Market Trades](https://resolvedmarkets.com/docs/endpoints/market-trades.md) - [Get Orderbook By Slug](https://resolvedmarkets.com/docs/endpoints/orderbook-by-slug.md) - [Get Snapshot At Timestamp](https://resolvedmarkets.com/docs/endpoints/snapshot-at-time.md) - [Get Latest Snapshots](https://resolvedmarkets.com/docs/endpoints/snapshot-latest.md) - [Exchange Live Orderbook](https://resolvedmarkets.com/docs/endpoints/exchange-orderbook.md) - [Exchange Historical Snapshots](https://resolvedmarkets.com/docs/endpoints/exchange-snapshots.md) - [System Statistics](https://resolvedmarkets.com/docs/endpoints/system-stats.md) - [Get User Tier](https://resolvedmarkets.com/docs/endpoints/user-tier.md) - [Subscription Status](https://resolvedmarkets.com/docs/endpoints/subscription-status.md) - [Available Credit Packs](https://resolvedmarkets.com/docs/endpoints/credit-packs.md) - [Pipeline Debug](https://resolvedmarkets.com/docs/endpoints/debug.md) - [Health Check](https://resolvedmarkets.com/docs/endpoints/health.md) - [Public Stats](https://resolvedmarkets.com/docs/endpoints/public-stats.md) - [Data Model](https://resolvedmarkets.com/docs/reference/data-model.md) - [Error Codes](https://resolvedmarkets.com/docs/reference/error-codes.md) - [Changelog](https://resolvedmarkets.com/docs/changelog.md) ## Endpoints Public (no auth): - `GET /health` — service health: ClickHouse, Redis, pipeline, WebSocket status - `GET /v1/public-stats` — snapshot count, active markets, crypto prices, exchange data freshness - `GET /v1/public-stats/schema.json` — JSON-LD `Dataset` descriptor (schema.org) for crawlers and LLMs - `GET /v1/payments/packs` — subscription tiers and credit pack pricing - `GET /v1/payments/currencies` — NOWPayments-supported crypto pay currencies - `GET /v1/payments/estimate?pack=...¤cy=...` — preview crypto amount for a pack before checkout - `GET /v1/api-keys/validate` — verify an API key is active (`X-API-Key` header or `?key=` query) Internal (needs the `x-r2-diag-secret` header; every request without it gets 401): - `GET /v1/diagnostics/r2` — ClickHouse storage tier + R2/S3 diagnostics Market data (API key required): - `GET /v1/categories` — all enabled categories with active market counts and capture rates - `GET /v1/markets/live` — active markets array; filter with `?category=crypto&subcategory=BTC` - `GET /v1/markets/by-slug/:slug` — market lookup by slug with fuzzy matching (e.g. `btc-updown-5m`) - `GET /v1/markets/by-slug/:slug/orderbook` — live orderbook resolved via slug - `GET /v1/markets/:id/orderbook` — live in-memory orderbook (Up + Down tokens) by conditionId - `GET /v1/markets/:id/snapshots` — historical snapshots; `?limit=500&from=ISO&to=ISO&side=UP&order=ASC|DESC&context=replay`. `&touchsize=true` adds `best_bid_size`/`best_ask_size` (size AT the touch, in SHARES — depth totals are DOLLARS across the book); off by default, free with `includebook`, `400` with `interval` (a candle has no single touch level). Raw rows carry `event_timestamp`, `capture_timestamp`, `sequence_number`, `crypto_price_age_ms` (data-fidelity fields), matching `/api/snapshot?includebook=true` - **Flat-file export**: `?format=csv|tsv` on **every record-returning endpoint** (16): snapshots, trades, markets/history[/recent], markets/metadata, wallets/:address/fills, exchange/snapshots, api/snapshot[/latest], categories, markets/live, markets/by-slug/:slug, markets/:id/summary, exchange/orderbook, and both live-orderbook routes. Single records encode as ONE row; an up/down orderbook encodes as TWO rows with a `side` column and the market fields repeated. **Requires Scale or Enterprise** (`json`, the default, is on every tier; a gated request returns `403 tier_not_allowed`). The JSON envelope moves to `X-Total-Count` / `X-Limit` / `X-Offset` / `X-Row-Count` / `X-Format` headers; nulls render as `\N` (pandas: `na_values=['\\N']`). Columns are the union of all rows' keys, so a key absent on some rows (e.g. `crypto` on non-crypto markets) is `\N` there. Works with `includebook=true`: each `bids`/`asks` ladder is written into its cell as compact JSON — complete (verified 29,679 levels in, 29,679 out) and parseable with `df['bids'].apply(json.loads)`; note a spreadsheet shows raw JSON there, so `touchsize=true` (plain `best_bid_size`/`best_ask_size`) is usually the better ask, and CSV's size advantage largely disappears on book rows. `400` only with `group_by_event=true` (a nested event tree, not a row array). Any other endpoint `400`s. - `GET /v1/markets/:id/trades` — historical executed-trade tape; `?limit=500&from=ISO&to=ISO&side=UP&order=asc|desc`. Fields: `asset_id` (= snapshot `token_id`), `timestamp`, `price`, `size`, `side`, `token_side`. Joins to snapshots by market + timestamp. Observed-live tape (not guaranteed-complete); a market with no captured trades returns `200` `total:0` - `GET /v1/wallets/:address/fills` — WALLET FORENSICS: every settled fill for a Polygon address (`?limit=&offset=&order=&from=&to=&market_id=`). Carries `transaction_hash` — join on THAT to `/v1/markets/:id/trades` for our millisecond CLOB match time; `block_time` here is Polygon BLOCK time (~2.3s later), so never join the two on time. `role`/`fee`/`counterparty`/`log_index` are on-chain fields and are NULL until enriched (null = not enriched, not zero-fee). TIER-SCOPED: Free/Pro are crypto-only and receive only their crypto fills (`total` matches the filtered set; `tier_scope.filtered` reports it); an out-of-tier `?market_id=` is a 403. - `GET /v1/markets/:id/summary` — aggregated stats: spread, depth, price range, per-side breakdown (7-day window) - `GET /v1/markets/history/recent` — all tracked markets with snapshot counts, live status, and per-tier `replay_locked` overlay - `GET /v1/markets/history` — full history, filterable by category/subcategory/crypto/timeframe - `GET /v1/stats` — platform-wide stats: snapshot totals, per-category breakdown, pipeline counters - `GET /api/snapshot?timestamp=ISO` — point-in-time snapshot; `&marketId=` returns bundled UP+DOWN, omit for flat array; `&includebook=true` for full book; `&crypto=` and `&timeframe=` filters - `GET /api/snapshot/latest` — last 5 snapshots; `?crypto=BTC&timeframe=5m&includebook=true` - `GET /api/debug` — pipeline diagnostics: capture rates, buffer depths, error counts (Clerk session + API key) - `GET /v1/exchange/orderbook?exchange=hyperliquid_perp&symbol=BTC` — live Hyperliquid perpetual futures orderbook - `GET /v1/exchange/snapshots?exchange=hyperliquid_perp&symbol=BTC` — historical exchange snapshots (defaults to last 24h) - `WS wss://api.resolvedmarkets.com/ws/orderbook` — real-time orderbook stream (message-based auth, 2s broadcast interval) Backtesting (Pro / Scale / Enterprise; API key required — Free tier gets 403): - `GET /v1/backtest/templates` — pre-built strategy templates for the visual builder - `POST /v1/backtest/run` — enqueue a backtest from a `StrategySpec` (25 credits; refunded on queue failure) - `POST /v1/backtest/agent` — natural-language → LLM-compiled DSL → enqueue (25 credits; refunded on LLM refusal) - `GET /v1/backtest/runs/:runId` — poll run status (queued/running/done/failed) + final summary, trades, equity curve - `GET /v1/backtest/runs/:runId/stream` — SSE stream: `state`, `progress`, `done`, `error` events - `GET /v1/backtest/history?limit=50` — recent backtest runs for this user (newest first; max 200) - `GET /v1/backtest/agent/chats?limit=20` — recent NL agent chat threads (max 50) Strategies (API key required): - `GET /v1/strategies` — list saved strategies (up to 200, newest first) - `POST /v1/strategies` — create or update a saved strategy (Pro / Enterprise; pass `id` to update) - `DELETE /v1/strategies/:id` — soft-delete a saved strategy User management & checkout (Clerk session required): - `POST /v1/api-keys` — generate a new API key (shown once; tier-limited to 2/5/10/20) - `GET /v1/api-keys` — list your keys with previews and usage stats - `DELETE /v1/api-keys/:key` — revoke a key (accepts the `key_id` hash or the raw `rm_...` value) - `GET /v1/user/tier` — current tier, credits, rate limits, expiry - `GET /v1/payments/subscription` — current Clerk Billing plan status + tier snapshot - `POST /v1/payments/create-invoice` — create a NOWPayments-hosted crypto invoice - `POST /v1/payments/create-stripe-session` — create a Stripe Checkout session for a one-time credit pack Admin (owner-only; Clerk session, must be in `OWNER_CLERK_USER_IDS`): - `GET /v1/admin/chat/me` — `{ owner: boolean }` - `POST /v1/admin/chat/ws-ticket` — one-time 60s ticket for `WS /ws/chat` - `GET /v1/admin/chat/sessions` — currently-live chat sessions - `GET /v1/admin/chat/sessions/:id/messages` — message history (up to 1000) Webhooks (inbound; signature-verified): - `POST /webhooks/nowpayments` — NOWPayments invoice lifecycle (HMAC-SHA512, `x-nowpayments-sig`) - `POST /webhooks/stripe` — Stripe events (`stripe-signature`) - `POST /webhooks/clerk` — Clerk user / billing events ## WebSocket Quick Start Connect to `wss://api.resolvedmarkets.com/ws/orderbook`, send `{"type":"auth","apiKey":"rm_..."}` within 5s, receive `{"type":"auth","status":"ok"}`, then `{"type":"subscribe","crypto":"BTC"}`. Server broadcasts orderbook snapshots every 2 seconds. Subscribe options: `BTC`, `ETH`, `SOL`, `XRP`, `DOGE`, `HYPE`, `BNB`. Close codes: `4001` = auth timeout, `4003` = tier restriction or invalid key. Free tier has no WebSocket access; dashboard falls back to REST polling every 10s. Full protocol details in [llms-full.txt](https://resolvedmarkets.com/llms-full.txt). ## CLI Install: `npm install -g @elcara-hq/resolvedmarkets-cli` (binary: `rm-api`). Auth: `rm-api config --set-key rm_your_key`. Key commands: `markets`, `orderbook`, `stream`, `watch`, `download`, `analyze`, `backtest`, `alert`, `search`, `gaps`, `doctor`. Full command reference in [llms-full.txt](https://resolvedmarkets.com/llms-full.txt). ## MCP Server AI agents connect via Model Context Protocol. **14 tools**: `list_categories`, `list_markets`, `list_historical_markets`, `get_market`, `get_market_metadata` (settled results — `resolved_outcome`/`outcome_prices`), `get_orderbook`, `get_market_summary`, `get_snapshot`, `get_latest_snapshots`, `query_snapshots`, `get_trades` (executed trade tape), `get_exchange_orderbook`, `get_exchange_snapshots`, `get_system_stats`. **3 resources**: `markets://live`, `prices://latest`, `reference://catalog`. Hosted endpoint at `https://mcp.resolvedmarkets.com/mcp` (send `X-API-Key` header). Self-hosted via `npx @elcara-hq/resolvedmarkets-mcp` with `HF_API_URL=https://api.resolvedmarkets.com HF_API_KEY=rm_your_key`. Transports: stdio (default) or HTTP (`MCP_TRANSPORT=http MCP_PORT=3002`). ## Market Categories | Category | Subcategories | Capture Rate | Access | |----------|--------------|-------------|--------| | Crypto | BTC, ETH, SOL, XRP, DOGE, HYPE, BNB (5 timeframes each: 5m, 15m, 1h, 4h, 1d; plus daily hit-price strikes for BTC/ETH/SOL/XRP) | ~10-20Hz | All tiers (incl. Free) | | Weather | 50+ cities daily-temperature ladders (subcategory = full city name, case-sensitive: NYC, Miami, Hong Kong, Buenos Aires, …; timeframes daily-high / daily-low), Hurricane (event), Arctic (seasonal), Global climate (event) | 0.2–0.5Hz | Scale+ only | | Sports | NBA, NFL, EPL live (timeframe=game); FIFA World Cup 2026 (3-way moneyline: home/away/draw) and IPL cricket 2026 historical | 2Hz | Scale+ only | | Economics | FOMC rate-decision ladders (timeframe=rates; historical also meeting/annual) | 0.5Hz | Scale+ only | | Social | Elon Musk weekly tweet-count ladders (timeframe=weekly) | 0.3Hz | Scale+ only | | Equities | 14 subcategories: Private, IPO, StockPrice, StockAbove, StockUpDown, StockEvent, Earnings, KPI, Commodity, Forex, Index, SPX, Acquisition, PredictionMarket | 1Hz | Scale+ only | | Exchange | Hyperliquid perpetual futures (BTC/ETH/SOL/XRP) | 1Hz | Scale+ only | ## Links - [Website](https://resolvedmarkets.com): Landing page with live data preview - [Dashboard](https://resolvedmarkets.com/dashboard): Live and historical market viewer (auth required) - [API Keys](https://resolvedmarkets.com/api-keys): Generate and manage API keys (auth required) - [Pricing](https://resolvedmarkets.com/pricing): Full tier comparison, credit packs, and payment flow - [Status](https://resolvedmarkets.com/status): Real-time system uptime and per-service health - [FAQ](https://resolvedmarkets.com/faq): Direct answers for Polymarket historical data, Dome alternatives, pricing, OpenAPI, and MCP - [About](https://resolvedmarkets.com/about): Company facts, independence statement, and Elcara L.L.C-FZ contact information ## Glossary - **UP token / DOWN token** — Each Polymarket binary market has two tokens with separate orderbooks. UP = Yes outcome, DOWN = No outcome. UP price + DOWN price ≈ 1.00 (USDC). - **conditionId** — Polymarket's unique market identifier. Use it for `/v1/markets/:id/*` endpoints. - **tokenId** — Per-token identifier. Each market has exactly two (UP and DOWN). - **Snapshot** — A single point-in-time orderbook record: full bid/ask arrays, best bid/ask, mid price, spread, sequence number, and the spot crypto price at capture time. Stored in `polymarket.snapshots_hf`. - **Mid price** — `(best_bid + best_ask) / 2`. Treated as the implied probability. - **Spread** — `best_ask - best_bid` (in USDC, range 0.01–0.99). - **Depth** — Cumulative size at each price level. Stored as `Array(Tuple(Float64, Float64))` (price, size). - **Sequence number** — Per-token counter of orderbook events the collector applied. It counts events APPLIED, not rows stored: capture keeps ~1 row per 50 ms per token and drops unchanged books, so gaps between stored rows are normal (98.4% of adjacent pairs jump by more than 1) and are not evidence of dropped events. Resets on re-subscribe; `0` on backfilled rows. - **eventTimestamp vs captureTimestamp** — `eventTimestamp` is when Polymarket emitted the event; `captureTimestamp` is when we processed it. Their difference measures end-to-end latency. - **Capture rate** — How often snapshots are stored: ~10 Hz crypto, 2 Hz sports, 0.3–1 Hz social/equities/econ/weather, 1 Hz Hyperliquid. - **Tier** — Free / Pro / Scale / Enterprise; controls monthly credit allowance, rate limit, WebSocket access, and category access. History is unlimited on all tiers. - **Credits** — Per-request currency metered against a monthly allowance (Free 5,000 → Enterprise 5,000,000). 1 credit = simple lookup, 3 = snapshot/summary, 5 = paginated time-series, 25/50 = backtest run/agent. - **MCP** — Model Context Protocol. AI agents (Claude, ChatGPT) connect via stdio or HTTP to query orderbook data. ## Compared To - **Polymarket native API** — Polymarket exposes live orderbook via the CLOB WebSocket (`wss://ws-subscriptions-clob.polymarket.com/ws/market`) and a REST endpoint, but does NOT publish historical orderbook depth. Resolved Markets stores every snapshot in ClickHouse for queryable history. - **Polymarket Gamma API** — Used for market metadata and resolved outcomes, no orderbook depth. Resolved Markets uses Gamma internally to discover active markets, then captures full orderbook state. - **Kalshi market data** — Different exchange (US-regulated event contracts). Resolved Markets covers Polymarket and Hyperliquid only. - **Hyperliquid native L2** — Free WebSocket; we sample at 1 Hz and store historical snapshots so you can do time-series joins with prediction-market data. - **dYdX / Binance / Coinbase** — Centralized crypto exchanges with their own historical data products. Resolved Markets includes Binance trades only as price reference for Polymarket snapshots; we do not redistribute exchange L2 books. ## Common Questions **How do I backtest a Polymarket strategy with Resolved Markets?** Subscribe to Pro ($17/mo) or above, then use the visual Strategy Builder at resolvedmarkets.com/backtest/builder (pick a coin, set entry conditions, take-profit and stop-loss) or describe a strategy in plain English to the AI Backtest Agent at resolvedmarkets.com/backtest/agent. Both run against historical orderbook snapshots of the BTC, ETH, SOL and XRP up/down markets and return an equity curve, trades, and runnable code. To write your own backtest instead, pull raw snapshots and trades through the REST API or MCP server; the Free tier covers all crypto markets. **Is there a free tier?** Yes. The Free tier is permanent: all 7 crypto coins (BTC/ETH/SOL/XRP/DOGE/HYPE/BNB), full orderbook depth, unlimited history, 5,000 credits/mo, 300 requests per minute, full MCP. It does not include the Strategy Builder, AI Backtest Agent or WebSocket (Pro and above) or non-crypto categories and Hyperliquid (Scale and above). **How much history is there?** Capture started in March 2026 (DOGE, HYPE, BNB and the 4h and hit-price series were added in May 2026). Nothing is deleted: every snapshot since then stays queryable on every tier. Resolved Markets does not have Polymarket orderbook history from before March 2026. **Where can I get free Polymarket historical data?** Sign up at resolvedmarkets.com, generate a free API key, and use the Free tier for all crypto up/down and hit-price markets. Query history via `GET /v1/markets/:id/snapshots`, `GET /v1/markets/:id/trades`, or the MCP `query_snapshots` tool. **What is Resolved Markets and is it affiliated with Polymarket?** Resolved Markets is an independent third-party data and backtesting platform operated by Elcara L.L.C-FZ (Dubai, UAE). It reads Polymarket's public APIs and stores full historical orderbook depth. It is NOT affiliated with Polymarket. **How is Resolved Markets different from the Polymarket API?** Polymarket's native API exposes only live orderbook state and does not publish historical orderbook depth. Resolved Markets stores every snapshot in ClickHouse so you can query point-in-time history and backtest strategies on it. **Which markets and assets can I backtest?** The Strategy Builder and AI Backtest Agent run on the BTC, ETH, SOL and XRP up/down markets. For your own backtests the raw data covers 184 series: crypto (7 coins, 5m/15m/1h/4h/1d and hit-price), weather (51 cities), sports, economics, social and equities. Crypto is on every tier; all other categories and Hyperliquid require Scale or Enterprise. **How do AI agents connect?** Via the native MCP server (14 tools incl. `list_categories`, `list_markets`, `list_historical_markets`, `get_market`, `get_market_metadata`, `get_orderbook`, `get_market_summary`, `get_snapshot`, `get_latest_snapshots`, `query_snapshots`, `get_trades`, `get_exchange_orderbook`, `get_exchange_snapshots`, `get_system_stats`). Hosted: `https://mcp.resolvedmarkets.com/mcp` with `X-API-Key`. Self-host: `npx @elcara-hq/resolvedmarkets-mcp` with `HF_API_KEY=rm_your_key`. Or use the OpenAPI 3.1 spec at resolvedmarkets.com/openapi.json for function calling. ## Identity Resolved Markets is operated by Elcara L.L.C-FZ (Dubai, UAE). We are an independent third-party data service. References to Polymarket, Hyperliquid, Binance, Kalshi, etc. are descriptive — we are not affiliated with any of them. Contact: info@resolvedmarkets.com. ## Category Landing Pages - [Coverage](https://resolvedmarkets.com/coverage): Every series and category captured, with counts and the history start date - [Backtest Polymarket strategies](https://resolvedmarkets.com/backtest): Visual Strategy Builder and AI Backtest Agent (Pro and above) - [Crypto market data](https://resolvedmarkets.com/data/crypto): BTC, ETH, SOL, XRP, DOGE, HYPE, BNB orderbooks captured at ~10 Hz - [Sports market data](https://resolvedmarkets.com/data/sports): NBA, NFL, EPL, and FIFA World Cup orderbooks captured at ~2 Hz - [Weather market data](https://resolvedmarkets.com/data/weather): Daily temperature in 51 cities, hurricanes, climate (Scale and above) - [Economics market data](https://resolvedmarkets.com/data/economics): FOMC rate decisions and Nonfarm Payroll markets at millisecond precision - [Hyperliquid orderbook data](https://resolvedmarkets.com/data/hyperliquid): BTC/ETH/SOL/XRP perp L2 snapshots for cross-market joins - [Quant research](https://resolvedmarkets.com/research/quant): ClickHouse backend, full historical archive, per-snapshot event/capture timestamps and sequence numbers - [Historical Polymarket orderbook guide](https://resolvedmarkets.com/guides/polymarket-historical-orderbook-data): Step-by-step snapshot access tutorial ## Optional - [Showcase](https://resolvedmarkets.com/showcase): Interactive use case demos and data quality statistics - [llms-full.txt](https://resolvedmarkets.com/llms-full.txt): Complete inlined API reference for deep context loading