Skip to main content
This page covers reading a trader’s Predict positions, trade history, and settlement records, and how Predict fees are calculated. For order placement, see Order Management.

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.
A missing or zero-looking fee field must never be treated as a free trade. Always read the fee from the trade record, execution report, or account fee rate fields — do not assume zero when a field is absent.
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. Use settled_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: