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

# frontendOpenOrders | Hyperliquid Info API

> Hyperliquid frontendOpenOrders: fetch a user's currently open orders enriched with frontend metadata.

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

The Hyperliquid info endpoint with `type: "frontendOpenOrders"` is used to fetch a user's currently open orders enriched with frontend metadata.

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

<Info>
  * Wire-equal to `POST api.hyperliquid.xyz/info` with `{"type": "frontendOpenOrders", "user": "..."}`.
  * Use `frontendOpenOrders` instead of `openOrders` when you need the trigger metadata and human-readable order type - exactly what the Hyperliquid web UI displays.
  * For a real-time stream of order placement and cancellation events, subscribe to <a href="https://goldrush.dev/docs/api-reference/streaming-api/subscriptions/wallet-activity-stream" target="_blank" rel="noopener noreferrer">`walletTxs`</a>.
</Info>

Returns a single user’s currently open orders, enriched with the **frontend-only metadata** the Hyperliquid web UI uses: TP/SL trigger info, whether the order is a position-level TP/SL, reduce-only flag, 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 default="frontendOpenOrders">
  Always `"frontendOpenOrders"`.
</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 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": "frontendOpenOrders",
      "user": "0xecb63caa47c7c4e77f60f1ce858cf28dc2b82b00",
      "dex": ""
    }'
  ```

  ```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: "frontendOpenOrders",
      user: "0xecb63caa47c7c4e77f60f1ce858cf28dc2b82b00",
      dex: "",
    }),
  });

  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": "frontendOpenOrders",
          "user": "0xecb63caa47c7c4e77f60f1ce858cf28dc2b82b00",
          "dex": "",
      },
  )

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

## Response

An array of open orders. Each order object includes the standard `openOrders` fields plus the `frontend*` enrichment fields.

```json theme={null}
[
  {
    "coin": "ETH",
    "side": "B",
    "limitPx": "3300.0",
    "sz": "0.5",
    "oid": 95012345,
    "timestamp": 1735689600000,
    "triggerCondition": "N/A",
    "isTrigger": false,
    "triggerPx": "0.0",
    "children": [],
    "isPositionTpsl": false,
    "reduceOnly": false,
    "orderType": "Limit",
    "origSz": "0.5",
    "tif": "Gtc",
    "cloid": null
  },
  {
    "coin": "ETH",
    "side": "A",
    "limitPx": "3800.0",
    "sz": "2.5",
    "oid": 95012346,
    "timestamp": 1735689700000,
    "triggerCondition": "Mark price >= 3800.0",
    "isTrigger": true,
    "triggerPx": "3800.0",
    "children": [],
    "isPositionTpsl": true,
    "reduceOnly": true,
    "orderType": "Take Profit Market",
    "origSz": "2.5",
    "tif": null,
    "cloid": null
  }
]
```

### Field descriptions

<ResponseField name="coin" type="string">Asset symbol.</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 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="triggerCondition" type="string">Human-readable trigger condition. `"N/A"` for non-trigger orders.</ResponseField>
<ResponseField name="isTrigger" type="boolean">`true` for stop-loss, take-profit, and other conditional orders.</ResponseField>
<ResponseField name="triggerPx" type="string">Trigger price for conditional orders. `"0.0"` for limits.</ResponseField>
<ResponseField name="children" type="array<object>">Child orders attached to this parent (e.g. bracket orders).</ResponseField>
<ResponseField name="isPositionTpsl" type="boolean">`true` if this is a position-level TP/SL (closes the entire position when triggered).</ResponseField>
<ResponseField name="reduceOnly" type="boolean">`true` if this order can only reduce, not increase, position size.</ResponseField>
<ResponseField name="orderType" type="string">Human-readable order type - `"Limit"`, `"Take Profit Market"`, `"Stop Limit"`, etc.</ResponseField>
<ResponseField name="origSz" type="string">Original order size before any partial fills.</ResponseField>
<ResponseField name="tif" type="string">Time-in-force - `"Gtc"`, `"Ioc"`, `"Alo"`, or `null` for trigger orders.</ResponseField>
<ResponseField name="cloid" type="string">Client order ID (null if not provided at placement).</ResponseField>

*Last reviewed: 2026-06-13*
