Positions

client.wallets.positions(wallet) — open holdings per (market, outcome), fully marked to market: live odds for open markets, the CTF payout for resolved-but-unredeemed. Label-joined, so no per-row lookups.

no open positions
const { positions } = await client.wallets.positions(wallet)
// per row: marketName / marketTitle, outcomeLabel, shares, costBasis, sellRevenue,
//   price (0..1)   → live odds (open) | payout (resolved)
//   value          → shares × price
//   unrealizedPl   → value + sellRevenue − costBasis
//   maxPayout      → shares (each winning share redeems 1 PST)
//   lastTradeAt