Skip to main content

Quick Start

1

Get an API Key

  1. Sign up at polysimulator.com/signin.
  2. Open polysimulator.com/api-keys.
  3. Click Create your first API key, give it a name, and copy the ps_live_… value shown once.
Closed beta (ongoing). API key issuance is cohort-gated, so POST /v1/keys/bootstrap and POST /v1/keys return a 403 for callers who aren’t yet admitted — CLOSED_BETA for free / waitlisted accounts, or API_PRO_COMING_SOON for paying Pro / Pro+ accounts without a cohort grant:
Branch on the X-Polysim-Code response header (the body’s error is the human message). While the beta is closed, every non-admitted caller — including paying Pro / Pro+ — gets CLOSED_BETA; the API_PRO_COMING_SOON variant only appears once self-serve issuance is enabled. Apply via the waitlist at polysimulator.com/api-trading — we’ll email you when a cohort opens.
The full key is shown only once. Save it to your password manager or a secret store immediately — only the SHA-256 hash is retained server-side, so we can’t show it again later.
The dashboard handles the one-time bootstrap with your signed-in Supabase session — you never see or paste a JWT. From here on every API call uses X-API-Key: ps_live_....
If you can’t open a browser (CI runner, containerised dev env) and you have a Supabase access token in hand, the POST /v1/keys/bootstrap endpoint creates your first key directly:
Response (201 Created):
A free-tier key is read-only (["read"]); trading needs a paid tier. See API Keys.Authorization: Bearer is accepted on the dashboard surface (POST /v1/keys/bootstrap, GET/POST/DELETE /v1/keys, /v1/keys/tiers, /v1/keys/ws-token, GET /v1/me, /v1/account/me/entitlements, /v1/me/wallets/*). All trading, market-data, websocket, and account-trading reads (/v1/account/{balance,positions,portfolio,history,equity}) require X-API-Key — Bearer is rejected on the trade surface. See the Authentication page for the full scope table.
2

Set Your Environment

3

Check Connectivity

Expected response:
4

Fetch Hot Markets

This returns actively traded markets with live prices from Polymarket.
5

Place Your First Trade

The fastest path is the Python SDK — it picks a live market and places a trade in a few lines. This snippet is complete and runnable as-is (it resolves a real market for you — no IDs to fill in):
Python SDK
A terminal: pip install polysimulator, then python first_trade.py prints 'filled FILLED @ 0.23 — order 102973'.

Install, run, filled — your first trade in seconds.

Market orders require price as a worst-price limit — Polymarket-faithful slippage protection. A BUY won’t fill above it; a SELL won’t fill below it. "0.99" on a YES means “accept any fill” (great for your first trade); for tighter control use the current best ask × 1.05.
Prefer raw HTTP? Resolve a live market_id from the markets endpoint first, then POST — these are runnable too:
Response:
account_balance is your API wallet balance after the fill, not the dashboard MAIN wallet. API keys start at 10,000(Pro)or10,000 (Pro) or 25,000 (Pro+); Free-tier keys are read-only with no API wallet. Here a 6.50fillplusthe6.50 fill plus the 0.09 taker fee (PM-V2 per-category schedule — see Trading Fees) against the 10,000Prowalletleaves10,000 Pro wallet leaves 9,993.41.
6

Check Your Portfolio

All numeric values are strings ("10", not 10). This prevents floating-point precision loss — critical for financial applications. See String Numerics for details.

What’s Next?