Skip to main content
Loading market data…
GET/api/v1/coins/{base}/exchangesHobbyist tier+ · 30 req/min

Per-exchange snapshot for a single base asset — one row per venue.

Folds the three per-exchange breakdowns from `/coins/{base}` into a single denormalised row per venue. Each row carries latest OI (USD), 24h notional volume (USD), latest funding rate + interval, and the distinct instrument count covering this base on that venue. Venues with zero activity across every metric are dropped. Sorted by OI descending.

Path parameters

Segments of the URL path, validated server-side.

NameTypeRequiredDefaultDescription
basestringrequired
Base asset code.

Query parameters

This endpoint takes no query parameters.

Response shape

Always wrapped in the standard envelope. Nullable fields are explicitly marked — treat missing numeric data as a real data-source gap, not as an error.

data payloadtypescript
// Wrapped in the standard envelope:
// {
//   data: /* shape below */,
//   meta?: { total?: number; limit?: number; offset?: number; ... }
// }

{
  base: string;
  exchanges: Array<{
    source: string;
    oiUsd: number;
    volume24hUsd: number;
    fundingRate: number | null;
    fundingIntervalHours: number | null;
    fundingTs: number | null;
    instrumentCount: number;
  }>;
}

Example

Copy the curl, replace YOUR_KEY with a real key from your dashboard, and run.

Requestbash
curl -sS "http://localhost:3000/api/v1/coins/BTC/exchanges" \
  -H "Authorization: Bearer cg_live_YOUR_KEY"
Responsejson
{
  "data": {
    "base": "BTC",
    "exchanges": [
      { "source": "binance_futures", "oiUsd": 9800000000, "volume24hUsd": 14200000000, "fundingRate": 0.00010, "fundingIntervalHours": 8, "fundingTs": 1744834800000, "instrumentCount": 2 }
    ]
  },
  "meta": { "total": 1 }
}

Next

Check the error code reference, or get an API key to try the request against your own account.