Skip to main content
GET
/
v1
/
portfolio
/
positions
Get user positions
curl --request GET \
  --url https://api.polymarket.us/v1/portfolio/positions \
  --header 'X-PM-Access-Key: <api-key>' \
  --header 'X-PM-Signature: <api-key>' \
  --header 'X-PM-Timestamp: <api-key>'
{
  "positions": {},
  "nextCursor": "<string>",
  "eof": true,
  "availablePositions": [
    "<string>"
  ]
}

Authorizations

X-PM-Access-Key
string
header
required

Your API key ID (UUID). Generate at polymarket.us/developer.

X-PM-Timestamp
string
header
required

Unix timestamp in milliseconds. Must be within 30 seconds of server time.

X-PM-Signature
string
header
required

Base64-encoded Ed25519 signature of timestamp + method + path. See Authentication for details.

Query Parameters

market
string

Filter positions by a specific market slug. When provided, returns only the position for that market. Example: will-team-a-win

limit
integer<int32>

Maximum number of positions to return per page. Use with cursor for pagination. Default: 100. Example: 50

cursor
string

Pagination cursor from a previous response's nextCursor field. Use to fetch the next page of results. Omit for the first request

Response

List of user positions

positions
object

Map of market slug to position

nextCursor
string

Next cursor for pagination

eof
boolean

True if this is the last page

availablePositions
string<int64>[]

Available position quantities factoring in open orders