Skip to main content
GET
/
v2
/
positions
/
{wallet}
/
{marketId}
curl "https://api.pmx.trade/v2/positions/7xKXabc123.../1"
{
  "success": true,
  "data": {
    "marketId": 1,
    "marketTitle": "BTC above $95k by Mar 1",
    "marketDescription": "Will BTC close above $95,000?",
    "marketStatus": "active",
    "marketType": "amm",
    "yesTicker": "YES",
    "noTicker": "NO",
    "resolutionTime": 1735689600,
    "creator": "7xKX...abc",
    "winningSide": null,
    "isResolved": false,
    "isBroken": false,
    "yesBalance": 146500000,
    "noBalance": 0,
    "yesBalanceHuman": 146.5,
    "noBalanceHuman": 0,
    "hasWinningTokens": false,
    "redeemableValueUsdc": 0,
    "needsRedemption": false,
    "creatorFeesAccrued": 0,
    "creatorFeesAccruedHuman": 0,
    "imageUrls": { "market": null, "yes": null, "no": null }
  }
}
Returns the wallet’s YES/NO token balances and position metadata for one market.

Path parameters

wallet
string
required
Solana wallet address.
marketId
integer
required
The market ID.

Response

success
boolean
data
object
curl "https://api.pmx.trade/v2/positions/7xKXabc123.../1"
{
  "success": true,
  "data": {
    "marketId": 1,
    "marketTitle": "BTC above $95k by Mar 1",
    "marketDescription": "Will BTC close above $95,000?",
    "marketStatus": "active",
    "marketType": "amm",
    "yesTicker": "YES",
    "noTicker": "NO",
    "resolutionTime": 1735689600,
    "creator": "7xKX...abc",
    "winningSide": null,
    "isResolved": false,
    "isBroken": false,
    "yesBalance": 146500000,
    "noBalance": 0,
    "yesBalanceHuman": 146.5,
    "noBalanceHuman": 0,
    "hasWinningTokens": false,
    "redeemableValueUsdc": 0,
    "needsRedemption": false,
    "creatorFeesAccrued": 0,
    "creatorFeesAccruedHuman": 0,
    "imageUrls": { "market": null, "yes": null, "no": null }
  }
}
Use hasWinningTokens and needsRedemption to drive redemption UX — if needsRedemption is true, prompt the user to call /redeem.