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

# webData2 | Hyperliquid Info API

> Hyperliquid webData2: fetch the composite snapshot the Hyperliquid web app uses for a wallet in a single call.

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

The Hyperliquid info endpoint with `type: "webData2"` is used to fetch the composite snapshot the Hyperliquid web app uses for a wallet in a single call.

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

<Info>
  * Wire-equal to `POST api.hyperliquid.xyz/info` with `{"type": "webData2", "user": "0x..."}`.
</Info>

Returns the same composite payload the Hyperliquid web frontend pulls on page load for a given wallet: perp clearinghouse state, spot balances, open orders with trigger metadata, recent fills, and assorted UI-side context.

User-keyed. Use this when you want a single round-trip to populate a dashboard for a wallet.

## Endpoint

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

## Request

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

<ParamField body="user" type="string" required>
  Wallet address (lowercase `0x`-prefixed 42-character hex). The payload is keyed to this user.
</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": "webData2",
      "user": "0x31ca8395cf837de08b24da3f660e77761dfb974b"
    }'
  ```

  ```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: "webData2",
      user: "0x31ca8395cf837de08b24da3f660e77761dfb974b",
    }),
  });

  const dashboard = 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": "webData2",
          "user": "0x31ca8395cf837de08b24da3f660e77761dfb974b",
      },
  )

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

## Response

The response is a single composite object. The example below shows one representative element of each array; in practice `meta.universe`, `assetCtxs`, `spotAssetCtxs`, and `openOrders` each contain many entries.

```json theme={null}
{
  "user": "0x31ca8395cf837de08b24da3f660e77761dfb974b",
  "isVault": true,
  "agentAddress": null,
  "agentValidUntil": null,
  "serverTime": 1781881474980,
  "cumLedger": "6332392.6399999997",
  "totalVaultEquity": "0.0",
  "perpsAtOpenInterestCap": ["CANTO", "FTM", "JELLY"],
  "twapStates": [],
  "leadingVaults": [],
  "clearinghouseState": {
    "marginSummary": {
      "accountValue": "3007919.6080829999",
      "totalNtlPos": "3459573.844978",
      "totalRawUsd": "3271201.7188229999",
      "totalMarginUsed": "172978.692196"
    },
    "crossMarginSummary": { "...": "same shape as marginSummary" },
    "crossMaintenanceMarginUsed": "...",
    "withdrawable": "...",
    "time": 1781881474980,
    "assetPositions": [
      {
        "type": "oneWay",
        "position": {
          "coin": "BTC",
          "szi": "-0.67076",
          "leverage": { "type": "cross", "value": 20 },
          "entryPx": "62884.6",
          "positionValue": "42329.65132",
          "unrealizedPnl": "-149.163124",
          "returnOnEquity": "-0.070726125",
          "liquidationPx": "4451986.8072480513",
          "marginUsed": "2116.482566",
          "maxLeverage": 50,
          "cumFunding": {
            "allTime": "167037.152562",
            "sinceOpen": "-63.255648",
            "sinceChange": "0.0"
          }
        }
      }
    ]
  },
  "meta": {
    "collateralToken": 0,
    "marginTables": [],
    "universe": [
      { "szDecimals": 5, "name": "BTC", "maxLeverage": 40, "marginTableId": 56 }
    ]
  },
  "assetCtxs": [
    {
      "funding": "0.0000125",
      "openInterest": "30871.17824",
      "prevDayPx": "63776.0",
      "dayNtlVlm": "2564601901.510225296",
      "premium": "-0.000633553",
      "oraclePx": "63136.0",
      "markPx": "63107.0",
      "midPx": "63095.5",
      "impactPxs": ["63095.0", "63096.0"],
      "dayBaseVlm": "40824.8194300001"
    }
  ],
  "spotAssetCtxs": [
    {
      "coin": "PURR/USDC",
      "prevDayPx": "0.094397",
      "dayNtlVlm": "1940712.1805890012",
      "markPx": "0.10119",
      "midPx": "0.101275",
      "circulatingSupply": "595243631.3874200583",
      "totalSupply": "595243637.9101999998",
      "dayBaseVlm": "20336991.0"
    }
  ],
  "openOrders": [
    {
      "coin": "APE",
      "side": "A",
      "limitPx": "0.13155",
      "sz": "5187.6",
      "oid": 473960008142,
      "timestamp": 1781881474980,
      "triggerCondition": "N/A",
      "isTrigger": false,
      "triggerPx": "0.0",
      "children": [],
      "isPositionTpsl": false,
      "reduceOnly": false,
      "orderType": "Limit",
      "origSz": "5187.6",
      "tif": "Alo",
      "cloid": null
    }
  ]
}
```

