Orrery for AI agents
Paid per-call probability intelligence over public prediction-market data. Agents can spend monthly Orrery API credits with X-Orrery-API-Key or settle per request in USDC on Base through x402.
Fast path
Start with the free health JSON, then hit one paid endpoint and confirm your client handles API-credit auth or the 402 payment challenge before replaying with proof.
What this is
A second namespace on the Orrery domain — /api/x402/v1/... — built specifically for autonomous AI agents. Each endpoint returns small, deterministic JSON with a uniform envelope. Settle each paid call in USDC on Base; no accounts, no rate cards, no rate-limit negotiations.
Discovery
/.well-known/x402-services.json— service catalog for marketplace listings (price, networks, latency, freshness targets)./x402-openapi.yaml— full OpenAPI 3.1 spec./.well-known/ai-plugin-x402.json— agent plugin manifest variant for the paid surface./llms.txt— single-file overview that lists this surface alongside the public read-only API.
Endpoints (v1)
23/api/x402/v1/decision/attention$0.050 USDCUse this endpoint when your agent needs to decide which prediction markets deserve immediate investigation right now. Returns a ranked Decision Card with attention/confidence/risk scores, evidence, risk flags, and suggested next paid calls per market.
cache 60s · target latency 900ms
/api/x402/v1/decision/market/{id}$0.150 USDCUse this endpoint when your agent has identified a specific Polymarket market and needs a full Decision Card in one round-trip: live snapshot + move-explanation factors + resolution-risk + recommended_agent_action + suggested_next_calls. Bundled for completeness and one-round-trip latency, not cheaper than fanning out base endpoints.
cache 60s · target latency 1500ms
/api/x402/v1/brief/today$0.010 USDCDaily prediction-market brief: biggest moves, unusual volume, research signals, resolution watch — machine-readable.
cache 300s · target latency 800ms
/api/x402/v1/markets/movers$0.005 USDCTop biggest 24h probability movers across live Polymarket markets, with category, volume and source-risk hints.
cache 120s · target latency 600ms
/api/x402/v1/venues$0.000 USDCFree venue catalog for Orrery's multi-venue intelligence layer: available venues, read-only source posture, and cross-venue endpoint discovery.
cache 300s · target latency 120ms
/api/x402/v1/markets$0.005 USDCNormalized market list across supported venues. Use venue=polymarket or venue=kalshi to retrieve canonical market objects while preserving venue-specific settlement rules and Kalshi realtime readiness.
cache 60s · target latency 800ms
/api/x402/v1/divergence/top$0.050 USDCTop Polymarket-vs-Kalshi cross-venue gaps with conservative same-event matching and explicit Kalshi realtime availability warnings. Exact matches are probability-comparable; near and related matches include contract-wording warnings.
cache 120s · target latency 1800ms
/api/x402/v1/markets/{id}/snapshot$0.005 USDCCompact snapshot for one market: probability, deltas, volume, liquidity, status, resolution source, active signals, related markets.
cache 90s · target latency 600ms
/api/x402/v1/markets/{id}/why$0.020 USDCInterpreted explanation of why a market moved: factors with evidence, confidence, sources, and what to verify next.
cache 180s · target latency 1500ms
/api/x402/v1/markets/{id}/resolution-risk$0.010 USDCResolution-risk analysis: extracted source type, confidence, UMA dispute status, ambiguities, what-to-verify hints.
cache 240s · target latency 600ms
/api/x402/v1/events/{slug}/cluster$0.030 USDCCluster of all related markets around a single event: aggregate volume, top movers, resolution risks, signals.
cache 240s · target latency 900ms
/api/x402/v1/signals$0.010 USDCLive signals feed across top markets, each with kind, evidence tier, backtest verdict, and recommended action.
cache 180s · target latency 800ms
/api/x402/v1/watchlist/summary$0.050 USDCSummarise a custom watchlist (markets + themes + wallets) with movers, new signals, resolution risk, and whale flow.
cache 60s · target latency 1200ms
/api/x402/v1/portfolio/risk$0.050 USDCPortfolio risk cockpit for a list of Polymarket addresses: open notional, PnL, category exposure, upcoming resolutions, ambiguous-source exposure.
cache 30s · target latency 1500ms
/api/x402/v1/share-card/{slug}$0.030 USDCPre-formatted share artefact for a market move: OG image URL plus ready-to-publish copy variants for X (post + thread), Telegram, Discord, and newsletter.
cache 180s · target latency 700ms
/api/x402/v1/wallets/{address}$0.020 USDCPer-wallet intelligence: open notional, PnL, win rate, and the five-dimensional profile score (activity, performance confidence, specialization, early-entry, copy-risk).
cache 120s · target latency 900ms
/api/x402/v1/category/{slug}/intelligence$0.020 USDCCategory dashboard data: total volume, average volatility, top movers, source-risk count, whale flow, resolving-soon count, and a one-line summary.
cache 240s · target latency 1000ms
/api/x402/v1/backtest/{kind}$0.020 USDCBacktest verdict for a single signal kind (momentum / divergence / flow / resolution_risk / news_lag): win rate, sample size, expected 24h move, and the strong/mixed/weak/forward-only label.
cache 600s · target latency 600ms
/api/x402/v1/search$0.005 USDCFree-text market search — find a Polymarket market by question text. Returns up to 20 matches with slug, question, category, probability, and 24h delta.
cache 60s · target latency 500ms
/api/x402/v1/events$0.005 USDCTop events by volume — discover event slugs to fan out to /events/{slug}/cluster. Useful as the first call when an agent doesn't know which events are alive.
cache 240s · target latency 500ms
/api/x402/v1/signals/{kind}$0.010 USDCLive signals filtered to one kind (momentum / divergence / flow / resolution_risk / news_lag). Faster than the generic /signals endpoint when an agent is monitoring a specific signal type.
cache 180s · target latency 700ms
/api/x402/v1/trades/recent$0.005 USDCRaw recent whale trades feed — last N $5k+ trades with side, size, wallet, market slug. Designed for trading bots and Discord/Telegram bots that re-broadcast significant flow.
cache 60s · target latency 600ms
/api/x402/v1/health$0.000 USDCFree health-check + endpoint inventory. Returns the full catalog with current pricing, payment-enforcement state, build version, and last-checked upstream Polymarket health. Always free — agents can ping before deciding which paid endpoints to call.
cache 30s · target latency 100ms
How payments work
- 1. Discover. Read the service catalog at
/.well-known/x402-services.json. Each entry quotesusdc_per_callon Base. - 2. Call. Fire a paid endpoint normally. If the request has no valid
X-PAYMENTproof, the server returns HTTP 402 with a machine-readable challenge. - 3. Settle. Your x402 payer reads the challenge, pays the quoted amount, and prepares a proof for the same request:
{ "x402Version": 2, "error": "payment_required", "accepts": [{ "scheme": "exact", "network": "eip155:8453", "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "amount": "10000", "payTo": "0x..." }], "docs": "https://orrery.me/docs/agents" } - 4. Replay. Compose the on-chain payment, attach proof in the
X-PAYMENTheader, replay the same request → 200 withpayment_status: "settled".
Response envelope
Every x402 endpoint returns the same wrapper. The data shape is endpoint-specific;meta is uniform so prompt-engineering against the surface is cheap.
{
"data": {
"schema_version": "orrery.brief.today.v1",
/* endpoint-specific payload */
},
"meta": {
"schema_version": "orrery.envelope.v1",
"endpoint": "/api/x402/v1/brief/today",
"fetched_at": "2026-04-30T12:00:00.000Z",
"snapshot_id": "snap_2026-04-30T12-00Z",
"cache_seconds": 300,
"payment_status": "settled",
"usdc_per_call": 0.01,
"sources": ["Polymarket Gamma", "Polymarket Data"],
"not_trade_advice": true
}
}Two parallel version streams: meta.schema_version versions the envelope itself; data.schema_version versions the inner payload per endpoint (orrery.health.v1, orrery.brief.today.v1, orrery.market.snapshot.v1, …). Pin the exact value, fall back to vendor docs on a bump. The same envelope version is also returned in the X-Orrery-Schema-Version response header.
Production payment enforcement
Production paid endpoints are behind x402 enforcement. The free health and manifest routes remain open; paid routes return HTTP 402 until the caller attaches a verified payment proof. The wire contract has three stable parts:
- 1. The envelope.
payment_statusreturns"settled"for verified x402 payments or authenticated monthly-credit API calls. The public health endpoint stays"preview"with zero price. Clients should accept any of {"preview", "settled", "missing", "rate_limited"} because 402 and 429 states are part of normal operation. - 2. The challenge. Calls without an
X-PAYMENTheader receive HTTP 402 (not 200) with the JSON challenge body shown above. Your client must handle 402 distinctly from 4xx errors — see the SDK examples at /sdk/orrery_client.py and /sdk/orrery_client.ts for the recommended retry pattern. - 3. The schema versions. The envelope
meta.schema_versionstays atorrery.envelope.v1across the enforcement state — the wire shape is unchanged, onlypayment_statusshifts. Per-payloaddata.schema_versionalso stays unchanged. If either bumps, that's a separate breaking change announced via the status changelog, not a side-effect of payment enforcement.
Price-change policy: we announce material pricing changes at least 14 days in advance via the /status changelog (a pricing_change entry) and via /.well-known/x402-services.json. Agents subscribed to either signal will see the change before it lands.
Per-endpoint pricing is quoted in usdc_per_call on every response and locked in the catalog at /.well-known/x402-services.json. We will never silently re-price an endpoint above its quoted rate; price increases get the same 14-day lead-time on the changelog.
Quickstart — autonomous agent
Most agents start with three calls. Today's brief → why-it-moved on the top mover → resolution-risk before treating it as news.
# 1. Free health / catalog check curl https://orrery.me/api/x402/v1/health # 2. Paid brief: spend monthly API credits or receive a 402 challenge curl https://orrery.me/api/x402/v1/brief/today \ -H 'X-Orrery-API-Key: <orrery_live_...>' curl -i https://orrery.me/api/x402/v1/brief/today # 3. Replay paid calls with x402 proof curl https://orrery.me/api/x402/v1/brief/today \ -H 'X-PAYMENT: <x402-payment-proof>'
What we don't do
- • No trading recommendations.
- • No predicted outcomes — public data interpretation only.
- • No insider or non-public data sources.
- • No copy-trading directives or "follow the whale" signals.
- • Refuse any prompt that asks the API to fabricate alpha; the response policy is published in the catalog.
Listing
Orrery is listed (or being listed) on Agentic Market under Orrery Probability Intelligence. For partnerships, custom endpoints, or enterprise data access, email hello@orrery.me.