/api/exchanges/detail
GETAvailable

Derivatives overview for one exchange

Derivatives overview for one exchange (OI, volume, coin count, ...)

GET/api/exchanges/detail

Request

Query parameters

NameTypeRequiredDefaultAllowed valuesDescription
exstringRequired——Exchange id (lower-cased, a-z0-9. only); 400 when missing. Example: binance

Example request

curl -s "https://www.coinboss.com/api/exchanges/detail?ex=binance"

Response fields

The field table is generated from real responses, so it lists exactly what the endpoint returns. Paths use a[] for array items and {*} for objects keyed by a dynamic name such as a coin or an exchange.

FieldTypeUnitDescription
successboolean—true when the request succeeded. On failure the body is `{ success: false, code, error, request_id }`.
dataobject—Payload.
data.exchangestring—Exchange id, lower case (for example `binance`).
data.namestring—Name.
data.volume_usdnumberUSDVolume in USD notional.
data.oi_usdnumberUSDOpen interest in USD notional.
data.liq_24h_longnumber—24h liquidated longs.
data.liq_24h_shortnumber—24h liquidated shorts.
data.liq_24h_totalnumber—24h liquidations total.
data.liq_24h_cntnumbercountNumber of liquidation orders recorded on the exchange in the last 24 hours; null when the exchange has no liquidation feed.
data.liq_sourceboolean—True when liquidation records exist for this exchange in the last 7 days; when false the `liq_24h_*` fields are null, not zero.
data.contractsnumber—Per-contract rows.
data.options_vol_usdnullUSDReserved for the exchange's options volume; not populated at present, so the value is always null.
data.taker_feenumber%Base-tier taker fee for USDT perpetuals from the exchange's public fee schedule (0.05 = 0.05 %); static reference value, null when unknown.
data.maker_feenumber%Base-tier maker fee for USDT perpetuals from the exchange's public fee schedule (0.02 = 0.02 %); static reference value, null when unknown.
data.is_dexboolean—True for decentralised perpetual exchanges (for example Hyperliquid, dYdX, Aster), false for centralised ones.
data.scorenumber—Score.
data.has_lsboolean—True when long/short ratio data is available for this exchange.
data.total_assets_usdnumber|nullUSDTotal assets held in the exchange's disclosed wallets (same value as `reserve.tvl_usd`), from a third-party source; null when not covered.
data.reserveobject|null—Reserve snapshot of the exchange's disclosed wallets from a third-party source, refreshed about every 6 hours; null when the exchange is not covered.
data.reserve.tvl_usdnumberUSDTotal value locked.
data.reserve.clean_tvl_usdnumberUSDWallet assets excluding the exchange's own platform token, as defined by the third-party source; null when not published.
data.reserve.inflow_24hnumberUSDNet inflow into the exchange's wallets over the last 24 hours (negative = net outflow), as reported by the third-party source.
data.reserve.inflow_1wnumberUSDNet inflow into the exchange's wallets over the last 7 days (negative = net outflow), as reported by the third-party source.
data.reserve.inflow_1mnumberUSDNet inflow into the exchange's wallets over the last month (negative = net outflow), as reported by the third-party source.
data.reserve.wallets_linkstring—URL of the exchange's own wallet or proof-of-reserves disclosure; null when none is known.
data.reserve.updated_atnumbermsWhen this row was last updated.
data.dist_oiarray—Top 20 coins by open interest on this exchange, largest first; contracts not updated recently are excluded.
data.dist_oi[]object—One coin: `coin` is the base asset and `v` its open interest on this exchange in USD.
data.dist_oi[].coinstring—Coin symbol, upper case (for example BTC).
data.dist_oi[].vnumber—Value.
data.dist_volarray—Top 20 coins by 24-hour futures volume on this exchange, largest first; tickers not updated within 1 hour are excluded.
data.dist_vol[]object—One coin: `coin` is the base asset and `v` its 24-hour volume on this exchange in USD.
data.dist_vol[].coinstring—Coin symbol, upper case (for example BTC).
data.dist_vol[].vnumber—Value.

Generated 2026-11-11 23:00 UTC from 3 real responses.

