Skip to main content

Last updated: August 2026

Polymarket CLOB API vs Gamma API

The Gamma API is for discovery — finding which markets and events exist, their metadata, and how they are grouped. The CLOB API is for trading — reading the order book and placing, cancelling, and tracking orders. They are not alternatives: a typical bot calls Gamma to decide what to trade and CLOB to trade it.

01.What each one is for

Gamma answers "what can I trade and what is it about" — market and event metadata, titles, categories, resolution criteria, end dates, and the identifiers everything else keys on. CLOB answers "what is the price and can I fill here" — order books, quotes, order placement and cancellation, and your fills. Reach for Gamma when you are searching or displaying; reach for CLOB when money moves.

  • Gamma: market and event discovery, metadata, grouping, identifiers.
  • CLOB: order book state, order placement, cancellation, fill tracking.
  • Almost every non-trivial integration uses both.

02.Authentication differs, and that is the practical split

Discovery is public: reading market metadata needs no credentials, which is why a directory or dashboard can be built entirely on Gamma. Trading is not: placing orders requires signing with the wallet that holds the position, so anything touching CLOB order placement carries key-management responsibility. If your project only reads, you can avoid that entirely.

  • Read-only market data: no credentials, no key handling, no custody risk.
  • Order placement: request signing tied to the trading wallet.
  • Decide early which side you are on — it determines your whole security model.

03.Which to use for common jobs

Most confusion here comes from trying to force one API to do the other's job. The mapping is fairly clean once you see it.

  • Listing or searching markets in a UI: Gamma.
  • Showing a live price or depth chart: CLOB, plus a websocket for updates.
  • Placing or cancelling an order: CLOB.
  • Showing a wallet's positions and history: the data API, not either of these.
  • Backfilling historical prices: onchain data or an indexer, since order books are not archived for you.

04.Where the data API fits

A third endpoint is easy to overlook. The data API covers positions, holdings and trade history for a wallet — the things a portfolio tracker needs and neither Gamma nor CLOB provides. If you are building anything that answers "what does this address own and how did it do", that is the one you want.

  • Data API: positions, holdings, PnL inputs, trade history by address.
  • This is what portfolio trackers and wallet analytics are built on.
  • Combined with public onchain state, it is why whale tracking is possible at all.

Related Pages

Frequently Asked Questions

What is the difference between the Polymarket CLOB API and Gamma API?
Gamma is for discovery — which markets exist, their metadata and grouping. CLOB is for trading — order book state and placing, cancelling and tracking orders. They serve different jobs and most integrations use both.
Do I need an API key for Polymarket?
Reading public market data needs no credentials. Placing orders does: requests are signed with the wallet holding the position, so anything that trades carries key-management responsibility that a read-only integration avoids entirely.
Which API gives me historical prices?
Neither directly. Order book state is not archived for you. Historical price series generally come from onchain data, a subgraph or indexer, or a third-party data provider — several are listed in the Polymarket data category.
How do I get a wallet's positions?
The data API, not CLOB or Gamma. It exposes positions, holdings and trade history by address, which is what portfolio trackers and wallet analytics are built on.
Can I stream live prices?
Yes — use the websocket rather than polling the REST endpoints. Polling an order book at any useful frequency will hit rate limits and still lag the market.