Skip to main content
Five minutes from now you’ll have a working API call against live prediction-market data. Then we’ll send you to the guide for your use case.

Step 1 — Get an API key

1

Sign up at dashboard.predexon.com

No credit card required. The free plan gives you 1,000 requests/month against the entire Data API — enough to evaluate everything.Open dashboard →
2

Copy your keys

The dashboard issues two separate keys — one for market data, one for trading. Both go in the x-api-key header of their respective requests.
KeyUsed againstSurfaces
Data API keyapi.predexon.com, wss.predexon.comData API, WebSocket, MCP server
Trading API keytrade.predexon.comTrading API (accounts, orders, transfers, fees)
export PREDEXON_DATA_API_KEY="pk_data_..."
export PREDEXON_TRADING_API_KEY="pk_trade_..."
A Data API key will be rejected by trade.predexon.com and vice versa. If you see 401 / 403, double-check which key you’re sending.

Step 2 — Make your first call

This call lists the top 5 trending markets on Polymarket. It works on the free plan with no setup.
curl -H "x-api-key: $PREDEXON_DATA_API_KEY" \
  "https://api.predexon.com/v2/polymarket/markets?status=open&sort=volume&limit=5"
import os, requests

r = requests.get(
    "https://api.predexon.com/v2/polymarket/markets",
    headers={"x-api-key": os.environ["PREDEXON_DATA_API_KEY"]},
    params={"status": "open", "sort": "volume", "limit": 5},
)
for m in r.json()["markets"]:
    print(f"${m['total_volume_usd']:>15,.0f}  {m['title']}")
const res = await fetch(
  "https://api.predexon.com/v2/polymarket/markets?status=open&sort=volume&limit=5",
  { headers: { "x-api-key": process.env.PREDEXON_DATA_API_KEY } }
);
const { markets } = await res.json();
markets.forEach(m =>
  console.log(`$${m.total_volume_usd.toLocaleString().padStart(15)}  ${m.question}`)
);
req, _ := http.NewRequest("GET",
  "https://api.predexon.com/v2/polymarket/markets?status=open&sort=volume&limit=5", nil)
req.Header.Set("x-api-key", os.Getenv("PREDEXON_DATA_API_KEY"))
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
You should see five live markets ranked by volume. If you got an error, see Troubleshooting below.

Step 3 — Pick your path

Now go to the guide for what you’re building.

Quant / data trader

Backtest with orderbook history, build smart-money models, stream live signals. Most of what you need is on the free tier.

App builder / platform

Architecture patterns, account models, fee monetization, and the full execution stack across every venue.

Active trader / fund

The combined data + execution loop. Discover, signal, size, execute, monitor.

AI agent developer

Drop the MCP server into Claude, Cursor, or Codex. Five recipes for common agent tasks.
Not sure which? Skim the Cookbook — five concrete end-to-end recipes for common tasks.

What’s on each surface

SurfaceBase URLKeyWhen to reach for it
Data APIapi.predexon.comData API keyMarkets, prices, candles, trades, wallets, smart money. Free on most endpoints.
Trading APItrade.predexon.comTrading API keyPlace orders across venues, manage accounts, fund/withdraw. Free on every endpoint.
WebSocketwss.predexon.comData API keyLive trades, orderbook, pending-trade signals. Dev plan and up.
MCP servernpx predexon-mcpData API keyAI agents — same data through one drop-in package.
The Data API key authenticates the Data API, WebSocket, and MCP server. The Trading API key authenticates only trade.predexon.com. Keys are not interchangeable — using one against the wrong surface returns 401 / 403.

Troubleshooting

  • Verify your key is in the x-api-key header (lowercase, hyphenated).
  • Check you’re sending the right key for the surface: Data API key for api.predexon.com and wss.predexon.com, Trading API key for trade.predexon.com. Mixing them returns 401 / 403.
  • Free plan can’t hit Smart Money, Cross-Venue Matching, Binance, or WebSocket — those need Dev or higher.
  • WebSocket connection rejected? Same gating — see Rate Limits.
You’ve hit your rate limit. Free is 1 req/s, Dev is 20 req/s, Pro is 100 req/s. Implement exponential backoff. See Best Practices for the pattern we recommend.
Most list endpoints accept status, sort, limit parameters — try removing filters one at a time. Markets that were resolved more than a few weeks ago may be archived and need ?archived=true.
Every endpoint is documented under Data & Signals (data) and Unified Execution Infra (trading). Each page has an interactive playground.

Need help?

Discord

The fastest way to get unblocked. Engineering reads every message.

Email

team@predexon.com for anything that doesn’t fit Discord.