New realtime endpoint: Ohio (AWS us-east-2, next to Kalshi) — Binance from Tokyo at ~64.1 ms one-way line latencyNew endpoint: Ohio · ~64.1 ms one-way line

Configure
Low-Latency Trading Solutions
CART
AI toolkit

CryptoStruct MCP Server

The CryptoStruct MCP server lets AI agents — Claude, Cursor, or any Model Context Protocol client — search our historical market-data catalog, read live market statistics, and buy tick-data files and prediction-market / option-chain day bundles directly from a conversation. The catalog behind the tools is the complete venue feed — every message, every instrument, every venue, every day, captured co-located at institutional grade — priced at 1 EUR per instrument-day or series-day. No API key needed for the free tier; optionally sign in via OAuth to reach your orders, pay with your credits, and unlock Premium depth. Card payment happens in the browser via Stripe checkout; credits are spent only with your consent — an approval page by default, or autonomously within limits you set.

Endpoint: https://cryptostruct.com/mcp (Streamable HTTP, stateless; keyless free tier — sign-in via OAuth is optional)

Connect · Claude Code

claude mcp add --transport http cryptostruct https://cryptostruct.com/mcp

Connect · claude.ai / Claude Desktop

Settings → Connectors → Add custom connector → https://cryptostruct.com/mcp

Connect · Cursor (~/.cursor/mcp.json)

{ "mcpServers": { "cryptostruct": { "url": "https://cryptostruct.com/mcp" } } }

Connect · Raw JSON-RPC (curl)

curl https://cryptostruct.com/mcp \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json, text/event-stream' \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'

Streamable HTTP, stateless — POST JSON-RPC messages; both Accept types are required.

Tools

Catalog & discovery

Find instruments and understand what the archive holds — free, no auth.

  • search_instruments — Search 800K+ instruments across 35+ venues by ticker, base asset or id, with class/venue filters — venue and class words in the query ("binance btcusdt perp") are understood.
  • list_venues — All covered venues with the archive headline numbers.
  • get_instrument — Master data + coverage summary for one instrument id.
  • get_coverage — Day-level coverage: first/last day, gaps, total size — check before you buy.
  • get_data_dictionary — File format, message types, integrity guarantees, pricing and links.
  • list_sample_files — Free full-day sample files with direct download URLs.
  • get_price_quote — EUR quote for a basket of tick files and/or series-day bundles (per-series prices), with per-item availability.

Day bundles

Prediction-market series (Kalshi, Polymarket) and Deribit option chains are sold as series-day bundles: one item is every contract file of a series on one UTC day, priced per series (mostly 1 EUR). These tools resolve a series to its bundle_id and list its sellable days; buying and delivery use the generic tools with kind series_day — each purchased day arrives as one zip (or tar over 4 GB).

  • search_bundles — Search ~1,900 bundles by text, class (prediction / option), venue, category or interval — returns bundle_id, series_key, price, covered days and delivery mode.
  • get_bundle_coverage — Sellable days of one bundle (newest first, pageable) with file count, bytes, price, trades/turnover where captured, and partial-day flags.
  • get_bundle_sample — One free contract file of the series — the same format as purchased bundle members — with a direct download URL.

Market statistics

The same 1-minute/daily aggregates the analyze pages chart: OHLC, VWAP, trades, turnover, spreads, top-of-book depth.

  • get_market_snapshot — Live snapshot: last price, 24h change, 60-min turnover/trades, spread (bps), top-1/top-20 depth.
  • get_daily_stats — Daily OHLC/VWAP/turnover series over 30/90/180 days with a window summary. Premium: 365d and max (full history).
  • get_hourly_stats — Hourly OHLC/VWAP/turnover/spread/depth series over 7/30/90 days. Premium: 180d.
  • get_slippage — Market-impact ladder: reachable notional within X bps of mid, time-averaged over 1h. Premium: 24h and 7d.
  • get_minutes_range — [Premium] Historical per-minute series (1h/3h/6h windows, any UTC hour within ~30-day retention) incl. data-quality fields — event studies.
  • get_top_instruments — Top instruments by live 24h turnover across all venues.
  • get_movers — 24h gainers and losers per class with a minimum-turnover floor.

Your account (sign-in required)

