NEW: Live arbitrage across 10+ prediction markets.Arbitrage →
← Index
APISep 26, 2026

Polymarket Leaderboard API (2026): How to Pull Top Traders

Polymarket Leaderboard API (2026): How to Pull Top Traders

The Short Answer

Polymarket publishes its trader leaderboard through the Data API at GET https://data-api.polymarket.com/v2/leaderboard. It ranks wallets by PnL or by volume over a day, week, month or all time, overall or within a market category, returns up to 1,000 rows on the first page, and answers one wallet's standing when you pass ?user=. No API key is needed. The unified SDK wraps it as listTraderLeaderboard(). To rank traders beyond Polymarket, and to add wallet profiles and a scored smart-money feed, Predictefy's Trader Intelligence API covers leaderboards on Polymarket, Hyperliquid, Limitless and Predict.fun plus a cross-venue board, in one schema.

Key Takeaways

  • /v2/leaderboard takes time_period, category, sort_by, limit and cursor, and every parameter has a sensible default.
  • PnL means two different things: for a day, week or month it is the marked change in equity, and for all time it is realized PnL only.
  • Volume is counted in shares on both sides of each trade, never in dollars.
  • Ranks are competition ranks, so ties share a place. Page with the cursor, never by rank.
  • For more than one venue, Predictefy returns every leaderboard, wallet profile and smart-money signal in the same shape.

How do you get the Polymarket leaderboard through the API?

With one public request. This returns this week's top 20 wallets by PnL:

curl -s "https://data-api.polymarket.com/v2/leaderboard?time_period=week&sort_by=PNL&limit=20"

The response is a data array of ranked rows plus a pagination object. Each row carries rank, user_id (the ranked wallet), pnl, volume, user_name, profile_image, x_username and verified. When has_more is true, pass the returned cursor to fetch the next page.

Every parameter is optional:

ParameterValuesDefault
time_periodday, week, month, allday
categoryoverall, a Gamma market category such as sports, or combosoverall
sort_byPNL or VOLUMEPNL
userA wallet address, to read one standing instead of the boardNone
limitFirst-page size, up to 1,000Set by the API
cursorThe opaque cursor from a previous pageNone

A cursor pins the board it came from, so follow-up requests need no other parameters, and restating a different sort or window alongside it is an error rather than a silent switch. The combos category covers combinatorial positions and exists on the PnL board only. The Data API also serves a builders leaderboard at /v2/builders/leaderboard, ranking apps that route orders to Polymarket by volume.

What do PnL and volume actually measure?

Read these two fields carefully before you build anything on them, because the obvious reading is wrong for each.

PnL is in USDC, but its meaning changes with the window. For day, week and month, it is the marked change in the wallet's equity net of deposits and withdrawals, meaning realized gains plus mark-to-market moves on open positions. For all, it is the realized-only lifetime ledger. A wallet sitting on a large unrealized gain can therefore top the weekly board and barely register on the all-time one.

Volume is shares traded on both sides, not dollars. A wallet buying a million shares at 2 cents shows the same volume as one buying a million shares at 98 cents. Use it to measure activity, never size in money.

Ranks tie. Tied wallets share a rank and the next rank skips, so two wallets at 4 are followed by 6. That is also why pagination runs on a cursor rather than on rank.

How do you look up one wallet's rank?

Pass the wallet as user. Instead of a page, the response is a single standing that carries both ranks at once:

curl -s "https://data-api.polymarket.com/v2/leaderboard?time_period=month&user=0xYOUR_WALLET"

The standing includes rank_pnl and rank_volume alongside the wallet's PnL and volume for the window. A null rank means the wallet is unranked on that board rather than missing. Use the account wallet that holds the funds, not the signing key, which is explained in Polymarket wallet types.

How do you pull the leaderboard with Polymarket's SDK?

The unified TypeScript SDK exposes the same board through a paginator, on either the public or the authenticated client:

import { createPublicClient, LeaderboardWindow, TraderLeaderboardSort } from '@polymarket/client';

const client = createPublicClient();

const pages = client.listTraderLeaderboard({
  window: LeaderboardWindow.Week,
  sortBy: TraderLeaderboardSort.Pnl,
  pageSize: 20,
});

const top = await pages.firstPage();
for (const entry of top.items) {
  console.log(entry.rank, entry.wallet, entry.pnl, entry.volume);
}

