Skip to main content
After creating an order, you can check its status at any time to track progress through the execution pipeline. The order status provides detailed information about each stage of processing.

Order Status Values

Orders progress through these statuses:
  • pending - Order created, waiting for balance validation
  • validated - Balance validated and locked (balanceValidatedAt timestamp set)
  • placed - Order placed on the prediction market (orderPlacedAt timestamp set)
  • filled - Order filled on the prediction market (orderFilledAt timestamp set)
  • txn_filled - On-chain transaction executed (txnFilledAt timestamp set, metadata.txHash available)
  • completed - Order fully completed (isComplete: true, terminationReason: null)
  • failed - Order failed at any stage (isComplete: true, terminationReason contains error message)

Status Response Fields

The order status response includes:
  • id - Order ID
  • action - Order details (market, side, quantity, price)
  • status - Current status string
  • createdAt - When order was created
  • balanceValidatedAt - When balance was validated (null if not yet)
  • orderPlacedAt - When order was placed on the prediction market (null if not yet)
  • orderFilledAt - When order was filled on the prediction market (null if not yet)
  • txnFilledAt - When on-chain transaction executed (null if not yet)
  • isComplete - Whether order has completed
  • terminationReason - Error message if failed (null if succeeded)
  • metadata - Additional details:
    • txHash - On-chain transaction hash
    • chainId - Chain where transaction executed

Polling Strategy

Since orders are processed asynchronously, poll the status endpoint periodically to track progress. Typical intervals:
  • Every 5-10 seconds while order is in progress
  • Less frequently once order reaches “completed” or “failed” status
Use the timestamps to understand how long each stage takes and identify any bottlenecks in the order processing.
If terminationReason is not null, the order has failed. Check the reason to understand what went wrong and whether you need to retry.