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 }
}
}
Get a wallet’s token balances and position details for a specific market.
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 }
}
}
Show Position object
active, resolved, or cancelledpool or ammYES or NO). Null if unresolved.true if the market’s mints were never initializedtrue if the wallet holds tokens on the winning side of a resolved markethasWinningTokens is true.true if there are winning tokens that haven’t been redeemed yet{ market, yes, no } if set via metadatacurl "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 }
}
}
hasWinningTokens and needsRedemption to drive redemption UX — if needsRedemption is true, prompt the user to call /redeem.