> ## Documentation Index
> Fetch the complete documentation index at: https://docs.dexutils.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Networks API: List and Explore Supported Blockchains

> Use GET /networks to list DexUtils-supported blockchains with chain IDs, native tokens, DEX counts, and explorer URLs, plus per-network DEX listings.

The Networks API gives you a complete picture of every blockchain DexUtils Pro supports. Use it to discover network IDs you'll pass to other endpoints, enumerate the DEX protocols available on each chain, and build network-selector UIs that stay in sync with DexUtils coverage automatically.

## List All Networks

```http theme={null}
GET /networks
```

Returns an array of every supported blockchain network. No authentication parameters are required beyond your API key header.

### Code Examples

<CodeGroup>
  ```bash cURL theme={null}
  # Replace the token below with your actual API key from the DexUtils dashboard
  curl "https://api.dexutils.io/v1/networks" \
    -H "Authorization: Bearer dxu_sk_live_4f8a2bcd9e1f3a7056c8d2e94b0f1c63"
  ```

  ```python Python theme={null}
  import requests

  # Replace with your actual API key from the DexUtils dashboard
  url = "https://api.dexutils.io/v1/networks"
  headers = {"Authorization": "Bearer dxu_sk_live_4f8a2bcd9e1f3a7056c8d2e94b0f1c63"}

  response = requests.get(url, headers=headers)
  data = response.json()

  for network in data["networks"]:
      print(f"{network['name']} — {network['dex_count']} DEXes")
  ```

  ```javascript JavaScript theme={null}
  // Replace with your actual API key from the DexUtils dashboard
  const response = await fetch("https://api.dexutils.io/v1/networks", {
    headers: {
      Authorization: "Bearer dxu_sk_live_4f8a2bcd9e1f3a7056c8d2e94b0f1c63",
    },
  });

  const data = await response.json();

  data.networks.forEach((network) => {
    console.log(`${network.name} — ${network.dex_count} DEXes`);
  });
  ```
</CodeGroup>

### Response Fields

<ResponseField name="networks" type="array" required>
  Array of network objects, one per supported blockchain.

  <Expandable title="Network object">
    <ResponseField name="id" type="string" required>
      Unique network identifier used as a path parameter in all other endpoints (e.g. `ethereum`, `solana`, `bsc`).
    </ResponseField>

    <ResponseField name="name" type="string" required>
      Human-readable network name (e.g. `Ethereum`, `Solana`).
    </ResponseField>

    <ResponseField name="native_token" type="string" required>
      Ticker symbol of the network's native gas token (e.g. `ETH`, `SOL`, `BNB`).
    </ResponseField>

    <ResponseField name="chain_idff" type="integer | null" required>
      EVM-compatible chain ID. Returns `null` for non-EVM networks such as Solana.
    </ResponseField>

    <ResponseField name="explorer_url" type="string" required>
      Base URL of the network's block explorer. Useful for constructing transaction and address deep-links.
    </ResponseField>

    <ResponseField name="dex_count" type="integer" required>
      Number of DEX protocols currently indexed on this network.
    </ResponseField>
  </Expandable>
</ResponseField>

### Example Response

```json Example Response theme={null}
{
  "networks": [
    {
      "id": "ethereum",
      "name": "Ethereum",
      "native_token": "ETH",
      "chain_id": 1,
      "explorer_url": "https://etherscan.io",
      "dex_count": 24
    },
    {
      "id": "solana",
      "name": "Solana",
      "native_token": "SOL",
      "chain_id": null,
      "explorer_url": "https://solscan.io",
      "dex_count": 8
    }
  ]
}
```

***

## List DEXes on a Network

```http theme={null}
GET /networks/{network}/dexes
```

Returns every DEX protocol indexed on a specific network. Use the `network` IDs returned by `GET /networks` to build this path.

### Path Parameters

<ParamField path="network" type="string" required>
  The network ID to query (e.g. `ethereum`, `solana`). Retrieve the full list of valid IDs from `GET /networks`.
</ParamField>

### Code Examples

<CodeGroup>
  ```bash cURL theme={null}
  # Replace the token below with your actual API key from the DexUtils dashboard
  curl "https://api.dexutils.io/v1/networks/ethereum/dexes" \
    -H "Authorization: Bearer dxu_sk_live_4f8a2bcd9e1f3a7056c8d2e94b0f1c63"
  ```

  ```python Python theme={null}
  import requests

  # Replace with your actual API key from the DexUtils dashboard
  network = "ethereum"
  url = f"https://api.dexutils.io/v1/networks/{network}/dexes"
  headers = {"Authorization": "Bearer dxu_sk_live_4f8a2bcd9e1f3a7056c8d2e94b0f1c63"}

  response = requests.get(url, headers=headers)
  data = response.json()

  for dex in data["dexes"]:
      print(f"{dex['name']} — {dex['pool_count']} pools")
  ```

  ```javascript JavaScript theme={null}
  // Replace with your actual API key from the DexUtils dashboard
  const network = "ethereum";
  const response = await fetch(
    `https://api.dexutils.io/v1/networks/${network}/dexes`,
    {
      headers: {
        Authorization: "Bearer dxu_sk_live_4f8a2bcd9e1f3a7056c8d2e94b0f1c63",
      },
    }
  );

  const data = await response.json();

  data.dexes.forEach((dex) => {
    console.log(`${dex.name} — ${dex.pool_count} pools`);
  });
  ```
</CodeGroup>

### Response Fields

<ResponseField name="dexes" type="array" required>
  Array of DEX objects available on the requested network.

  <Expandable title="DEX object">
    <ResponseField name="id" type="string" required>
      Unique DEX identifier used as the `dex` query parameter in the Pools API (e.g. `uniswap_v3`, `sushiswap`).
    </ResponseField>

    <ResponseField name="name" type="string" required>
      Human-readable DEX name (e.g. `Uniswap V3`).
    </ResponseField>

    <ResponseField name="protocol" type="string" required>
      Protocol slug that identifies the underlying AMM design. Often matches `id` but may differ when multiple versions share the same protocol (e.g. `uniswap_v2`, `uniswap_v3`).
    </ResponseField>

    <ResponseField name="factory_address" type="string | null" required>
      On-chain address of the DEX factory contract. Returns `null` for non-EVM networks.
    </ResponseField>

    <ResponseField name="pool_count" type="integer" required>
      Total number of liquidity pools currently indexed for this DEX.
    </ResponseField>
  </Expandable>
</ResponseField>

### Example Response

```json Example Response theme={null}
{
  "dexes": [
    {
      "id": "uniswap_v3",
      "name": "Uniswap V3",
      "protocol": "uniswap_v3",
      "factory_address": "0x1F98431c8aD98523631AE4a59f267346ea31F984",
      "pool_count": 14823
    }
  ]
}
```

<Note>
  Pool counts are updated every 60 seconds. Newly deployed pools may take up to two minutes to appear in the `pool_count` total.
</Note>
