You can only use this endpoint on the official Hyperliquid public API. It is not available through Chainstack, as the open-source node implementation does not support it yet.
info
endpoint with type: "orderStatus"
retrieves the current status and details of a specific order on the Hyperliquid exchange. This endpoint accepts either an order ID (oid) or client order ID (cloid) to query order information, making it essential for order tracking and management.
Get your own node endpoint todayStart for free and get your app to production levels immediately. No credit card required.You can sign up with your GitHub, X, Google, or Microsoft account.
Parameters
Request body
type
(string, required) — The request type. Must be"orderStatus"
to query order status.user
(string, required) — Address in 42-character hexadecimal format; e.g. 0x0000000000000000000000000000000000000000.oid
(integer or string, required) — Either u64 representing the order id or 16-byte hex string representing the client order id.
Response
The response varies depending on whether the order is found or not:Successful order lookup
When an order is found, the response contains detailed order information: Response structure:status
— Always “order” when order information is availableorder
— Object containing the order wrapper with order details and status
order
— Object containing the actual order detailsstatus
— Current order status (see status values below)statusTimestamp
— Timestamp when the status was last updated
order
object):
coin
— Asset identifier (simple names like “BTC”, “ETH” for perpetuals; spot format like “@107” for spot trades)side
— Order side: “A” for Ask/Sell, “B” for Bid/BuylimitPx
— Limit price as a string for precisionsz
— Current order size (remaining quantity)oid
— Order IDtimestamp
— Order creation timestamp in millisecondstriggerCondition
— Trigger condition for conditional ordersisTrigger
— Boolean indicating if this is a trigger ordertriggerPx
— Trigger price for conditional orderschildren
— Array of child orders (for TP/SL orders)isPositionTpsl
— Boolean indicating if this is a position-level TP/SL orderreduceOnly
— Boolean indicating if this is a reduce-only orderorderType
— Order type (e.g., “Market”, “Limit”)origSz
— Original order sizetif
— Time in force (e.g., “FrontendMarket”, “Gtc”, “Ioc”)cloid
— Client order ID if provided (null if not set)
Order not found
When an order ID is not found:status
— “unknownOid” indicating the order was not found
Order status values
Thestatus
field in the order response can have the following values:
Active states
open
— Order placed successfully and waiting for executiontriggered
— Trigger order has been triggered and converted to a regular order
Completed states
filled
— Order has been completely executed
Canceled states
canceled
— Order canceled by usermarginCanceled
— Canceled due to insufficient margin to fillvaultWithdrawalCanceled
— Vaults only. Canceled due to user withdrawal from vaultopenInterestCapCanceled
— Canceled due to order being too aggressive when open interest was at capselfTradeCanceled
— Canceled due to self-trade preventionreduceOnlyCanceled
— Canceled reduce-only order that does not reduce positionsiblingFilledCanceled
— TP/SL only. Canceled due to sibling order being filleddelistedCanceled
— Canceled due to asset delistingliquidatedCanceled
— Canceled due to liquidationscheduledCancel
— API only. Canceled due to exceeding scheduled cancel deadline (dead man’s switch)
Rejected states
rejected
— Order rejected at time of placementtickRejected
— Rejected due to invalid tick priceminTradeNtlRejected
— Rejected due to order notional below minimumperpMarginRejected
— Rejected due to insufficient marginreduceOnlyRejected
— Rejected due to reduce only constraintsbadAloPxRejected
— Rejected due to post-only immediate matchiocCancelRejected
— Rejected due to IOC not able to matchbadTriggerPxRejected
— Rejected due to invalid TP/SL pricemarketOrderNoLiquidityRejected
— Rejected due to lack of liquidity for market orderpositionIncreaseAtOpenInterestCapRejected
— Rejected due to open interest cappositionFlipAtOpenInterestCapRejected
— Rejected due to open interest captooAggressiveAtOpenInterestCapRejected
— Rejected due to price too aggressive at open interest capopenInterestIncreaseRejected
— Rejected due to open interest capinsufficientSpotBalanceRejected
— Rejected due to insufficient spot balanceoracleRejected
— Rejected due to price too far from oracleperpMaxPositionRejected
— Rejected due to exceeding margin tier limit at current leverage
Order identification
Order ID (oid)
- Numeric identifier assigned by the exchange
- Used as a 64-bit unsigned integer
- Automatically generated when orders are placed
Client Order ID (cloid)
- Optional custom identifier provided by the client
- 16-byte hexadecimal string format
- Allows clients to track orders using their own identifiers
- Must be unique per user
Asset identification
Perpetual contracts:- Use simple asset names: “BTC”, “ETH”, “AVAX”, “SOL”
- Represent standard perpetual futures contracts
- Use indexed format: “@107”, “@1”, etc.
- Index corresponds to the spot pair position in the universe
- Some assets may have remapped names in user interfaces
Example request
Shell
Example response
Order found
Order not found
Use cases
Theinfo
endpoint with type: "orderStatus"
is essential for applications that need to:
- Order tracking: Monitor the current status and execution progress of placed orders
- Order management: Verify order placement and track order lifecycle from creation to completion
- Risk management: Check order status before making position adjustments or placing additional orders
- Reconciliation: Match internal order records with exchange order status for accounting purposes
- Error handling: Identify rejected orders and understand rejection reasons for debugging
- Automated trading: Programmatically verify order execution in algorithmic trading systems
- Portfolio management: Track order status as part of broader portfolio monitoring
- Compliance reporting: Maintain audit trails of order status changes for regulatory requirements
- User interfaces: Display real-time order status in trading applications and dashboards
- Notification systems: Trigger alerts based on order status changes (fills, cancellations, rejections)
- Strategy validation: Confirm order execution as part of trading strategy implementation
- Performance analysis: Analyze order execution patterns and identify optimization opportunities
- Client order tracking: Use client order IDs to track orders placed through custom systems
- Order debugging: Investigate order issues by examining detailed order information and status history
- Integration testing: Verify order placement and status updates during system integration
Body
application/json
The request type. Must be 'orderStatus' to query order status.
Available options:
orderStatus
Address in 42-character hexadecimal format; e.g. 0x0000000000000000000000000000000000000000.
Either u64 representing the order id or 16-byte hex string representing the client order id Order ID as a 64-bit unsigned integer