> ## Documentation Index
> Fetch the complete documentation index at: https://docs.chainstack.com/llms.txt
> Use this file to discover all available pages before exploring further.

# openOrders | Hyperliquid info

> The info endpoint with type: "openOrders" retrieves a user's open orders for both perpetuals and spot trading on the Hyperliquid exchange.

<Info>
  This method is available on Chainstack. Not all Hyperliquid methods are available on Chainstack, as the open-source node implementation does not support them yet — see [Hyperliquid methods](/docs/hyperliquid-methods) for the full availability breakdown.
</Info>

The `info` endpoint with `type: "openOrders"` retrieves a user's open orders for both perpetuals and spot trading on the Hyperliquid exchange. This endpoint provides essential information about all pending orders that have not yet been filled or canceled.

## Parameters

### Request body

* `type` (string, required) — The request type. Must be `"openOrders"` to retrieve user's open orders.
* `user` (string, required) — Address in 42-character hexadecimal format (e.g., `0x31ca8395cf837de08b24da3f660e77761dfb974b`).
* `dex` (string, optional) — Perp dex name. Defaults to the empty string which represents the first perp dex. Spot open orders are only included with the first perp dex.

## Response

The response is an array of open order objects, each containing:

### Order fields

* `coin` (string) — Trading pair or asset symbol:
  * For perpetuals: Asset name (e.g., "BTC", "ETH")
  * For spot: Token symbol or index format (e.g., "PURR/USDC", "@107")
* `limitPx` (string) — Limit price of the order in string format for precision
* `oid` (integer) — Order ID, a unique identifier for the order
* `side` (string) — Order side:
  * `"A"` — Ask (sell order)
  * `"B"` — Bid (buy order)
* `sz` (string) — Remaining size of the order (unfilled amount)
* `timestamp` (integer) — Order creation timestamp in milliseconds

### Order side interpretation

* **"A" (Ask)**: Sell order - user wants to sell the asset at the specified price
* **"B" (Bid)**: Buy order - user wants to buy the asset at the specified price

### Asset naming conventions

* **Perpetuals**: Use simple asset names like "BTC", "ETH"
* **Spot**: Use either pair format like "PURR/USDC" or index format like "@107"

## Example request

<CodeGroup>
  ```shell Shell theme={"system"}
  curl -X POST \
    -H "Content-Type: application/json" \
    -d '{"type": "openOrders", "user": "0x31ca8395cf837de08b24da3f660e77761dfb974b"}' \
    https://hyperliquid-mainnet.core.chainstack.com/4f8d8f4040bdacd1577bff8058438274/info
  ```

  ```python Python (hyperliquid-python-sdk) theme={"system"}
  from hyperliquid.info import Info

  info = Info("YOUR_CHAINSTACK_ENDPOINT", skip_ws=True)

  open_orders = info.open_orders("0x31ca8395cf837de08b24da3f660e77761dfb974b")
  print(open_orders)
  ```

  ```typescript TypeScript (@nktkas/hyperliquid) theme={"system"}
  import { HttpTransport, InfoClient } from "@nktkas/hyperliquid";

  const transport = new HttpTransport({ apiUrl: "YOUR_CHAINSTACK_ENDPOINT" });
  const info = new InfoClient({ transport });

  const openOrders = await info.openOrders({
    user: "0x31ca8395cf837de08b24da3f660e77761dfb974b",
  });
  console.log(openOrders);
  ```
</CodeGroup>

<Note>
  **Use your own endpoint in your code.** The code examples use a placeholder Chainstack endpoint (YOUR\_CHAINSTACK\_ENDPOINT) — replace it with your own Hyperliquid node endpoint from the [Chainstack console](https://console.chainstack.com/). The curl above uses a shared public endpoint for quick checks only; do not use it in production.
</Note>

## Example response

```json theme={"system"}
[
  {
    "coin": "BTC",
    "limitPx": "29792.0",
    "oid": 91490942,
    "side": "A",
    "sz": "0.0",
    "timestamp": 1681247412573
  }
]
```

## Use case

The `info` endpoint with `type: "openOrders"` is essential for trading applications that need to:

* Display user's current open orders in a trading interface
* Calculate total order exposure and risk management
* Implement order management features (cancel, modify)
* Show pending orders across both perpetuals and spot markets
* Track order status and remaining unfilled quantities
* Build comprehensive trading dashboards
* Monitor liquidity provision through open limit orders
* Implement automated trading strategies that need order awareness

This endpoint is typically called frequently to keep trading interfaces updated with the current state of all pending orders, enabling users to manage their trading positions effectively.


## OpenAPI

````yaml openapi/hyperliquid_node_api/hypercore_info/info_openorders.json post /4f8d8f4040bdacd1577bff8058438274/info
openapi: 3.0.0
info:
  title: Hyperliquid Node API
  version: 1.0.0
  description: This is an API for interacting with Chainstack Hyperliquid node.
servers:
  - url: https://hyperliquid-mainnet.core.chainstack.com
security: []
paths:
  /4f8d8f4040bdacd1577bff8058438274/info:
    post:
      tags:
        - hyperliquid operations
      summary: info (openOrders)
      operationId: infoOpenOrders
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                type:
                  type: string
                  default: openOrders
                  enum:
                    - openOrders
                  description: Request type to retrieve user's open orders
                user:
                  type: string
                  default: '0x31ca8395cf837de08b24da3f660e77761dfb974b'
                  description: Address in 42-character hexadecimal format
                dex:
                  type: string
                  default: ''
                  description: >-
                    Perp dex name. Defaults to empty string which represents the
                    first perp dex. Spot open orders are only included with the
                    first perp dex
              required:
                - type
                - user
      responses:
        '200':
          description: Array of user's open orders
          content:
            application/json:
              schema:
                type: array
                description: List of open orders for the user
                items:
                  type: object
                  properties:
                    coin:
                      type: string
                      description: >-
                        Trading pair or asset symbol (e.g., 'BTC', 'ETH', '@107'
                        for spot)
                    limitPx:
                      type: string
                      description: Limit price of the order
                    oid:
                      type: integer
                      description: Order ID - unique identifier for the order
                    side:
                      type: string
                      description: 'Order side: ''A'' for ask (sell), ''B'' for bid (buy)'
                    sz:
                      type: string
                      description: Remaining size of the order (unfilled amount)
                    timestamp:
                      type: integer
                      description: Order creation timestamp in milliseconds
                  required:
                    - coin
                    - limitPx
                    - oid
                    - side
                    - sz
                    - timestamp

````