List Polymarket user positions
List a wallet's open, closed and redeemable Polymarket positions with profit.
Headers
Get your API keyAPI key (`sfk_...`)
Wallet address: 0x followed by 40 hex digits.
pattern: ^0x[0-9a-fA-F]{40}$
Which positions to list. Default: `open`.
one of: open, closed, redeemable, mergeable
Sort field, largest first. Default: `currentValue`.
one of: currentValue, totalPnl, realizedPnl, unrealizedPnl, tokens, price
Only positions in this event.
pattern: ^\d{1,10}$
Items per page, 1–1000. Default: 50.
≥ 1 · ≤ 1000
Pass `page.nextCursor` from the previous response to get the next page. Keep the other filters the same.
min 1 chars · max 6000 chars
Endpoint-specific response payload.
`found` on success. A wallet with no positions, or one that does not exist, returns an empty list.
one of: found, not_found
The wallet asked for.
Positions.
Outcome token id.
Condition id of the market.
The market the position is in.
Market question.
Market slug.
Event slug.
Icon URL.
Event id.
Scheduled end date (YYYY-MM-DD).
Outcome held.
Position of the outcome in the market.
The other outcome.
Token id of the other outcome.
`OPEN`, `CLOSED`, `REDEEMABLE` or `MERGEABLE`.
Shares held now. A number, or an exact decimal string when the value has more digits than a number can hold.
Shares ever bought. A number, or an exact decimal string when the value has more digits than a number can hold.
Average entry price.
Dollars paid for the shares held. A number, or an exact decimal string when the value has more digits than a number can hold.
Fees paid when the shares were bought, in dollars. A number, or an exact decimal string when the value has more digits than a number can hold.
Entry cost plus entry fees, in dollars. A number, or an exact decimal string when the value has more digits than a number can hold.
Current price of the outcome.
Current value in dollars. A number, or an exact decimal string when the value has more digits than a number can hold.
Profit already taken. A number, or an exact decimal string when the value has more digits than a number can hold.
Profit on paper. A number, or an exact decimal string when the value has more digits than a number can hold.
Realized plus unrealized profit. A number, or an exact decimal string when the value has more digits than a number can hold.
Total profit as a percent of cost.
Realized profit as a percent of cost.
Whether Polymarket archived the market.
Whether the position can be redeemed.
Whether the position can be merged.
Whether the market is a winner-takes-all group.
When the position was opened (ISO-8601, UTC).
When the position last changed (ISO-8601, UTC).
Pagination state for the current page.
Whether another page is available.
Cursor to pass in the next request when more pages exist; null on the last page.
Metadata describing the request and billing outcome.
Unique request identifier for tracing this API call.
min 1 chars
Credits charged for this request.
≥ 0
Public API version that served the response.
one of: v1
Code example
curl "https://api.socialfetch.dev/v1/polymarket/users/0x93abbc022ce98d6f45d4444b594791cc4b7a9723/positions?status=open&limit=10" \
-H "x-api-key: YOUR_API_KEY"Responses
Polymarket user positions.