---
title: "Get All Positions"
method: GET
path: "/v2/polymarket/positions"
tags: ["polymarket"]
---

# Get All Positions

`GET /v2/polymarket/positions`

Fetch all user positions with filtering and pagination.

Designed for analytics and streaming use cases where clients need to:
- Backfill historical position data
- Stream new position updates as they come in

Use `min_block` to start from a specific block (for backfill).
Use `order=asc` to get oldest first (for streaming/backfill).
Use `order=desc` to get latest first (for recent data).

The pagination cursor encodes the last position's block/timestamp and IDs,
allowing efficient continuation from any point.

## Query parameters

- `order_by` 'block' | 'timestamp' — Order by options for all-user positions streaming endpoint.
- `order` 'asc' | 'desc' — Sort order direction enum.
- `min_block` integer, nullable — Minimum block number (inclusive)
- `max_block` integer, nullable — Maximum block number (inclusive)
- `min_timestamp` integer, nullable — Minimum timestamp in Unix seconds (inclusive)
- `max_timestamp` integer, nullable — Maximum timestamp in Unix seconds (inclusive)
- `wallet` string, nullable — Filter by wallet address
- `token_id` string, nullable — Filter by token ID
- `condition_id` string, nullable — Filter by market condition ID
- `limit` integer — Maximum positions per page (1-500)
- `pagination_key` string, nullable — Cursor for pagination

## Response `200`

Successful Response

- AllPositionsResponse — Response for all-user positions endpoint.
  - `positions` AllUsersPosition[], required — Position records
    - `user` string, required — Wallet address
    - `market` PositionMarketInfo, required — Market info for a position.
      - `condition_id` string, required
      - `market_slug` string, required
      - `title` string, required
      - `side` 'YES' | 'NO', required — Position side (YES/NO).
      - `side_label` string, required — Human-readable outcome label (e.g., 'Trump wins' instead of 'Yes')
      - `token_id` string, required
      - `status` 'open' | 'resolved_win' | 'resolved_loss', required — Market status for a position.
    - `position` PositionDetails, required — Position size and cost basis.
      - `shares` number, required — Number of shares currently held (0 for closed positions)
      - `total_shares_bought` number, required — DEPRECATED — approximate for positions fully closed and reopened at a different price. Use total_bought_usd for the exact lifetime buy total
      - `total_bought_usd` number — Total USD ever spent buying this position, lifetime cumulative (preserved even after redemption)
      - `avg_entry_price` number, required — Average entry price (0-1)
      - `total_cost_usd` number, required — Total cost basis in USD
      - `net_fees_usd` number — Net taker fees for this position (charged minus refunded, USD)
    - `current` PositionCurrentState, required — Current market state for a position.
      - `price` number, required — Current market price (0-1)
      - `value_usd` number, required — Current position value in USD
    - `pnl` PositionPnL, required — Profit and loss for a position.
      - `unrealized_usd` number, required — Unrealized P&L in USD
      - `unrealized_pct` number, required — Unrealized P&L as percentage
      - `realized_usd` number, required — Realized P&L in USD
    - `last_updated_at` integer, nullable — Unix timestamp of last position update
    - `last_updated_block` integer, nullable — Block number of last position update
  - `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
- `422` — Validation Error

---

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