Skip to main content

REST Endpoints

  • Get Order History: GET /api/v1/order/history
  • Get Open Orders: GET /api/v1/order/realtime
  • Place Order: POST /api/v1/order/place
  • Place Batch Orders: POST /api/v1/order/place-batch
  • Amend Order: POST /api/v1/order/amend
  • Amend Batch Orders: POST /api/v1/order/amend-batch
  • Cancel Order: POST /api/v1/order/cancel
  • Cancel Batch Orders: POST /api/v1/order/cancel-batch
  • Cancel All Orders: POST /api/v1/order/cancel-all

Order types and Time-in-Force

This section describes all supported order types for entries and how Time-in-Force (TIF) affects execution. Entry orders support two base types; conditional entries and bracket exits extend these with triggers.

Entry orders

  • Market
    • order_type: "Market"
    • Executes immediately against the order book at the best available prices.
    • Any unfilled remainder does not rest on the book; pair with time_in_force: "IOC" or "FOK" to enforce stricter behavior explicitly.
  • Limit
    • order_type: "Limit"
    • Executes up to the specified price; any unfilled remainder can rest on the book depending on TIF.
    • Common pairings: time_in_force: "GTC" to rest, "IOC" to cancel any remainder, or "FOK" to require full fill.
    • If the order should only add liquidity, set post_only: true; the order is rejected if it would execute immediately. Set post_only: false if post-only behavior is not required.
Recommended: set time_in_force explicitly for clarity rather than relying on implicit defaults.

Time-in-Force

  • GTC — Good-Till-Cancelled. Rests until filled or cancelled.
  • IOC — Immediate-Or-Cancel. Fills as much as possible immediately and cancels any unfilled remainder.
  • FOK — Fill-Or-Kill. Either fills completely immediately or is cancelled.
  • GTD — Good-Till-Date. Remains active until the specified expiration time, unless filled or cancelled earlier.
Provide time_in_force using one of the supported values:
  • "GTC"
  • "IOC"
  • "FOK"
  • { "GTD": <timestamp> }
Post-only behavior is controlled separately using the post_only boolean field:
  • post_only: true — the order only adds liquidity and is rejected if it would execute immediately.
  • post_only: false — post-only behavior is not required.

Conditional entries (stop orders)

You can create a stop-style entry by supplying a trigger object. The trigger object includes:
  • trigger_by: Price source used to activate the order. Supported values: "LastPrice", "IndexPrice", or "MarkPrice".
  • trigger_direction: Direction in which the trigger condition is evaluated. Supported values: "Up" or "Down".
  • trigger_price: Price level that activates the order.
  • Stop-Market
    • order_type: "Market" +trigger
    • Activates when the selected price source reaches the specified trigger_price in the specified trigger_direction.
  • Stop-Limit
    • order_type: "Limit" + trigger + price
    • Activates when the selected price source reaches the specified trigger_price in the specified trigger_direction; places a limit order at price on activation.

Order placement results and status updates

A successful REST response indicates that the request was accepted, not that the order has been executed. Track subsequent order status changes through the private WebSocket order topic. Batch order placement returns per-request result information in exit_info, including Success or Error, together with order identifiers in result.

Triggers and TP/SL

  • Order field: trigger
    • Makes the order conditional.
    • Structure:
      • trigger_by: "LastPrice", "IndexPrice", or "MarkPrice" — the price source used to activate the order.
      • trigger_direction: "Up" or "Down" — the trigger direction.
      • trigger_price: The price level at which the order is activated.
  • Order field: tpsl
  • Attaches Take Profit and/or Stop Loss settings to an entry order.
  • Structure:
    • mode: "Full" or "Partial".
    • take_profit / stop_loss: Optional TP/SL settings that support market or limit order types.
  • Reduce-only
    • Use reduce_only: true to prevent increasing exposure. Triggered TP/SL orders are intended to reduce or close an existing position.
See the dedicated page: TP/SL, Triggers, and Reduce-Only.