Polymarket Endpoints
Polymarket Positions API
Positions returns open holdings for a Polymarket wallet with current value and unrealized PnL, proxied from data-api.polymarket.com.
Get Polymarket positions
Open positions for a Polymarket wallet with size and current value, proxied from data-api.polymarket.com.
Live GET Request
Try it
Live Response
Click Try It to run this GET request against the API.Request
curl 'https://api.thepredictionmarkets.com/api/v2/polymarket/positions/wallet/0x1234567890abcdef1234567890abcdef12345678' \
-H 'X-API-Key: YOUR_TPM_API_KEY'Response
{
"positions": [
{
"market": "0x123...",
"outcome": "Oklahoma City Thunder",
"size": 250,
"avg_price": 0.47,
"current_price": 0.495,
"value": 123.75,
"realized_pnl": 0,
"unrealized_pnl": 6.25
}
],
"count": 1,
"wallet_address": "0x1234567890abcdef1234567890abcdef12345678"
}Query Parameters
| Name | Type | Required | Default | Example | Description |
|---|---|---|---|---|---|
| wallet_address | string | Yes | - | 0x1234567890abcdef1234567890abcdef12345678 | Polymarket proxy wallet address in the URL path. |
| size_threshold | number | No | 0.01 | 0.01 | Minimum normalized position size to include. |
Response Fields
| Field | Type | Example | Description |
|---|---|---|---|
| positions | object[] | - | Open position records for the wallet. |
| positions.market | string | - | Condition ID of the market. |
| positions.outcome | string | - | Outcome label for this position. |
| positions.size | number | - | Number of shares held. |
| positions.avg_price | number | - | Average entry price. |
| positions.unrealized_pnl | number | - | Mark-to-market unrealized PnL. |
Build with TPM
Get your API key
Start with Kalshi and Polymarket market data, then add unified spreads, signals, alerts, and watchlists as your workflow grows.