Skip to main content
Four paid x402 endpoints that turn raw Polymarket trade history into agent-ready intelligence. Every score is derived — your agent gets a decision, not a pile of fills to parse.

What you get

Per-call payment in USDC on Base via x402. No subscription, no API key, no rate limit beyond the facilitator.

Why derived over raw

Raw Polymarket data is now commoditised — Pinax’s Token API, Polymarket’s own CLI, and Polymarket’s REST all hand you markets, prices, and positions for free. What none of them give you is a judgement: is this wallet sharp, and is it safe to fill against? Graph Advocate does that synthesis once. pnl-quick and pnl reconstruct realized/unrealized PnL, win rate, and a sample-size-weighted skill_score from the wallet’s full trade history (see polymarket_intel.py for the formula). A small sample is shrunk toward neutral so a 3-trade wallet can’t fake a 100.

Ghost-fill risk — the distinctive one

Polymarket’s newer API-user accounts are smart-contract wallets (ERC-1967 proxies that sign with POLY_1271, deployed by a known factory on Polygon), not plain EOAs. An order resting against one of those carries different settlement behaviour than one against an EOA — the source of “ghost fills.” POST /polymarket/risk detects the wallet type and returns it directly:
wallet_type is one of eoa, new_api_user_smart_account, or other. For an agent about to take the other side of an order, that one field is the highest-signal input it can get.

Sample: quick skill read

Returns skill_score (0–100), classification, realized PnL in USDC, and win rate — for a tenth of a cent. Use it as a cheap pre-filter before paying for the full pnl dossier.

Sample: size the room

Returns the market’s top holders, each carrying a skill_score and a ghost_fill_risk flag. Before you enter a market, this tells you whether the existing position is held by sharps or by retail — and which holders are risky to trade against.

Identifiers

  • Wallet — a standard 0x… address. For pnl-quick, pnl, and risk.
  • Market — a Polymarket market_slug or a condition_id. For screen.

Free tier

There is no free tier for these endpoints — each fans out multiple upstream calls and synthesises the result. To inspect the routing for free, send a plain-English question to POST / (A2A JSON-RPC) and Graph Advocate will name the right polymarket/* endpoint and hand back the exact paid curl — without charging.