Connect with OAuth sign-in and the agent can work with your CryptoStruct account directly.

  • list_my_orders — Your order history: status, totals, credits applied, invoice PDFs, tokenized order links.
  • get_my_files — Every file you own as a flat list with delivery state and direct download URLs (owner links never expire).
  • get_my_subscription — Premium status, credit balance, the latest credit-ledger entries and your agent-spending settings (mode, caps, spent today).
  • preview_checkout — Dry run of a purchase: already-owned files, unavailable days, credit cover — and whether create_checkout will complete from credits, ask for your approval, or hand over a Stripe URL.

Buying data

The agent assembles the purchase; you stay in control of the money. Card payments happen in the browser via Stripe. Credits (signed-in) are spent only with your consent: by default every agent order lands on an approval page you confirm; opt into autonomous mode in your account to let fully credit-covered orders complete within your per-order and daily limits. Tick files are 1 EUR per instrument-day — the raw tick file with every order-book update, trade and liquidation; day bundles (kind series_day) are priced per series, mostly 1 EUR for every contract file of that series on one UTC day. (1-minute statistics are an analytics export, not a shop item: rolling 24 h free, rolling 7 days and any recorded day with Premium.)

  • create_checkout — Start a purchase (max 365 items per checkout; tick files and/or series-day bundles). Card: returns a Stripe checkout URL to open in the browser. Credits: returns approval_required with an approval_url for you to confirm — or, in autonomous mode and within your caps, the order completes immediately. Optional max_credit_cents lets the agent cap its own spend.
  • get_checkout_status — Poll the checkout by session_id (card) or order_id (signed-in; credit/approval orders); once paid it returns the order id and download token.
  • get_order_files — List a paid order's files with delivery state and direct download URLs — day bundles come with a zip (or tar) URL per day plus status/restore URLs.
  • request_file_restore — Wake an archived (cold-storage) tick file — restores take up to ~12 hours (bundle days restore via their restore_url).

Buying data from an agent

  1. search_instruments — find the instrument and note its instrument_id (day bundles: search_bundles → bundle_id, then get_bundle_coverage instead of get_coverage; items use kind series_day)
  2. get_coverage — confirm the days you need exist
  3. get_price_quote — total price in EUR (signed in: preview_checkout also shows owned files, credit cover and what create_checkout will do)
  4. create_checkout — card: returns a Stripe checkout URL to open in the browser; credits: returns an approval_url to confirm, or completes on its own if you enabled autonomous mode within your limits
  5. get_checkout_status — poll (session_id or order_id) until "paid"; returns order_id + download_token
  6. get_order_files — per-file download URLs (ready / restoring / archived); bundle days: one zip_url or tar_url per day

Premium & sign-in

The free tier mirrors what the website shows — same windows, same limits, keyless. Signing in connects the agent to your CryptoStruct account; CryptoStruct Premium (20 EUR/month, the same subscription that powers the deep analyze views) unlocks the deep windows on top. Shop files stay 1 EUR per instrument-day for everyone; day bundles keep their per-series price.

What sign-in adds (free account)

  • Account tools: list_my_orders, get_my_files (never-expiring download links), get_my_subscription.
  • Checkout knows you: email optional, already-owned files are dropped, and your credits pay (1 credit = 1 EUR = 1 file-day) — with your approval, or autonomously within the limits you set on the Agents tab.
  • Your own call budget, keyed to your account instead of your IP.

Free vs Premium at a glance

CapabilityFreePremium (20 EUR/mo)
Call budget120 units/min600/min (5x)
get_daily_stats30 / 90 / 180d+ 365d, max
get_hourly_stats7 / 30 / 90d+ 180d
get_slippage1h+ 24h, 7d
get_minutes_range— (locked)full ~30-day retention
get_market_snapshotcore metrics+ data-quality block
search_instruments≤ 25 / callup to 100 / call

Connect · claude.ai / Claude Desktop (sign-in)

Settings → Connectors → Add custom connector → https://cryptostruct.com/mcp/auth

The /mcp/auth endpoint asks for sign-in on connect (OAuth in the browser). Same tools as /mcp.

Connect · Claude Code (sign-in)

claude mcp add --transport http cryptostruct https://cryptostruct.com/mcp
claude mcp login cryptostruct

Connect · Cursor (~/.cursor/mcp.json, sign-in)

{ "mcpServers": { "cryptostruct": { "url": "https://cryptostruct.com/mcp/auth" } } }

