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

# perpDexLimits | Hyperliquid Info API

> Hyperliquid perpDexLimits: fetch the open-interest, position-size, and transfer limits for a HIP-3 perp DEX.

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

The Hyperliquid info endpoint with `type: "perpDexLimits"` is used to fetch the open-interest, position-size, and transfer limits for a HIP-3 perp DEX.

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

<Info>
  * Wire-equal to `POST api.hyperliquid.xyz/info` with `{"type": "perpDexLimits", "dex": "..."}`.
  * The `dex` field names the HIP-3 builder-deployed perp DEX to inspect. Enumerate deployed DEX names with <a href="https://goldrush.dev/docs/api-reference/hyperliquid-info/perp-dexs" target="_blank" rel="noopener noreferrer">perpDexs</a>.
  * Returns `null` for a DEX that has no configured limits (including the empty-string native perp DEX).
  * `coinToOiCap` is an array of `[coin, cap]` tuples; all limit values are decimal strings.
</Info>

Returns the risk limits configured for a HIP-3 builder-deployed perpetual DEX: the total open-interest cap, the per-perp open-interest size cap, the maximum transfer notional, and the per-asset open-interest caps.

This is a per-DEX type. Pass a builder DEX `name` from `perpDexs` as the `dex` field to inspect that DEX's limits.

## Endpoint

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

## Request

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

<ParamField body="dex" type="string" required>
  The HIP-3 builder DEX name (e.g. `"xyz"`). Enumerate deployed DEX names with `perpDexs`. An empty string selects the native Hyperliquid perp DEX, which has no configured limits and returns `null`.
</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": "perpDexLimits",
      "dex": "xyz"
    }'
  ```

  ```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: "perpDexLimits",
      dex: "xyz",
    }),
  });

  const limits = 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": "perpDexLimits", "dex": "xyz"},
  )

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

## Response

A single object describing the DEX's limits, or `null` when the DEX has no configured limits.

```json theme={null}
{
  "totalOiCap": "10000000000.0",
  "oiSzCapPerPerp": "20000000000.0",
  "maxTransferNtl": "3000000000.0",
  "coinToOiCap": [
    ["xyz:AAPL", "100000000.0"],
    ["xyz:AMD", "100000000.0"]
  ]
}
```

### Field descriptions

<Note>
  All limit values are returned as **decimal strings**, preserving upstream precision. Do not parse them as floats - keep them as strings or use a fixed-precision decimal type.
</Note>

<ResponseField name="totalOiCap" type="string">
  Total open-interest cap across the DEX, in USD notional.
</ResponseField>

<ResponseField name="oiSzCapPerPerp" type="string">
  Open-interest size cap applied per perp on this DEX.
</ResponseField>

<ResponseField name="maxTransferNtl" type="string">
  Maximum transfer notional allowed on this DEX.
</ResponseField>

<ResponseField name="coinToOiCap" type="array<[string, string]>">
  Per-asset open-interest caps, encoded as `[coin, cap]` tuples. Values are decimal strings.
</ResponseField>

*Last reviewed: 2026-07-24*