### Field descriptions

<Note>
  All numeric balances, prices, and sizes are returned as **decimal strings** with full upstream precision. Do not parse them as floats - keep them as strings or use a fixed-precision decimal type. Timestamps (`serverTime`, `time`, `timestamp`) are integer Unix milliseconds.
</Note>

<ResponseField name="user" type="string">Echo of the wallet address requested.</ResponseField>
<ResponseField name="isVault" type="boolean">`true` when the wallet is a Hyperliquid vault address.</ResponseField>
<ResponseField name="agentAddress" type="string | null">Active API agent address if one is registered for the wallet, otherwise `null`.</ResponseField>
<ResponseField name="agentValidUntil" type="int | null">Expiry of the API agent in Unix milliseconds, or `null` when no agent is registered.</ResponseField>
<ResponseField name="serverTime" type="int">HyperCore server time (Unix milliseconds) at the moment the snapshot was assembled.</ResponseField>
<ResponseField name="cumLedger" type="string">Cumulative non-funding ledger total for the wallet, in USDC. Tracks net deposits/withdrawals/transfers across time.</ResponseField>
<ResponseField name="totalVaultEquity" type="string">Sum of all vault equity the wallet leads (when `isVault` or a vault leader). `"0.0"` when the wallet leads no vaults.</ResponseField>
<ResponseField name="perpsAtOpenInterestCap" type="array<string>">List of perp `coin` symbols currently at their open-interest cap. Useful for surfacing "no new shorts/longs" UI states.</ResponseField>
<ResponseField name="twapStates" type="array<object>">Active TWAP orders for the wallet. Empty array when no TWAPs are in flight.</ResponseField>
<ResponseField name="leadingVaults" type="array<object>">Vaults the wallet leads, each with vault address and current equity. Empty array when the wallet leads no vaults.</ResponseField>

<ResponseField name="clearinghouseState" type="object">
  Perpetuals account state - identical to the response shape of <a href="https://goldrush.dev/docs/api-reference/hyperliquid-info/clearinghouse-state" target="_blank" rel="noopener noreferrer">`clearinghouseState`</a>. Contains `marginSummary`, `crossMarginSummary`, `crossMaintenanceMarginUsed`, `withdrawable`, `time`, and `assetPositions[]`.
</ResponseField>

<ResponseField name="meta" type="object">
  Perp universe metadata - identical to the response shape of <a href="https://goldrush.dev/docs/api-reference/hyperliquid-info/meta" target="_blank" rel="noopener noreferrer">`meta`</a>. Contains `universe[]` (`{name, szDecimals, maxLeverage, marginTableId}`), `marginTables[]`, and `collateralToken`.
</ResponseField>

<ResponseField name="assetCtxs" type="array<object>">
  Live per-perp market context, ordered to align with `meta.universe`. Each entry carries `funding`, `openInterest`, `markPx`, `oraclePx`, `midPx`, `impactPxs`, `premium`, `prevDayPx`, `dayNtlVlm`, and `dayBaseVlm`.
</ResponseField>

<ResponseField name="spotAssetCtxs" type="array<object>">
  Live per-spot-pair market context. Each entry carries `coin` (the spot pair symbol), `markPx`, `midPx`, `prevDayPx`, `dayNtlVlm`, `dayBaseVlm`, `circulatingSupply`, and `totalSupply`.
</ResponseField>

<ResponseField name="openOrders" type="array<object>">
  The wallet's open orders with full trigger metadata - identical to the response shape of <a href="https://goldrush.dev/docs/api-reference/hyperliquid-info/frontend-open-orders" target="_blank" rel="noopener noreferrer">`frontendOpenOrders`</a>. Each entry includes `coin`, `side`, `limitPx`, `sz`, `oid`, `timestamp`, `triggerCondition`, `isTrigger`, `triggerPx`, `children`, `isPositionTpsl`, `reduceOnly`, `orderType`, `origSz`, `tif`, and `cloid`.
</ResponseField>

*Last reviewed: 2026-06-19*
