Skip to main content
GET
/
v2
/
polymarket
/
positions
Get All Positions
curl --request GET \
  --url https://api.predexon.com/v2/polymarket/positions \
  --header 'x-api-key: <api-key>'
{
  "positions": [
    {
      "user": "<string>",
      "market": {
        "condition_id": "<string>",
        "market_slug": "<string>",
        "title": "<string>",
        "side": "YES",
        "side_label": "<string>",
        "token_id": "<string>",
        "status": "open"
      },
      "position": {
        "shares": 123,
        "total_shares_bought": 123,
        "avg_entry_price": 123,
        "total_cost_usd": 123
      },
      "current": {
        "price": 123,
        "value_usd": 123
      },
      "pnl": {
        "unrealized_usd": 123,
        "unrealized_pct": 123,
        "realized_usd": 123
      },
      "last_updated_at": 123,
      "last_updated_block": 123
    }
  ],
  "pagination": {
    "limit": 123,
    "count": 123,
    "has_more": true,
    "pagination_key": "<string>"
  }
}
Designed for analytics and streaming use cases — backfill historical position data or stream new updates as they come in. Use min_block / max_block or min_timestamp / max_timestamp to scope your query, and pagination_key to page through results.
ConstraintValue
limit1–200 (default 100)

Authorizations

x-api-key
string
header
required

Query Parameters

order_by
enum<string>
default:block

Order by block number or timestamp

Available options:
block,
timestamp
order
enum<string>
default:desc

Sort order (asc for streaming from oldest, desc for latest first)

Available options:
asc,
desc
min_block
integer | null

Minimum block number (inclusive)

Required range: x >= 0
max_block
integer | null

Maximum block number (inclusive)

Required range: x >= 0
min_timestamp
integer | null

Minimum timestamp in Unix seconds (inclusive)

Required range: x >= 0
max_timestamp
integer | null

Maximum timestamp in Unix seconds (inclusive)

Required range: x >= 0
wallet
string | null

Filter by wallet address

token_id
string | null

Filter by token ID

condition_id
string | null

Filter by market condition ID

limit
integer
default:100

Maximum positions per page (1-200)

Required range: 1 <= x <= 200
pagination_key
string | null

Cursor for pagination

Response

Successful Response

Response for all-user positions endpoint.

positions
AllUsersPosition · object[]
required

Position records

pagination
CursorPagination · object
required

Cursor-based pagination for endpoints that don't support offset.