Skip to main content

24hr Ticker Price Change Statistics

Type: NONE

Weight: 5

GET /fapi/v1/ticker/24hr

24-hour rolling window of price-change statistics — aggregated from ledger.trades in a single SQL query.

Request

GET /fapi/v1/ticker/24hr?symbol=BTCUSDT

Query params

NameTypeRequiredNotes
symbolstringnoStandard pair (e.g. BTCUSDT). Omit to receive an array covering all symbols.

Response — 200 (single-symbol form, full standard shape)

{
"symbol": "BTCUSDT",
"priceChange": "-876.620000000000000000",
"priceChangePercent": "-1.134",
"weightedAvgPrice": "77160.502399075278138997",
"lastPrice": "76406.000000000000000000",
"lastQty": "0.000500000000000000",
"openPrice": "77282.620000000000000000",
"highPrice": "78238.300000000000000000",
"lowPrice": "76061.930000000000000000",
"volume": "6.921000000000000000",
"quoteVolume": "534027.837104000000000000",
"openTime": 1779715560680,
"closeTime": 1779801931721,
"firstId": 0,
"lastId": 0,
"count": 20422
}

Omitting symbol returns an array of the same object shape, one row per symbol with trades in the window.

FieldNotes
priceChangePercentFormatted to 3 decimals; "0" if openPrice is zero (no trades).
weightedAvgPriceSUM(price * qty) / SUM(qty) rounded to 18 decimal places.
firstId / lastIdSynthetic 0 — Rocky does not yet expose monotonic trade ids on this surface.
openTime / closeTimeFirst / last trade timestamp in the 24h window.

Edge case: if the symbol exists but has no trades in the last 24 hours, the single-symbol form returns a zero-row object (all numeric strings "0", times = now) so SDKs don't have to special-case empty responses.

Errors

HTTPcodemsg
400-1100Unknown symbol.
500-1000Database error.

Also available on Rocky's native Web v1 surface: GET /v1/markets/{symbol}/ticker — returns Rocky's {symbol, last_price, mark_price, high_24h, low_24h, open_24h, price_change_pct_24h, volume_24h, open_interest, ts_ms} shape (also includes oracle mark_price, which the standard /fapi/v1/ticker/24hr does not).