---
title: "Get Position Top Holders"
method: GET
path: "/v2/polymarket/position/{token_id}/top-holders"
tags: ["polymarket", "smart-wallet"]
---

# Get Position Top Holders

`GET /v2/polymarket/position/{token_id}/top-holders`

Get top holders for a specific Polymarket token, ranked by position size.

## Path parameters

- `token_id` string, required — Polymarket CTF token ID

## Query parameters

- `include_count` boolean — Include total holder count
- `limit` integer — Results per page
- `pagination_key` string, nullable — Cursor for pagination

## Response `200`

Successful Response

- TopHoldersResponse — Response for market top holders endpoint.
  - `condition_id` string, required — Market condition ID
  - `title` string, nullable — Market title
  - `market_slug` string, nullable — Market slug
  - `side` string, nullable — Position side filter applied ('yes', 'no', or null for all)
  - `total_count` integer, nullable — Total number of holders matching filters (only if include_count=true)
  - `entries` TopHolderEntry[], required — Top holder entries
    - `rank` integer, required — Position in list (1-indexed)
    - `user` string, required — Wallet address
    - `token_id` string, required — Token ID for this position
    - `position_shares` number, required — Total shares held (normalized)
    - `position_value_usd` number, required — Estimated position value in USD
    - `side` string, required — Position side (Yes/No or custom label)
    - `outcome_index` integer, required — Outcome index: 0 for Yes/first outcome, 1 for No/second outcome
    - `avg_price` number, required — Average entry price (0-1)
    - `realized_pnl` number, required — Realized PnL in USD
    - `unrealized_pnl` number, required — Unrealized PnL in USD
    - `total_pnl` number, required — Total PnL in USD (realized + unrealized)
    - `trade_count` integer, required — Number of trades
    - `first_trade_at` integer, nullable — Unix timestamp of first trade
    - `last_trade_at` integer, nullable — Unix timestamp of last trade
  - `pagination` CursorPagination, required — Cursor-based pagination for endpoints that don't support offset.
    - `limit` integer, required — Requested limit
    - `count` integer, required — Number of items in current response
    - `pagination_key` string, nullable — Base64-encoded cursor for next page
    - `has_more` boolean, required — Whether there are more items available

## Other responses

- `400` — Bad Request
- `404` — Not Found
- `422` — Validation Error
- `503` — Service Unavailable

---

[API](https://skmtc.dev/predexon/apis/predexon-api.md) · [All operations](https://skmtc.dev/predexon/apis/predexon-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/predexon/predexon-api/revisions/80a306fbdb39/schema)
