Skip to main content
Loading market data…
GET/api/v1/on-chain/stablecoin/exchange-reservesStartup tier+ · 80 req/min

Latest stablecoin balances held on major exchange wallets.

Aggregates the shared `exchange_balance` feed down to stablecoin symbols only, de-dups per (exchange, symbol) with the newest snapshot winning, and sorts by USD notional descending. Rising stablecoin reserves on exchanges are a classic 'dry powder' signal for incoming spot buys.

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; ... }
// }

{
  reserves: Array<{
    exchange: string;
    symbol: string;
    ts: number;
    balanceUsd: number | null;
  }>;
}

Example

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

Requestbash
curl -sS "http://localhost:3000/api/v1/on-chain/stablecoin/exchange-reserves" \
  -H "Authorization: Bearer cg_live_YOUR_KEY"
Responsejson
{
  "data": {
    "reserves": [
      { "exchange": "binance", "symbol": "USDT", "ts": 1744834800000, "balanceUsd": 18400000000 },
      { "exchange": "coinbase", "symbol": "USDC", "ts": 1744834800000, "balanceUsd": 5200000000 }
    ]
  },
  "meta": { "total": 2 }
}

Notes

  • Depends on the wallet-scraper worker emitting stablecoin-flavoured rows.
  • Empty response carries `meta.unavailable = "no-data"` — a 200, not a 500.

Next

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