> For the complete documentation index, see [llms.txt](https://docs.hydromancer.xyz/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.hydromancer.xyz/readme/rest-api/metadata/allperpmetas.md).

# allPerpMetas

Returns the perpetuals metadata — universe definitions and margin tables — for **every** perp DEX in a single response. The first element is the native Hyperliquid perp DEX; subsequent elements are builder-deployed (HIP-3) perp DEXes, in the same order as [perpDexs](/readme/rest-api/metadata/perpdexs.md).

For the metadata of a single DEX, use [meta](/readme/rest-api/metadata/meta.md) with the `dex` field.

{% hint style="info" %}
This endpoint returns the full universe and margin tables across all DEXes and is correspondingly heavier — it costs **10 points** per request (vs 2 for `meta`). See [Rate limits and user limits](/readme/rest-api/rate-limits-and-user-limits.md).
{% endhint %}

<table><thead><tr><th width="115">Field</th><th width="177">Type</th><th>Description</th></tr></thead><tbody><tr><td><code>type</code></td><td>string</td><td>Must be <code>"allPerpMetas"</code></td></tr></tbody></table>

## Request

{% tabs %}
{% tab title="cURL" %}

```bash
curl -X POST https://api.hydromancer.xyz/info \
  -H "Authorization: Bearer $HYDROMANCER_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "type": "allPerpMetas"
  }'
```

{% endtab %}

{% tab title="Python" %}

```python
import requests
import os
import json

response = requests.post(
    'https://api.hydromancer.xyz/info',
    json={
        'type': 'allPerpMetas'
    },
    headers={
        'Authorization': f'Bearer {os.environ["HYDROMANCER_API_KEY"]}',
        'Content-Type': 'application/json'
    }
)
print(json.dumps(response.json(), indent=2))
```

{% endtab %}

{% tab title="Javascript" %}

```javascript
import axios from 'axios';

const response = await axios.post(
  'https://api.hydromancer.xyz/info',
  {
    type: 'allPerpMetas'
  },
  {
    headers: {
      'Authorization': `Bearer ${process.env.HYDROMANCER_API_KEY}`,
      'Content-Type': 'application/json'
    }
  }
);

console.log(JSON.stringify(response.data, null, 2));
```

{% endtab %}
{% endtabs %}

***

## Response Fields

| Field                               | Type   | Description                                                                                                       |
| ----------------------------------- | ------ | ----------------------------------------------------------------------------------------------------------------- |
| (root)                              | array  | One entry per perp DEX. Index 0 is the native Hyperliquid perp DEX; later entries are builder-deployed perp DEXes |
| `[n].universe`                      | array  | List of perp asset definitions for this DEX                                                                       |
| `[n].universe[].name`               | string | Asset name (with DEX prefix for builder-deployed perps)                                                           |
| `[n].universe[].szDecimals`         | int    | Number of decimals for the size field                                                                             |
| `[n].universe[].maxLeverage`        | int    | Maximum leverage for the asset                                                                                    |
| `[n].universe[].marginTableId`      | int    | Margin table id referenced in `marginTables`                                                                      |
| `[n].universe[].isDelisted`         | bool?  | Present and `true` if the asset is delisted                                                                       |
| `[n].marginTables`                  | array  | List of `[marginTableId, marginTable]` pairs for this DEX                                                         |
| `[n].marginTables[][0]`             | int    | Margin table id                                                                                                   |
| `[n].marginTables[][1].description` | string | Description of the margin table                                                                                   |
| `[n].marginTables[][1].marginTiers` | array  | List of `{ lowerBound, maxLeverage }` tiers                                                                       |
| `[n].collateralToken`               | int    | Token index used as collateral for this DEX                                                                       |

<details>

<summary>Response (trimmed)</summary>

```json
[
  {
    "universe": [
      { "szDecimals": 5, "name": "BTC", "maxLeverage": 40, "marginTableId": 56 },
      { "szDecimals": 4, "name": "ETH", "maxLeverage": 25, "marginTableId": 55 }
    ],
    "marginTables": [
      [
        50,
        {
          "description": "",
          "marginTiers": [
            { "lowerBound": "0.0", "maxLeverage": 50 }
          ]
        }
      ]
    ],
    "collateralToken": 0
  }
]
```

</details>
