Positions
API: GET/v1/positions, GET /v1/position/{symbol}
Predict positions use the same position_qty sign convention as the order book: a positive position_qty is an UP position, a negative one is DOWN. margin_mode is always ISOLATED, and the existing isolated-margin fields (margin, mark_price, unsettled_pnl, and so on) are populated the same way as for perpetual futures.
GET /v1/positions and GET /v1/trades accept the same optional product_type filter (PERP or BINARY, uppercase only) described in Order Management. Account-level aggregates such as total account value are not affected by this filter — it only filters the rows returned.
Trade history
API: GET/v1/trades
Each trade row’s fee is the actual fee charged for that one fill, in USDC, rounded up per fill rather than averaged across the order — see Orderly Predict fees for the formula and how it’s split between Orderly and your Builder fee. The total fee for an order is the sum of its individual fills’ fee values, not a recomputation from an average price.
Expiry settlement produces fills at price 0, 0.5, or 1 per share. Treat these as real fills: a fill amount of zero is a legitimate value when the UP-book execution price is 0, not a sign of missing or malformed data.
Position history
API: GET/v1/position_history
For a Predict position’s closed segment, the response adds three fields on top of the existing ones:
This endpoint also accepts the same
product_type filter described in Order Management.
Personal settlement completion
A round’s result being published (see Market Data) and a trader’s position actually being settled are two different moments. Usesettled_at on the matching position history row — not the round’s result_committed_at, and not the round reaching DELISTED — to decide whether to show a trader their final profit or loss for that round.
Fees
Every Predict fill is charged a fee based on its UP-book execution price, whether the trade was an UP or DOWN fill. The formula, the Predict base rate determined by the Builder’s tier, and how the fee splits between Orderly and your Builder fee are documented in Orderly Predict fees. Your account’s current Predict maker and taker rates are available from GET/v1/client/info (binary_maker_fee_rate, binary_taker_fee_rate), the same fields used for the fee calculation.
The funds locked when an order is placed, including the fee buffer, are covered in Order Management: Order freeze and MAX amount.
Real-time updates
For Predict-specific fields on the private WebSocket topics, see:- WebSocket API: Position Push — the
positionQtysign convention for UP and DOWN. - WebSocket API: Execution Report — expiry settlement fills at
0,0.5, or1. - WebSocket API: Account — Predict fee rate fields; GET
/v1/client/infoalways returns them, but the WebSocket push may omit them for a given message if the account’s rates can’t be resolved for that push.
Related pages
- GET /v1/positions and GET /v1/position_history — the REST reference for the fields on this page.
- WebSocket API Introduction — how to connect and authenticate before subscribing to the topics above.
- Orderly Predict fees — the fee formula and Builder/Orderly split.