> **For coding agents and LLMs:** This is one Social Fetch marketing page (markdown export). For API orientation start with [`/llms.txt`](https://www.socialfetch.dev/llms.txt); for auth and crawl rules use [`/agents.txt`](https://www.socialfetch.dev/agents.txt); for every operation use [`/llms-endpoints.txt`](https://www.socialfetch.dev/llms-endpoints.txt).

## This page

- **On-site (HTML):** <https://www.socialfetch.dev/platforms/polymarket/perps-instruments>
- **Markdown (.mdx) URL:** <https://www.socialfetch.dev/platforms/polymarket/perps-instruments.mdx>

---

# Polymarket Perps Instruments API

The perpetual futures contracts available, with position limits and risk tiers.

`GET /v1/polymarket/perps/instruments` returns `data.instruments`. Each instrument has `id`, `symbol`, `displaySymbol`, `category` (`index`, `commodity`, `crypto`, `equity` or `pre_ipo`), `baseAsset`, `quoteAsset`, `fundingInterval`, `maxLeverage`, `minNotional`, `closeOnly`, `isolatedOnly`, `priceDecimals`, `quantityDecimals`, `riskTiers` and logo URLs.

Pass `category` to list one kind. Use the numeric `id` on the tickers, klines, book and trades routes. Perps are a separate product from the event markets under `/v1/polymarket/events`.

## Request

- **Endpoint:** `GET /v1/polymarket/perps/instruments`
- **Credits:** 1 credit
Failed requests are free
- **Input:** by category
- **Full reference:** [docs](https://www.socialfetch.dev/docs/api/v1/polymarket/perps/instruments/get)
- **Platform page:** [/platforms/polymarket](https://www.socialfetch.dev/platforms/polymarket)

## FAQ

### What is a risk tier?

A position limit by size. Each tier has a fromNotional value and a maxLeverage. Larger positions fall into later tiers with a lower maximum.

### How do I get prices for an instrument?

Call GET /v1/polymarket/perps/tickers, optionally with instrumentId. For candles use the klines route, and for resting depth use the book route. All of them take the numeric instrument id from this list.

### What does closeOnly mean?

The instrument accepts only orders that reduce an existing position. It does not mean the instrument is closed. Check the ticker if you need current trading state.

### What does lookupStatus mean on this route?

found means the object or list was returned. not_found means no matching object exists. HTTP 200 only means the request finished, so branch on data.lookupStatus before storing a row.

### How much does this route cost?

Pricing is documented on the operation in the API registry (shown on this page). Confirm on every response with meta.creditsCharged: that field is the billing source of truth.
