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

# openOrders | Hyperliquid Info API

> Hyperliquid openOrders: list a user's resting open orders by wallet address.

<CardGroup cols={2}>
  <Card title="Credit Cost"> 1 per call</Card>
  <Card title="Processing"> Realtime</Card>
</CardGroup>

The Hyperliquid info endpoint with `type: "openOrders"` is used to list a user's resting open orders.

<Tip>
  Estimate your monthly cost for this API using the [Pricing Calculator](/docs/pricing-calculator?endpoint=%2Fapi-reference%2Fhyperliquid-info%2Fopen-orders).
</Tip>

<Info>
  * Wire-equal to `POST api.hyperliquid.xyz/info` with `{"type": "openOrders", "user": "..."}`.
  * For orders enriched with trigger metadata, TP/SL flags, and the human-readable order type shown in the Hyperliquid web UI, use <a href="https://goldrush.dev/docs/api-reference/hyperliquid-info/frontend-open-orders" target="_blank" rel="noopener noreferrer">`frontendOpenOrders`</a> instead.
  * The optional `dex` field scopes the query to a HIP-3 builder DEX; the empty string (default) returns orders on the canonical Hyperliquid perp DEX.
  * For a real-time stream of order placement and cancellation events, subscribe to <a href="https://goldrush.dev/docs/goldrush-hyperliquid/streaming/wallet-firehose" target="_blank" rel="noopener noreferrer">`walletTxs`</a>.
</Info>

Returns a single user's currently resting open orders as compact rows: coin, side, limit price, remaining size, order id, placement timestamp, original size, and client order id. This is the lightweight variant - reach for [frontendOpenOrders](https://goldrush.dev/docs/api-reference/hyperliquid-info/frontend-open-orders) when you also need trigger conditions, reduce-only / position-TP-SL flags, and the human-readable order type.

User-keyed. Updated on every order placement, cancellation, or fill.

## Endpoint

```
POST https://hypercore.goldrushdata.com/info
Authorization: Bearer <GOLDRUSH_API_KEY>
Content-Type: application/json
```

## Request

<ParamField body="type" type="string" required>
  Always `"openOrders"`.
</ParamField>

<ParamField body="user" type="string" required>
  The wallet address (lowercase 0x-prefixed hex).
</ParamField>

<ParamField body="dex" type="string">
  HIP-3 builder DEX identifier. Empty string (default) returns orders on the canonical Hyperliquid perp DEX.
</ParamField>

### Example

<CodeGroup>
  ```bash cURL theme={null}
  curl -X POST https://hypercore.goldrushdata.com/info \
    -H "Authorization: Bearer $GOLDRUSH_API_KEY" \
    -H "Content-Type: application/json" \
    -d '{
      "type": "openOrders",
      "user": "0xecb63caa47c7c4e77f60f1ce858cf28dc2b82b00"
    }'
  ```

  ```typescript TypeScript theme={null}
  const response = await fetch("https://hypercore.goldrushdata.com/info", {
    method: "POST",
    headers: {
      "Authorization": `Bearer ${process.env.GOLDRUSH_API_KEY}`,
      "Content-Type": "application/json",
    },
    body: JSON.stringify({
      type: "openOrders",
      user: "0xecb63caa47c7c4e77f60f1ce858cf28dc2b82b00",
    }),
  });

  const orders = await response.json();
  ```

  ```python Python theme={null}
  import os, requests

  response = requests.post(
      "https://hypercore.goldrushdata.com/info",
      headers={"Authorization": f"Bearer {os.environ['GOLDRUSH_API_KEY']}"},
      json={
          "type": "openOrders",
          "user": "0xecb63caa47c7c4e77f60f1ce858cf28dc2b82b00",
      },
  )

  orders = response.json()
  ```
</CodeGroup>

## Response

An array of open-order objects. Empty when the user has no resting orders.

```json theme={null}
[
  {
    "coin": "UNI",
    "side": "B",
    "limitPx": "3.8558",
    "sz": "104.2",
    "oid": 501169923808,
    "timestamp": 1784799315550,
    "origSz": "104.2",
    "cloid": "0x00000000000000000000019f8ad9b4b4"
  }
]
```

### Field descriptions

<Note>
  `limitPx`, `sz`, and `origSz` are returned as **decimal strings**, preserving upstream precision. Do not parse them as floats.
</Note>

<ResponseField name="coin" type="string">Asset symbol - e.g. `"BTC"`, `"UNI"` for perps; spot pairs use the `@N` form.</ResponseField>
<ResponseField name="side" type="string">`"B"` for buy/long, `"A"` for ask/short.</ResponseField>
<ResponseField name="limitPx" type="string">Limit price.</ResponseField>
<ResponseField name="sz" type="string">Remaining (unfilled) order size.</ResponseField>
<ResponseField name="oid" type="int">Numeric order ID.</ResponseField>
<ResponseField name="timestamp" type="int">Order placement time in milliseconds since Unix epoch.</ResponseField>
<ResponseField name="origSz" type="string">Original order size before any partial fills.</ResponseField>
<ResponseField name="cloid" type="string | null">Client order ID set at placement, or `null` when none was provided.</ResponseField>

*Last reviewed: 2026-07-24*
