Skip to content

Trading

Positions

A position is the net shares you hold on a single outcome. This page covers what a position looks like, how to close one, and how settlement turns shares into USDC.

How positions are tracked

Positions are net โ€” buying 100 and selling 30 on the same outcome leaves a position of 70 shares.

  • One position per outcome per user โ€” no separate long/short accounting.
  • Average buy price tracked using weighted average across fills.
  • P&L is computed client-side from cost_basis and the current mid โ€” the positions endpoint exposes avg_buy_price (cents, 0โ€“100) and cost_basis (USDC dollars), not pre-computed P&L fields.

Position fields

Every position response carries these fields. cost_basis is in USDC dollars at the API boundary. avg_buy_price is in cents on a 0โ€“100 scale (e.g. 50 = $0.50). shares is an integer count.

FieldMeaning
market_id The market this position belongs to.
outcome_id Which outcome of the market you hold shares on.
shares Net share count โ€” buys minus sells.
avg_buy_price Weighted average buy price across all open shares, in cents (0โ€“100; e.g. 50 = $0.50). Server converts micro-dollars โ†’ cents at the API boundary.
cost_basis Total cost basis in USDC dollars. P&L must be computed client-side from cost_basis and the current market mid โ€” no micro-dollar conversion needed at the API boundary.

Closing a position before resolution

You can sell back into the order book any time before the market halts for resolution.

  1. Read the current market price and depth.
  2. Place a sell order at or below the best bid for an immediate fill, or above the bid to rest a limit.
  3. Verify the fill in the next /me/positions response โ€” compute realised P&L from cost_basis and the fill proceeds (the endpoint does not return realised_pnl).

Settlement

When a market resolves, winning shares pay 1 USDC each into your balance; losing shares pay zero. The credit posts in a single atomic transaction once the 2-hour dispute window closes with no upheld disputes. If a dispute is open, settlement is paused for that market until the dispute is decided.

Mind the dispute window

Even after resolution is approved, settlement is paused while disputes are open. Position values may look strange in the 2-hour dispute window; trust the post-window number.