> **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-leaderboard>
- **Markdown (.mdx) URL:** <https://www.socialfetch.dev/platforms/polymarket/perps-leaderboard.mdx>

---

# Polymarket Perps Leaderboard API

Top Perps accounts by profit, with ROI and trading activity.

`GET /v1/polymarket/perps/leaderboard` returns `data.entries`, rows from rank 1 down. Each row has `rank`, `account`, `pnl`, `notional`, `accountValue`, `roi` (a fraction), `instrumentsTraded` and `topInstrumentIds`. `data.window` and `data.totalAccounts` describe the board, and `data.page` continues it.

`window` is `day`, `week`, `month` or `all` and defaults to `all`. `limit` is 1 to 100 and defaults to 100. The board stops at rank 1000 whatever the window. This is a separate board from the event market leaderboard.

## Request

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

## FAQ

### How is roi expressed?

As a fraction, not a percent. A roi of 0.25 is 25 percent. pnl is in US dollars and notional is the dollars traded over the window.

### Why is the board capped at 100?

The page size caps at 100. The board itself stops at rank 1000, so paging cannot go beyond that depth. Use the window to see a different slice.

### What are topInstrumentIds?

The numeric ids of the instruments the account traded most in the window. Use them with the Perps instruments, tickers or klines routes.

### 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.
