Open Order

Open orders are pending orders that have not yet fully executed.

Access

  • REST: GET /orders/open

  • WebSocket: open-orders channel (requires address)

What Counts as Open

Only orders with status OPEN or PARTIALLY_FILLED and type TRIGGER, TP, or SL are returned. MARKET orders execute immediately and never appear here. TWAP orders have their own monitoring channel (twap-details).

Response Shape

Each open order contains:

  • orderId β€” unique order identifier

  • orderType β€” TRIGGER, TP, or SL

  • status β€” OPEN or PARTIALLY_FILLED

  • positionId β€” linked position (for TP/SL orders)

  • parameters β€” order-type-specific config (leverage, USD value, trigger conditions, etc.)

  • longAssets / shortAssets β€” each with asset, weight, size (planned), and filledSize (executed so far)

  • createdAt / updatedAt

Order Types in Open Orders

Type
When it appears
Triggered by

TRIGGER

User placed a conditional order waiting for price/ratio/BTC dom/prediction market condition

Oracle condition met

TP

Take profit set on an open position

Position ROI or price reaching threshold

SL

Stop loss set on an open position

Position ROI or price reaching threshold

Lifecycle

  • OPEN: order created, waiting for trigger condition

  • PARTIALLY_FILLED: some fills received (e.g., TWAP chunks or partial execution)

  • PROCESSING: trigger condition met, execution in progress

  • EXECUTED: fully filled

  • FAILED: execution error (e.g., insufficient margin, liquidity)

  • CANCELLED: user cancelled or system cancelled

Real-Time Updates

The open-orders channel refreshes automatically after trade execution, position close, or TP/SL changes. No manual polling needed β€” subscribe once and receive updates.

Last updated