For the complete documentation index, see llms.txt. This page is also available as Markdown.

GET /stats/volume

Cumulative traded volume

Cumulative traded volume.

operationId: fetchCumulativeVolume

Not reachable through CCXT. Venue-wide analytics. CCXT models per-market data, not venue aggregates.

Authentication: none — this operation is public.

Cumulative traded notional in quote (USDX): the sum of price * quantity over deduplicated Fill events, counted once per fill (a fill carries both sides of the trade, so it is not doubled), liquidation prints included. Delisted markets keep contributing — a cumulative total must not fall when a market leaves the listing.

Returned as decimal STRINGS, not JSON numbers. The same accumulator reaches GET /markets/summary and GET /tickers through a lossy f64 conversion; this route does not, so the two surfaces can disagree in the last digits and this one is the exact figure.

This is not a 24h window. MarketSummary.volume_24h and Ticker.quoteVolume are the SAME accumulator under a misleading name: nothing decays either of them. Read GET /stats/volume when you want the cumulative figure stated honestly, with the coverage start that says what it is cumulative since.

coverage_start_ms is part of the contract, not a nicety. The figure is NOT cumulative since inception. This is an in-memory projection: whenever it is rebuilt, the total restarts from zero and coverage_start_ms moves forward with it. So compare the two across scrapes — a coverage_start_ms later than the one you saw last is what distinguishes a reset from a quiet venue, and a consumer that publishes the total alone is publishing a number that can silently drop. network names the chain network this indexer serves and testnet is the same fact as a boolean, both derived from auth.network rather than asserted (ENG-12796); note restates this in prose.

Responses

Status
Body
Meaning

200

CumulativeVolume

Cumulative traded notional, venue total and per market

Example

curl -X GET 'https://exchange.nexus.xyz/api/exchange/stats/volume'
import requests


response = requests.get("https://exchange.nexus.xyz/api/exchange/stats/volume")
response.raise_for_status()
print(response.json())
const response = await fetch("https://exchange.nexus.xyz/api/exchange/stats/volume", {
  method: "GET",
});
if (!response.ok) throw new Error(`${response.status} ${await response.text()}`);
console.log(await response.json());

Generated from eng/apps/exchange/api/openapi.json (spec 0.9.36). Do not edit by hand — regenerate with python3 product/docs/tools/api-reference/generate.py. Hand-authored context lives in the Guides pages.

Last updated