/api/funding/chart
GETAvailable

Funding-rate chart series for one coin

Funding-rate chart series for one coin (per exchange)

GET/api/funding/chart
Contracts quoted in multiples of the coin (for example `1000PEPE`) are matched to the base coin. The OI-weighted line applies the current open-interest weights to every historical point; it is not weighted by the open interest of each past hour.

Request

Query parameters

NameTypeRequiredDefaultAllowed valuesDescription
coinstringOptionalBTC—Base coin symbol (uppercase, e.g. BTC). Example: BTC
hoursintegerOptional720≥ 24 · ≤ 2160Look-back window in hours. Example: 720

Example request

curl -s "https://www.coinboss.com/api/funding/chart?coin=BTC&hours=720"

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 }`.
coinstring—Coin symbol, upper case (for example BTC).
hoursnumber—Hourly values or number of hours.
exchangesarray—Exchanges.
exchanges[]string—Exchanges.
countnumber—Number of items.
dataarray—Payload.
data[]object—Payload.
data[].tsnumbermsTimestamp.
data[].ratesobject—Rates.
data[].rates.asternumber—Value for exchange `aster` (the key is the exchange id).
data[].rates.backpacknumber—Value for exchange `backpack` (the key is the exchange id). may be absent
data[].rates.binancenumber—Value for exchange `binance` (the key is the exchange id).
data[].rates.bingxnumber—Value for exchange `bingx` (the key is the exchange id).
data[].rates.bitfinexnumber—Value for exchange `bitfinex` (the key is the exchange id). may be absent
data[].rates.bitgetnumber—Value for exchange `bitget` (the key is the exchange id).
data[].rates.bitmexnumber—Value for exchange `bitmex` (the key is the exchange id). may be absent
data[].rates.bitunixnumber—Value for exchange `bitunix` (the key is the exchange id).
data[].rates.bybitnumber—Value for exchange `bybit` (the key is the exchange id).
data[].rates.coinbasenumber—Value for exchange `coinbase` (the key is the exchange id). may be absent
data[].rates.coinexnumber—Value for exchange `coinex` (the key is the exchange id).
data[].rates.cryptocomnumber—Value for exchange `cryptocom` (the key is the exchange id).
data[].rates.deribitnumber—Value for exchange `deribit` (the key is the exchange id). may be absent
data[].rates.dydxnumber—Value for exchange `dydx` (the key is the exchange id).
data[].rates.edgexnumber—Value for exchange `edgex` (the key is the exchange id). may be absent
data[].rates.gatenumber—Value for exchange `gate` (the key is the exchange id).
data[].rates.htxnumber—Value for exchange `htx` (the key is the exchange id). may be absent
data[].rates.hyperliquidnumber—Value for exchange `hyperliquid` (the key is the exchange id). may be absent
data[].rates.krakennumber—Value for exchange `kraken` (the key is the exchange id).
data[].rates.kucoinnumber—Value for exchange `kucoin` (the key is the exchange id).
data[].rates.lbanknumber—Value for exchange `lbank` (the key is the exchange id).
data[].rates.lighternumber—Value for exchange `lighter` (the key is the exchange id). may be absent
data[].rates.mexcnumber—Value for exchange `mexc` (the key is the exchange id).
data[].rates.okxnumber—Value for exchange `okx` (the key is the exchange id). may be absent
data[].rates.paradexnumber—Value for exchange `paradex` (the key is the exchange id). may be absent
data[].rates.whitebitnumber—Value for exchange `whitebit` (the key is the exchange id).
data[].oi_weightednumber—Open-interest-weighted value.
data[].avgnumber—Average.
pricearray—Last price in the quote currency (USD or USDT unless stated).
price[]object—Last price in the quote currency (USD or USDT unless stated).
price[].tsnumbermsTimestamp.
price[].pricenumber—Last price in the quote currency (USD or USDT unless stated).

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

Example response

/api/funding/chart?coin=BTC&hours=720 · Real response captured 2026-11-13 03:57:44 UTC. Long arrays and maps are shortened for display: data had 720 items; price had 720 items; exchanges had 26 items.

  • {
    • "success": true,
    • "coin": "BTC",
    • "hours": 720,
    • "exchanges": [
      • "binance",
      • "okx",
      • "bybit",
      • "bitget",
      • "gate",
      • "htx",
      • "coinex",
      • "bitmex"
      ],
    • "count": 720,
    • "data": [
      • { … 4 },
      • { … 4 }
      ],
    • "price": [
      • { … 2 },
      • { … 2 }
      ]
    }

Verified samples

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

ParametersHTTPLatencyResult
coin=ETH&hours=720200114 msPass
coin=SOL&hours=720200102 msPass
coin=ARKM&hours=72020084 msPass

Checked 2026-11-13 03:57:44 UTC

Details

Authentication
None. Public endpoint.
Rate limit
1200 requests per minute per IP
Server cache
5m
Edge micro-cache
10s
Update frequency
hourly archive at each UTC hour change (snapshot of the latest table); ClickHouse copy synced every 5 min
Window
hours param, default 720 h, range 24..2160 h; hourly points
Data sources
Current funding rates polled by in-house collectors from the public REST APIs of 24 perpetual venues (e.g. binance, okx, bybit, bitget, gate, hyperliquid).
Exchange coverage
exchanges whose contract is named COINUSDT, COIN-USDT-SWAP or COIN_USDT
Units
rates in percent per funding interval (raw rate x 100); price = 1 h kline close in USD; ts in Unix ms
Method
per hour: rates[exchange] = rate x 100; avg = simple mean; oi_weighted = SUM(rate x w) / SUM(w) where w = each exchange's CURRENT open interest (constant weights over the whole series)
Timestamps
Unix epoch milliseconds (UTC) unless the field description says otherwise
Response format
json
Stability
Stable

Live status

AvailableChecked 2026-11-13 03:57:44 UTCHTTP 200139 msSchema matchesNewest data point 58m old

Availability, last 30 days

100% of 410 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/funding/chartAvailable
Parameters

string · default BTC — Base coin symbol (uppercase, e.g. BTC).

integer · default 720 · min 24 · max 2160 — Look-back window in hours.

Request URLhttps://www.coinboss.com/api/funding/chart?coin=BTC&hours=720
Choose an endpoint and press “Send request”. The response, headers and timing will appear here.