client.data.core.getPositions surfaces the holdings for a single wallet. Results include token
sizes, average price, cash/percent PnL, redeem/merge flags, and market metadata.
Request
Parameters
| Name | Type | Required | Default | Notes |
|---|---|---|---|---|
user | string (0x + 40 hex) | ✅ | – | Wallet or proxy address. |
market | string[] | – | Condition IDs (0x + 64 hex). Mutually exclusive with eventId. | |
eventId | number[] | – | Event IDs. Mutually exclusive with market. | |
sizeThreshold | number | 1 | Minimum token size to display. | |
redeemable | boolean | false | Restrict results to redeemable positions. | |
mergeable | boolean | false | Restrict results to mergeable positions. | |
limit | number (0–500) | 100 | Page size. | |
offset | number (0–10000) | 0 | Page offset. | |
sortBy | enum | "TOKENS" | CURRENT, INITIAL, TOKENS, CASHPNL, PERCENTPNL, TITLE, RESOLVING, PRICE, AVGPRICE. | |
sortDirection | enum | "DESC" | ASC or DESC. | |
title | string (≤ 100 chars) | – | Case-insensitive title filter. |
⚠️ Mutually exclusive filters — Provide eithermarketoreventId, not both. The SDK throws a validation error highlighting both fields if used together.
Response
passthrough() so you can adopt new attributes without waiting
for a release.
Usage example
Failure modes
- Missing
user→ validation error. - Conflicting filters → validation error naming both
marketandeventId. - HTTP failure →
HttpErrorwithstatus,statusText, andbody. - Network failure →
Error("Network error: …")with the originalcause.