Example response

/api/exchanges/detail?ex=binance · Real response captured 2026-11-13 03:52:50 UTC. Long arrays and maps are shortened for display: data.dist_oi had 20 items; data.dist_vol had 20 items.

  • {
    • "success": true,
    • "data": {
      • "exchange": "binance",
      • "name": "Binance",
      • "volume_usd": 65939302653.96,
      • "oi_usd": 24379577678.85,
      • "liq_24h_long": 417516080.56,
      • "liq_24h_short": 15925112.83,
      • "liq_24h_total": 433441193.39,
      • "liq_24h_cnt": 45872,
      • "liq_source": true,
      • "contracts": 762,
      • "options_vol_usd": null,
      • "taker_fee": 0.05,
      • "maker_fee": 0.02,
      • "is_dex": false,
      • "score": 96,
      • "has_ls": true,
      • "total_assets_usd": 121135381605.44,
      • "reserve": { … 7 },
      • "dist_oi": [ … 2 ],
      • "dist_vol": [ … 2 ]
      }
    }

Verified samples

Besides the example above, the probe calls this endpoint with these parameters and checks the schema each time.

ParametersHTTPLatencyResult
ex=okx200164 msPass
ex=hyperliquid200179 msPass
—4001 msPass returns the expected error

Checked 2026-11-13 03:28:10 UTC

Details

Authentication
None. Public endpoint.
Rate limit
1200 requests per minute per IP
Server cache
30s
Edge micro-cache
10s
Update frequency
tickers every 1 min; OI every 5 min; reserves every 6 h; in-memory cache 30 s
Window
24h rolling volume and liquidations
Data sources
Per-exchange profile aggregated from the exchange's public API (volume, OI, contracts), liquidation streams and third-party source CEX reserve data.
Exchange coverage
Any collected derivatives venue; reserves only for the 10 venues tracked from a third-party source
Pagination
none
Units
USD; score 1-99
Method
score = clamp(1..99, round(log10(vol + 10) / 11.2 * 70 + log10(oi + 10) / 11 * 30))
Timestamps
Unix epoch milliseconds (UTC) unless the field description says otherwise
Response format
json
Stability
Stable

Live status

AvailableChecked 2026-11-13 03:52:50 UTCHTTP 200177 msSchema matchesNewest data point 4.7h old

Availability, last 30 days

100% of 409 checks passed

Errors

Failed calls share one shape on every endpoint. The full list is on the errors page. Errors and rate limits →

CodeHTTPMeaningWhat to do
INVALID_PARAM400A required parameter is missing or a value is not accepted. `param` names the parameter when it is known.Do not retry unchanged; fix the request.
UNAUTHORIZED401The `CB-API-KEY` header was sent but the key is unknown or revoked. Public data needs no key — drop the header or use a valid key.Do not retry unchanged.
FORBIDDEN403The route is not part of the public API (internal or account-only).Do not retry.
NOT_FOUND404Unknown route, or the requested coin / exchange / fund does not exist.Do not retry; check the path and identifiers against the catalog.
RATE_LIMITED429More requests than the per-minute limit. `Retry-After` gives the seconds to wait.Wait for `Retry-After`, then retry with backoff.
INTERNAL500Unexpected server error. The message is generic by design; quote `request_id` when reporting it.Retry once after a few seconds; report it with the request id if it persists.
UPSTREAM_FAILED503The data source behind this endpoint did not answer in time. No stale or substitute numbers are returned in its place.Retry with backoff; check the status page.
UNAVAILABLE501 / 503The dataset is temporarily not ready (cache warming) or the endpoint has no lawful public source yet.Retry later; the catalog marks endpoints that are unavailable by design.
REQUEST_FAILED200Some older endpoints answer HTTP 200 with `success: false`. Always check `success`, not only the HTTP status.Depends on the message; treat as a failed request.

Try it

GET/api/exchanges/detailAvailable
Parameters

string — Exchange id (lower-cased, a-z0-9. only); 400 when missing.

Request URLhttps://www.coinboss.com/api/exchanges/detail?ex=binance
Choose an endpoint and press “Send request”. The response, headers and timing will appear here.