# Agent402 Exchange Directory — List & Profile Crypto Exchanges

> Agent402 Exchange Directory — List & Profile Crypto Exchanges is a paid API for AI agents from agent402.tools, paid per call via x402, $0.005/call, status unknown (last checked 2026-09-15).

Returns a paginated list of cryptocurrency exchanges or a detailed profile for one exchange, including trust score, 24h BTC volume, country, and rank, sourced from CoinGecko.

## Facts

- Endpoint: GET https://agent402.tools/api/exchanges
- Price: $0.005/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-15
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/agent402-exchange-directory-list-profile-crypto-exchanges-0961e12f
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_86RHXgCdJJcv_GiV89wFG

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability agent402-exchange-directory-list-profile-crypto-exchanges-0961e12f
```

Example prompt: Show me the top 50 crypto exchanges ranked by trust score — I want to see their 24h BTC volume and which country they're based in.

## When to prefer this

Use this endpoint when an agent needs authoritative exchange metadata — trust scores, volume rankings, country of operation — sourced from CoinGecko, without requiring API keys or signup. Prefer this over direct CoinGecko calls when operating in a pay-per-call x402 context or when wallet-based identity is the authentication model. Best for one-off lookups or paginated listing of exchanges rather than streaming tick data.

## Known failure modes

- Invalid exchange ID returns empty result or 404-equivalent
- Page number out of range returns empty exchanges array
- Limit outside 1-100 range may be clamped or return an error
- CoinGecko upstream unavailable causes fetch failure with error response
- Stale cache may return slightly outdated volume data (indicated by cached:true flag)

## How this service works

Crypto exchanges ranked by trust score: id, name, country, year established, trust score (1-10) and rank, 24h volume in BTC (and normalized), centralized flag and URL; limit 1-100 (default 25). Pass `exchange` (an id such as binance, gdax, kraken) for ONE exchange's profile instead: the same fields plus description, trade volume incl. and excl. wash-trade normalization, ticker count and social links. Cached in-process for 5 minutes. Use exchange-tickers for an exchange's markets.

## Output

A JSON object with mode ('list' or 'profile'), pagination info, source attribution (CoinGecko), fetch timestamp, and an array of exchange objects each containing id, name, URL, rank, country, trust score, trust score rank, year established, centralized flag, 24h BTC volume, and normalized 24h BTC volume.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "$schema": "https://json-schema.org/draft/2020-12/schema",
 "required": [
  "input"
 ],
 "properties": {
  "input": {
   "type": "object",
   "required": [
    "type",
    "method"
   ],
   "properties": {
    "type": {
     "type": "string",
     "const": "http"
    },
    "method": {
     "enum": [
      "GET"
     ],
     "type": "string"
    },
    "queryParams": {
     "type": "object",
     "properties": {
      "page": {
       "type": "number",
       "description": "List mode: page number (default 1)."
      },
      "limit": {
       "type": "number",
       "description": "List mode: 1-100 exchanges (default 25)."
      },
      "exchange": {
       "type": "string",
       "description": "Profile mode: one exchange id (binance, gdax, kraken, okex, bybit_spot, ...)."
      }
     }
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": "object",
     "required": [
      "source",
      "fetchedAt",
      "cached",
      "mode",
      "page",
      "count",
      "exchanges"
     ],
     "properties": {
      "mode": {
       "type": "string"
      },
      "page": {
       "type": "integer"
      },
      "count": {
       "type": "integer"
      },
      "cached": {
       "type": "boolean"
      },
      "source": {
       "type": "string"
      },
      "exchanges": {
       "type": "array",
       "items": {
        "type": "object"
       }
      },
      "fetchedAt": {
       "type": "string"
      }
     }
    }
   }
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "mode": "list",
  "page": 1,
  "count": 1,
  "cached": false,
  "source": "coingecko",
  "exchanges": [
   {
    "id": "gdax",
    "url": "https://www.coinbase.com/",
    "name": "Coinbase Exchange",
    "rank": 1,
    "country": "United States",
    "trustScore": 10,
    "centralized": true,
    "volume24hBtc": 28651.7,
    "trustScoreRank": 1,
    "yearEstablished": 2012,
    "volume24hBtcNormalized": 28651.7
   }
  ],
  "fetchedAt": "2026-08-22T13:20:00.000Z"
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/agent402-exchange-directory-list-profile-crypto-exchanges-0961e12f/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from agent402.tools](https://www.zero.xyz/host/agent402.tools/llms.txt)
