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

# List Exchanges

> Returns available exchanges and virtual aggregators

## Response

<ResponseField name="data.available" type="array">
  List of exchange names whose caches are currently online and queryable.
  Currently supported: `bybit`, `deribit`, `okx`.
</ResponseField>

<ResponseField name="data.virtual" type="array">
  List of virtual exchanges. Currently just `["all"]` — a cross-exchange
  aggregator that combines data from every available exchange.
</ResponseField>

<ResponseField name="meta.timestamp" type="string">
  ISO 8601 timestamp of when the response was generated.
</ResponseField>

<ResponseField name="meta.rate_limit" type="object">
  Your current rate limit status — `limit`, `remaining`, `reset`.
</ResponseField>

<RequestExample>
  ```bash cURL theme={null}
  curl https://api.gammaflip.io/api/v1/exchanges \
    -H "X-API-Key: gex_sk_your_key_here"
  ```

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

  resp = requests.get(
      "https://api.gammaflip.io/api/v1/exchanges",
      headers={"X-API-Key": "gex_sk_your_key_here"},
  )
  print(resp.json())
  ```

  ```javascript Node.js theme={null}
  const resp = await fetch("https://api.gammaflip.io/api/v1/exchanges", {
    headers: { "X-API-Key": "gex_sk_your_key_here" },
  });
  console.log(await resp.json());
  ```
</RequestExample>

<ResponseExample>
  ```json 200 OK theme={null}
  {
    "data": {
      "available": ["bybit", "deribit", "okx"],
      "virtual": ["all"]
    },
    "meta": {
      "timestamp": "2026-04-14T10:00:00+00:00",
      "rate_limit": {
        "limit": 500,
        "remaining": 499,
        "reset": "2026-04-15T00:00:00+00:00"
      }
    }
  }
  ```
</ResponseExample>
