Polymarket Positions

GET/gateway/v1/prediction-market/polymarket/positions

Given a specific wallet address, returns that wallet's open positions on Polymarket markets.

This is a single-wallet lookup — you must provide the wallet `address`.

Not what you need? - To discover top/smart wallets across all of Polymarket, use `polymarket-smart-money` (view=positioning for aggregate signals, view=trades for individual whale trades). - To find top traders by PnL or volume, use `polymarket-leaderboard`.

Data refresh: ~30 minutes

Query Parameters

addressstringrequired

Polymarket proxy wallet address

Example: 0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045
limitinteger

Results per page

Example: 50
offsetinteger

Pagination offset

Example: 0
Polymarket Positions
const options = {method: 'GET'};

fetch('https://api.asksurf.ai/gateway/v1/prediction-market/polymarket/positions?address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045&limit=50&offset=0', options)
  .then(res => res.json())
  .then(res => console.log(res))
  .catch(err => console.error(err));
OK
{
  "$schema": "https://example.com/schemas/DataResponsePolymarketPosition.json",
  "data": [
    {
      "avg_price": 123,
      "cash_pnl": 123,
      "condition_id": "<string>",
      "cur_price": 123,
      "current_value": 123,
      "outcome_label": "<string>",
      "question": "<string>",
      "realized_pnl": 123,
      "redeemable": true,
      "size": 123
    }
  ],
  "meta": {
    "cached": true,
    "credits_used": 123,
    "empty_reason": "<string>",
    "has_more": true,
    "limit": 123,
    "offset": 123,
    "total": 123,
    "watermark": 123
  }
}