API pricing

Prediction market intelligence for AI agents

Orrery packages live Polymarket data into small, sourced Decision Cards: what moved, why it matters, what can go wrong, and what the agent should call next. Paid per request with x402; no account setup or API key.

x402 liveUSDC on Base

The agent loop

Discover the active market slice, rank attention, inspect one market, verify settlement risk, then summarize the watchlist. Orrery sells the expensive part: clean, fresh, citeable interpretation over public market data.

Use cases for AI agents

copy into agent plans

Monitor prediction markets

Run the attention queue every few minutes and spend deeper calls only on markets that moved, gained volume, or picked up risk.

/api/x402/v1/decision/attention

Detect resolution risk

Check source ambiguity, UMA state, expiry pressure, and what a human should verify before trusting a probability move.

/api/x402/v1/markets/{id}/resolution-risk

Explain why odds moved

Return a deterministic factor breakdown across price, volume, signals, smart-money flow, and market context.

/api/x402/v1/markets/{id}/why

Summarize a watchlist

Compress a user-defined list of markets, themes, and wallets into one structured digest for an agent or inbox.

/api/x402/v1/watchlist/summary

Rank the attention queue

Ask which markets deserve investigation now, with action verbs like monitor, investigate_now, check_sources, and alert_human.

/api/x402/v1/decision/attention?limit=10

Pricing ladder

Service catalog
start here

Free discovery

$0

Endpoint inventory, health, manifest, OpenAPI, llms.txt, and service catalog. No payment proof required.

/api/x402/v1/health/api/v1/manifest/.well-known/x402-services.json
Open details
flagship

Attention loop

$0.05

The first call an autonomous agent should make: a ranked list of markets worth inspecting now.

/api/x402/v1/decision/attention
Open details
one call

Market deep dive

$0.15

Snapshot, why-it-moved, resolution risk, history, holders, related markets, and suggested next calls in one Decision Card.

/api/x402/v1/decision/market/{id}
Open details
personal loop

Watchlist + risk

$0.05

Summarize watched markets or read multi-wallet portfolio risk without building your own aggregation layer.

/api/x402/v1/watchlist/summary/api/x402/v1/portfolio/risk
Open details

Copy/paste snippets

Python · TypeScript · cURL

cURL

x402
# Free discovery
curl https://orrery.me/api/x402/v1/health

# Paid call: first request returns HTTP 402 if X-PAYMENT is missing.
curl -i 'https://orrery.me/api/x402/v1/decision/attention?limit=5'

# After your x402 payer settles the quoted USDC amount, replay:
curl 'https://orrery.me/api/x402/v1/decision/attention?limit=5' \
  -H 'X-PAYMENT: <x402-payment-proof>'

Python

x402
import httpx

BASE = "https://orrery.me/api/x402/v1"

def paid_get(path: str, payment: str | None = None) -> dict:
    headers = {"X-PAYMENT": payment} if payment else {}
    r = httpx.get(f"{BASE}{path}", headers=headers, timeout=10)
    if r.status_code == 402:
        challenge = r.json()["accepts"][0]
        raise RuntimeError(
            f"Pay {challenge['amount']} atomic USDC on {challenge['network']} "
            "with an x402 payer, then replay with X-PAYMENT."
        )
    r.raise_for_status()
    return r.json()["data"]

queue = paid_get("/decision/attention?limit=5", payment="<proof>")
top = queue["items"][0]
risk = paid_get(f"/markets/{top['slug']}/resolution-risk", payment="<proof>")

TypeScript

x402
const BASE = "https://orrery.me/api/x402/v1";

async function paidGet(path: string, payment?: string) {
  const r = await fetch(`${BASE}${path}`, {
    headers: payment ? { "X-PAYMENT": payment } : {},
  });
  if (r.status === 402) {
    const challenge = (await r.json()).accepts[0];
    throw new Error(
      `x402 payment required: ${challenge.amount} atomic USDC on ${challenge.network}`,
    );
  }
  if (!r.ok) throw new Error(`${r.status} ${path}`);
  return (await r.json()).data;
}

const queue = await paidGet("/decision/attention?limit=5", "<proof>");
const top = queue.items[0];
const why = await paidGet(`/markets/${top.slug}/why`, "<proof>");

Decision support, not trade advice

Orrery returns public-data interpretation, evidence, timestamps, sources, and routing actions. It does not execute trades, predict outcomes, recommend positions, or label wallets as copy targets.

Orrery API pricing - x402 prediction market intelligence for agents | Orrery