Sign-in uses OAuth against our Clerk account system — the agent never sees your password, and you can revoke access anytime from your account. Keyless use keeps working unchanged; tools and parameters beyond your tier answer AUTH_REQUIRED / PREMIUM_REQUIRED with an upgrade link.

Fair use & rate limits

Anonymous access shares a per-IP budget (weighted per tool call); signed-in callers get their own per-account budget, and Premium raises it 5x. On a RATE_LIMITED error, back off for the indicated seconds. For sustained programmatic scale beyond that — batch queries, bulk exports — the pricing page lists the enterprise options.

Units & conventions

Market values (turnover, depth) are USD; sale prices are EUR. All file sizes are compressed (zstd) bytes. Minute-level statistics are retained for roughly 30 days; daily aggregates reach back further. Instrument ids are stable for the lifetime of an instrument and identical across MCP, shop and analyze pages.

Guest vs signed-in orders

Anonymous MCP purchases use the guest flow: the download link and token from get_checkout_status stay valid for 30 days. Signed-in (OAuth) purchases are linked to your account permanently and drop already-owned files automatically.

No MCP client? The same flow over plain HTTP

Every step of the buy flow is also a documented HTTP call — search, coverage, a keyless POST /api/quote, the guest checkout (Stripe URL for the user), status polling and the tokenized download routes — in https://cryptostruct.com/docs/api.md, with an OpenAPI 3.1 description at https://cryptostruct.com/openapi.json. Or hand the user a pre-filled shop link — Buy link (no API call needed): /shop?i=<instrument_id>&d=<from>..<to> opens the shop with those UTC days of the instrument in the cart; d also takes a comma list or a mix (d=2026-09-01..2026-09-07,2026-09-15). Bundles: /shop/bundles?bundle=<series_key>&d=…. Only archived days are added (gaps and days still being merged are skipped), at most 366 days of span and 1000 lines per cart; the user pays on the site. Example: /shop?i=67824&d=2026-09-29..2026-10-05 = seven days of Binance BTCUSDT perpetual ticks.

Credits & agent consent

Your credits are never spent by an agent without your consent. Default — approve each purchase: create_checkout returns approval_required plus an approval page where you pay with credits (or by card) or discard the order; unapproved orders expire after 24 hours with nothing charged. Opt-in — autonomous within limits (https://cryptostruct.com/account/agents): a fully credit-covered order completes immediately as long as it fits your per-order cap and your rolling 24-hour cap; anything larger, or not fully covered, comes back to you for approval instead of failing. The agent can pass its own max_credit_cents on top. Only you can change these settings — from the website, never through an agent's token — and every autonomous purchase is listed on the Agents tab and in your credit ledger.

No MCP client? The same flow runs as plain HTTP calls — see the crypto market data API page (OpenAPI at /openapi.json).

Prefer files over tools? The Agent Skill teaches your assistant to parse the raw tick files locally, and llms.txt maps everything machine-readable. Free sample days live on /download. The platform and market-data documentation — file format, SBE, trading API, Strategy SDK — lives on docs.cryptostruct.com.

Why CryptoStruct

Why buy data through an agent here

Four things every page on this site is built on — and the reason the numbers above exist at all.

We record everything

The complete public feed of each venue as it was published: every Level-2 snapshot and update at the venue's full book depth, every trade with its aggressor side, every quote, funding, mark-price and liquidation event — for every instrument the venue lists, every UTC day since we added the venue. Nothing sampled, no top-N cut, no on-demand capture.

Institutional grade

Captured co-located at the venue with the exchange timestamp and our receive timestamp in integer nanoseconds, an event-id chain that makes any gap visible, and one normalized schema across 35+ venues — the same capture our own high-frequency trading engine and enterprise feeds run on.

€1 per instrument-day

Any instrument-day is €1, series-day bundles start at €1 — no subscription, no minimum order, no tiers to unlock. Credit packs lower the effective price and never expire, and every venue has free full-day samples to test against first.

Self-service for everyone

Pick the days in the Data Shop, pay by card as a guest and download immediately — no sales call, no enterprise contract, no KYC. Coding agents buy the same files through the MCP server, and the free Agent Skill teaches them the format.

Agents: /llms.txt · MCP server /mcp · every page as markdown via Accept: text/markdown