Official venue APIsAPIfree
Polymarket CLOB + Gamma: what it exposes, how it authenticates, where it stops
Last checked 2026-09-08
Polymarket's developer surface is four REST services and four WebSocket feeds, wrapped by an official TypeScript SDK (@polymarket/client) and a Python SDK (polymarket-client). Trading goes through the CLOB; metadata comes from Gamma; positions and activity come from the Data API.
It is for anyone who wants to read or trade the largest global prediction market programmatically. Public data is open; order placement needs a wallet signature plus derived API credentials.
What the API exposes
Gamma at https://gamma-api.polymarket.com lists events and markets with the metadata you need to trade them. The CLOB at https://clob.polymarket.com serves prices and order books and takes orders. The Data API at https://data-api.polymarket.com covers positions, activity and participation. The Relayer at https://relayer-v2.polymarket.com submits wallet transactions without the account holding POL for gas.
Real-time data runs over four sockets: the CLOB market channel (book, price_change, last_trade_price, tick_size_change), the CLOB user channel for authenticated order and trade updates, RTDS at wss://ws-live-data.polymarket.com for reference prices, comments and trades, and a sports socket for live scores.
A separate Perps documentation set covers perpetual futures with its own rate-limit page and account limit tiers.
Authentication and rate limits
CLOB auth has two layers. L1: the wallet signs an EIP-712 ClobAuth message and posts it to /auth/api-key or /auth/derive-api-key, receiving an apiKey, a secret and a passphrase. L2: each private request is signed with HMAC-SHA256 over timestamp, uppercase method, path and body, sent as POLY_ADDRESS, POLY_SIGNATURE, POLY_TIMESTAMP, POLY_API_KEY and POLY_PASSPHRASE. Orders also carry a wallet signature of their own.
Wallet type matters. Accounts created on or after May 4, 2026 use a Deposit Wallet; older accounts are Proxy (Magic Link or Google) or Safe (external signer). Deposit Wallet owners can issue scoped, time-limited session keys to a separate signer.
Rate limits are tiered through the Builder Program: Unverified and Verified get Standard API limits, Partner gets Highest. Relayer transactions are capped at 100 per day Unverified, 10,000 per day Verified, unlimited for Partner. The tiers page publishes no per-second figures.
Pricing and access
No fee for API access. Polymarket charges a taker fee on certain markets computed as C x feeRate x p x (1 - p). Fee rates by category: crypto 0.07, sports 0.05, finance 0.04, politics 0.04, economics 0.05, geopolitics 0. Makers are never charged, and maker rebates of 15% to 25% recycle fees to liquidity providers.
Install with npm install @polymarket/client@latest or pip install polymarket-client. A migration guide covers moving from the earlier clob-client libraries.
Where it falls short
The docs list production hosts only. No demo or testnet host is documented, so the first test order is a real one.
Per-second rate limits for the CLOB and Gamma are not printed on the tiers page; you learn them from 429 responses or by asking builder@polymarket.com.
Three wallet generations, two auth layers and four REST hosts add integration surface that a single-host venue does not have.
Who should use it
Builders and traders who want depth and volume and can handle wallet signing. The unified SDKs remove most of the signing pain for TypeScript and Python.
Read-only users can skip auth entirely: Gamma and the market WebSocket are public.
Questions about Polymarket CLOB + Gamma
Is the Polymarket API free?
Yes for access and public data. Taker fees apply on some market categories (rates 0.04 to 0.07), makers pay nothing, and geopolitics markets carry no fee.
Does Polymarket have a sandbox?
The developer docs list only production hosts for Gamma, CLOB, Data API and Relayer. No demo environment is documented.
How does Polymarket API authentication work?
An EIP-712 wallet signature creates or derives API credentials (L1); each private request is then HMAC-SHA256 signed with those credentials (L2). Orders also carry a wallet signature.
Which SDK should I use for Polymarket?
The official @polymarket/client (TypeScript) or polymarket-client (Python). Both wrap Gamma, CLOB, Data API and the WebSocket feeds.
Official APIs for building. One book for trading.
Rather trade the spread than build the plumbing? The free Kairos terminal gives you Kalshi, Polymarket and Predict.fun in one order book.