> 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/perpdexs.md).

# perpDexs

Returns the list of all available perpetual DEXes.

<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>"perpDexs"</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": "perpDexs"
  }'
```

{% endtab %}

{% tab title="Python" %}

```python
import requests
import os
import json

response = requests.post(
    'https://api.hydromancer.xyz/info',
    json={
        'type': 'perpDexs'
    },
    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: 'perpDexs'
  },
  {
    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   | Array where index 0 is `null` (the native/first DEX) and subsequent entries are DEX objects |
| `[n].name`                           | string  | Short DEX identifier (e.g. `"xyz"`)                                                         |
| `[n].fullName`                       | string  | Full DEX display name                                                                       |
| `[n].deployer`                       | string  | Deployer Ethereum address                                                                   |
| `[n].oracleUpdater`                  | string? | Oracle updater address, `null` if not set                                                   |
| `[n].feeRecipient`                   | string  | Fee recipient address                                                                       |
| `[n].assetToStreamingOiCap`          | array   | Array of `[asset, cap]` pairs for streaming open interest caps                              |
| `[n].subDeployers`                   | array   | Array of `[permission, [addresses]]` pairs                                                  |
| `[n].deployerFeeScale`               | string  | Deployer fee scale factor                                                                   |
| `[n].lastDeployerFeeScaleChangeTime` | string  | Timestamp of last fee scale change                                                          |
| `[n].assetToFundingMultiplier`       | array   | Array of `[asset, multiplier]` pairs                                                        |
| `[n].assetToFundingInterestRate`     | array   | Array of `[asset, rate]` pairs for custom funding interest rates                            |

<details>

<summary>Response</summary>

```json
[
  null,
  {
    "name": "xyz",
    "fullName": "XYZ",
    "deployer": "0x88806a71d74ad0a510b350545c9ae490912f0888",
    "oracleUpdater": null,
    "feeRecipient": "0x9cd0a696c7cbb9d44de99268194cb08e5684e5fe",
    "assetToStreamingOiCap": [
      ["xyz:NVDA", "250000000.0"],
      ["xyz:GOLD", "500000000.0"]
    ],
    "subDeployers": [
      ["registerAsset", ["0x7d16f116d252db609c56d27d6c9605eb03e16657"]],
      ["setOracle", ["0x1234567890545d1df9ee64b35fdd16966e08acec"]]
    ],
    "deployerFeeScale": "1.0",
    "lastDeployerFeeScaleChangeTime": "1970-01-01T00:00:00",
    "assetToFundingMultiplier": [
      ["xyz:NVDA", "0.5"],
      ["xyz:GOLD", "0.5"]
    ],
    "assetToFundingInterestRate": [
      ["xyz:EUR", "0.0"],
      ["xyz:JPY", "0.0"]
    ]
  }
]
```

</details>