const standing = await client.fetchTraderLeaderboardStanding({
  user: '0xYOUR_WALLET',
  window: LeaderboardWindow.Week,
});

The SDK renames user_id to wallet and returns PnL and volume as decimal strings, so convert them before doing arithmetic. for await over pages walks every page for you. On an authenticated client, fetchTraderLeaderboardStanding defaults to your own wallet.

How do you rank traders across prediction markets?

Polymarket's board answers for Polymarket. Wallet-level data exists on several other venues too, each with its own endpoints and field names, and none of their leaderboards can be joined by default. Predictefy's Trader Intelligence API normalizes them:

What you needPredictefy routeCoverage
A venue's leaderboard, by profit, volume or scoreGET /v1/traders/{venue}/leaderboardPolymarket, Hyperliquid, Limitless, Predict.fun
One board across venues, by scoreGET /v1/traders/leaderboardEvery venue with scored trades
A wallet's profile and historyWallet profile and wallet tradesPolymarket, Hyperliquid, Limitless, Predict.fun, Myriad, Opinion
Scored trades as they happenGET /v1/traders/smart-moneyNine venues, Polymarket included
import { Predictefy } from '@predictefy/sdk';

const client = new Predictefy({ apiKey: process.env.PREDICTEFY_API_KEY });

const polymarketBoard = await client.polymarket.fetchLeaderboard({ by: 'profit', window: 'week', limit: 20 });
const hyperliquidBoard = await client.hyperliquid.fetchLeaderboard({ by: 'profit', window: 'week', limit: 20 });
const acrossVenues = await client.fetchTopTraders({ by: 'score', window: 'all', limit: 20 });

const profile = await client.polymarket.fetchWalletProfile(wallet);
const signals = await client.fetchSmartMoney({ venue: 'polymarket', minScore: 70, window: 'week' });

Each board comes back in the same row shape whichever venue it came from. The cross-venue board tags every row with its venue, because a wallet is an address on one venue rather than a person. The smart-money feed turns a leaderboard from a list you check into a stream of scored trades you can filter, at 10 credits per request, and scores are informational signals rather than recommendations.

How do you turn a leaderboard into something useful?

A leaderboard is a starting list, not a strategy. The workflows that get value from it tend to look like this:

  • Build a watchlist. Pull the weekly and monthly boards, keep wallets that appear on both, and check each one's profile before trusting a single good week.
  • Alert on movement. Poll the smart-money feed for your watchlist and push anything above your score threshold to a chat app, as in prediction market alerts.
  • Size to your own bankroll. Mirroring a large wallet trade for trade rarely fits a smaller account, which is the core lesson of prediction market copy trading.

For the rest of Polymarket's wallet data, trades, positions and activity, see the Polymarket Data API. For how browser-based wallet trackers compare, see Predictefy vs Predicts.guru.

Frequently Asked Questions

Does Polymarket have a leaderboard API?

Yes. The Data API serves it at GET https://data-api.polymarket.com/v2/leaderboard, with no API key required. It ranks wallets by PnL or by volume over a day, week, month or all time, overall or within a market category, and pages with a cursor. The unified SDK wraps it as listTraderLeaderboard.

How do you get this week's top Polymarket traders?

Request /v2/leaderboard with time_period=week and sort_by=PNL, adding limit for the number of rows you want, up to 1,000 on the first page. Rows arrive ranked, each with the wallet, PnL in USDC, volume in shares, display name and verification flag. Follow the cursor for deeper pages.

Can you check one wallet's Polymarket rank?

Yes. Add user= with the wallet address to /v2/leaderboard and the response becomes a single standing instead of a page. It carries both rank_pnl and rank_volume for the window, plus the wallet's PnL and volume. A null rank means the wallet is currently unranked on that board.

Is Polymarket leaderboard volume in dollars?

No. Volume counts shares traded on both sides of each trade and is never expressed in dollars, so a wallet trading cheap contracts can post huge volume with little money. PnL is in USDC, and for day, week and month windows it includes unrealized gains on open positions.

Is there a leaderboard across prediction markets?

Predictefy's Trader Intelligence API serves venue leaderboards for Polymarket, Hyperliquid, Limitless and Predict.fun, a cross-venue board ranked by score, wallet profiles on six venues and a scored smart-money feed across nine. Every row arrives in one shape, tagged with its venue, through one API key.