> ## 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.

# frontendOpenOrders | Hyperliquid info

> The info endpoint with type: "frontendOpenOrders" retrieves a user's open orders with additional frontend-specific formatting and metadata.

<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: "frontendOpenOrders"` retrieves a user's open orders with additional frontend-specific formatting and metadata. This endpoint provides enhanced order information specifically designed for display in trading interfaces, including order types, trigger conditions, and other UI-relevant data.

## Parameters

### Request body

* `type` (string, required) — The request type. Must be `"frontendOpenOrders"` to retrieve user's open orders with frontend formatting.
* `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 with enhanced frontend-specific information:

### Core order fields

* `coin` (string) — Trading pair or asset symbol (e.g., "BTC", "ETH")
* `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) — Current order size in string format for precision
* `timestamp` (integer) — Order creation timestamp in milliseconds

### Frontend-enhanced fields

* `origSz` (string) — Original order size when the order was created
* `orderType` (string) — Human-readable order type (e.g., "Limit", "Market", "Stop", "Stop Limit")
* `triggerCondition` (string) — Trigger condition for conditional orders
* `triggerPx` (string) — Trigger price for conditional orders
* `reduceOnly` (boolean) — Whether this is a reduce-only order that can only decrease position size
* `isPositionTpsl` (boolean) — Whether this is a position take-profit/stop-loss order
* `isTrigger` (boolean) — Whether this is a trigger order

### 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

### Order types

* **Limit**: Standard limit order at a specific price
* **Market**: Immediate execution at current market price
* **Stop**: Stop-loss order triggered when price reaches trigger level
* **Stop Limit**: Stop order that becomes a limit order when triggered

## Example request

<CodeGroup>
  ```shell Shell theme={"system"}
  curl -X POST \
    -H "Content-Type: application/json" \
    -d '{"type": "frontendOpenOrders", "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)

  orders = info.frontend_open_orders("0x31ca8395cf837de08b24da3f660e77761dfb974b")
  print(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 orders = await info.frontendOpenOrders({
    user: "0x31ca8395cf837de08b24da3f660e77761dfb974b",
  });
  console.log(orders);
  ```
</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",
        "isPositionTpsl": false,
        "isTrigger": false,
        "limitPx": "29792.0",
        "oid": 91490942,
        "orderType": "Limit",
        "origSz": "5.0",
        "reduceOnly": false,
        "side": "A",
        "sz": "5.0",
        "timestamp": 1681247412573,
        "triggerCondition": "N/A",
        "triggerPx": "0.0"
    }
]
```

## Use case

The `info` endpoint with `type: "frontendOpenOrders"` is specifically designed for trading applications that need to:

* Display comprehensive order information in trading interfaces
* Show order types and trigger conditions in user-friendly formats
* Implement advanced order management features with conditional logic
* Build order books and trading dashboards with enhanced metadata
* Provide detailed order tooltips and information panels
* Support complex order types like stop-loss and take-profit orders
* Display reduce-only orders with appropriate visual indicators
* Create order history views with complete order context
* Implement order modification workflows with type-specific handling
* Build mobile trading apps with condensed but complete order data
* Support advanced trading strategies requiring order type awareness
* Provide audit trails and order analytics with detailed classifications

This endpoint is ideal for production trading interfaces that require rich order metadata beyond basic order information, enabling sophisticated user experiences and advanced trading functionality.


## OpenAPI

````yaml openapi/hyperliquid_node_api/hypercore_info/info_frontendopenorders.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 (frontendOpenOrders)
      operationId: infoFrontendOpenOrders
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                type:
                  type: string
                  default: frontendOpenOrders
                  enum:
                    - frontendOpenOrders
                  description: >-
                    Request type to retrieve user's open orders with
                    frontend-specific formatting
                user:
                  type: string
                  default: '0x31ca8395cf837de08b24da3f660e77761dfb974b'
                  description: Address in 42-character hexadecimal format
                dex:
                  type: string
                  default: ''
                  description: >-
                    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.
              required:
                - type
                - user
      responses:
        '200':
          description: Array of user's open orders with frontend-specific formatting
          content:
            application/json:
              schema:
                type: array
                description: List of open orders formatted for frontend display
                items:
                  type: object
                  properties:
                    coin:
                      type: string
                      description: Trading pair or asset symbol (e.g., 'BTC', 'ETH')
                    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: Order size
                    timestamp:
                      type: integer
                      description: Order creation timestamp in milliseconds
                    triggerCondition:
                      type: string
                      description: Trigger condition for conditional orders
                    triggerPx:
                      type: string
                      description: Trigger price for conditional orders
                    orderType:
                      type: string
                      description: Type of order (e.g., 'Limit', 'Market', 'Stop')
                    reduceOnly:
                      type: boolean
                      description: Whether this is a reduce-only order
                  required:
                    - coin
                    - limitPx
                    - oid
                    - side
                    - sz
                    - timestamp

````