/api/currency/ex-table
GETDisponibile

Tabella degli exchange della pagina moneta

Tabella degli exchange della pagina moneta (prezzo, volume, OI e finanziamento per exchange; spot o futures)

GET/api/currency/ex-table

Richiesta

Parametri di query

NomeTipoObbligatorioPredefinitoValori ammessiDescrizione
coinstringObbligatorio——Simbolo della moneta di base (in maiuscolo, ad es. BTC). Esempio: BTC
marketstringFacoltativofuturesfutures, spot, perpetual, delivery, all`futures` (default) and `spot` return one row per exchange (`futures` one row per contract with `group=pair`). `perpetual`, `delivery` and `all` always return one row per market: perpetual contracts only, dated futures only, or every spot, perpetual and delivery market of the coin in one list. Any other value is treated as `futures`. Esempio: futures
groupstringFacoltativo—pair`pair` returns one row per contract instead of one row per exchange. Each row then carries `status`, `status_reason`, `market_type`, `expiry_ts`, `expiry_date`, `native_symbol`, `quote`, `margin_type`, `price_source`, `price_at` and `rank`, and the response adds a `meta` object. Rows whose `status` is not `active` (no live quote, no feed, expired) carry no price.

Richiesta di esempio

curl -s "https://www.coinboss.com/api/currency/ex-table?coin=BTC&market=futures"

Campi della risposta

La tabella dei campi è generata da risposte reali, quindi elenca esattamente ciò che l'endpoint restituisce. I percorsi usano a[] per gli elementi di un array e {*} per gli oggetti indicizzati da un nome dinamico, come una moneta o un exchange.

CampoTipoUnitàDescrizione
successboolean—true quando la richiesta è riuscita. In caso di errore il corpo è `{ success: false, code, error, request_id }`.
coinstring—Simbolo della moneta, in maiuscolo (per esempio BTC).
marketstring—Mercato.
dataarray—Payload.
data[]object—Payload.
data[].exchangestring—ID dell'exchange, in minuscolo (per esempio `binance`).
data[].namestring—Nome.
data[].pairstring|null—Exchange symbol of the row's contract: the highest-volume contract of the exchange, or the exact contract with `group=pair` (the symbol as CoinBoss normalises it; the name used by the exchange is `native_symbol`); null when the exchange has open interest but no ticker.
data[].pricenumber|null—Ultimo prezzo nella valuta di quotazione (USD o USDT, salvo diversa indicazione).
data[].change_pctnumber|null%Variazione percentuale.
data[].volume_usdnumber|nullUSDVolume in nozionale USD.
data[].oi_usdnumber|nullUSDOpen interest in nozionale USD.
data[].ls_rationumber|null—Rapporto long/short.
data[].liq_longnumber|null—Long liquidati.
data[].liq_shortnumber|null—Short liquidati.
data[].fundingnumber|null—Blocco o valore del tasso di finanziamento.
data[].funding_interval_hnumber|nullhIntervallo di finanziamento. può essere assente
data[].funding_8hnumber|nullfraction`funding` normalizzato a un intervallo di 8 ore: tasso × 8 ÷ `funding_interval_h` (0.0001 = 0.01 %); null quando l'intervallo di regolamento è sconosciuto. può essere assente
data[].next_funding_timenumber|nullmsTimestamp. può essere assente
data[].multipliernumberxNumero di monete rappresentato da un'unità quotata del contratto (1000 per i contratti del tipo 1000PEPE, altrimenti 1). può essere assente
data[].vol_change_pctnumber|null%Variazione del volume a 24h dell'exchange rispetto alla sua istantanea oraria acquisita 23–25 ore prima; null in assenza di un'istantanea o sulle righe non primarie.
data[].oi_change_pctnumber|null%Variazione dell'open interest dell'exchange rispetto all'istantanea oraria degli stessi contratti più vicina a 24 ore fa (±1 h); null quando non esiste una base di confronto.
data[].oi_vol_change_pctnumber|null%Variazione del rapporto open interest ÷ volume a 24h rispetto allo stesso rapporto di 24 ore prima.
data[].price_rawnumber|nullUSDUltimo prezzo esattamente come l'exchange quota il contratto, prima della divisione per `multiplier`; coincide con `price` quando `multiplier` è 1. può essere assente
data[].liquidity_usdnumber|nullUSDNozionale del book degli ordini, bid più ask, entro ±1 % dal prezzo medio su questo exchange; è un limite inferiore quando `liquidity_complete` è false. può essere assente
data[].liquidity_reach_pctnumber%Distanza dal prezzo medio effettivamente coperta dal book degli ordini restituito dall'exchange: la minore tra il lato bid e il lato ask. può essere assente
data[].liquidity_completeboolean—True quando il book degli ordini restituito raggiunge l'intera fascia di ±1 % su entrambi i lati; false significa che `liquidity_usd` è sottostimato. può essere assente
data[].oi_vol_rationumber|null—Open interest diviso per il volume a 24h.
data[].pair_dispstring—Forma di visualizzazione della coppia come base/quotazione (`BTC/USDT`, `1000PEPE/USDT`, `BTC/USD` per il CME e per le piattaforme con margine in USD).
data[].contract_typestring|null—`perpetual` or `delivery` (dated futures); null on spot rows. With `group=pair` it comes from the exchange's contract specification where CoinBoss has one, otherwise from the expiry code in the symbol.
data[].expirystring(decimal)|null—Expiry date code YYMMDD of a dated contract. With `group=pair` it is derived from `expiry_ts` for every contract that has an expiry; otherwise it is the six-digit symbol suffix. Null for contracts without an expiry and for CME rows.
data[].market_typestring—`spot`, `perpetual` or `delivery`. può essere assente
data[].expiry_tsnumber|nullmsExpiry / delivery time of the contract, Unix milliseconds; null when the contract has no expiry or the exchange does not publish one. può essere assente
data[].expiry_datestring|null—Expiry date as YYYY-MM-DD (UTC); null when the contract has no expiry. può essere assente
data[].native_symbolstring|null—Contract name exactly as the exchange lists it (`BTCUSDT_270326`, `BTC-PERPETUAL`, `XBTMZ26`); null when CoinBoss holds no contract specification for the venue and on spot rows. può essere assente
data[].quotestring|null—Quote currency of the contract or spot pair (`USDT`, `USDC`, `USD`, …). può essere assente
data[].margin_typestring|null—Margin asset class from the contract specification: `usdt`, `usdc`, `coin`, `usd` or `other`; null when unknown and on spot rows. può essere assente
data[].statusstring—Market state of the row (only with `group=pair` and `market=spot`): `active` = a real quote received within the last hour and a 24h volume above zero; `no_quote` = the contract is listed but has no usable quote, see `status_reason`; `not_provided` = the exchange publishes no real-time ticker that CoinBoss collects (CME); `expired` = the contract is past its expiry. Rows that are not `active` carry no price. può essere assente
data[].status_reasonstring|null—Why a row is not `active`: `expired`, `no_realtime_feed`, `quote_stale` (last quote older than one hour), `no_price`, `no_volume` (the exchange reports no 24h volume) or `no_trades_24h` (the reported 24h volume is zero). Null on active rows. può essere assente
data[].price_sourcestring|null—Dataset the row's price and volume were read from: `market_tickers`, `sd_contract_latest` or `spot_coin_ex_vol`; null when no ticker exists for the contract. può essere assente
data[].price_atnumber|nullmsTime the row's ticker was received, Unix milliseconds. On rows that are not `active` it is the time of the last ticker seen (no price is returned for it), or null. può essere assente
data[].symbolstring—Symbol of the row as CoinBoss stores it (`BTCUSDT`, `BTCUSD_270326`, `BTC-27NOV26`); same value as `pair` on contract rows, base + quote on spot rows. The name used by the exchange is `native_symbol`. può essere assente
data[].basestring—Underlying of the contract or spot pair as traded. Contracts quoted in multiples of the coin keep the multiplier (`1000PEPE`). può essere assente
data[].market_statusstring—State of the market: `ACTIVE` = not expired, a quote of this market received within the last hour and a 24h volume above zero; `EXPIRING` = active and the exchange lists its expiry within the next 24 hours; `EXPIRED` = past its expiry; `STALE` = the last quote is older than one hour; `NO_QUOTE` = no usable quote, see `reason_code`. Only `ACTIVE` and `EXPIRING` rows carry a price and a `rank`. può essere assente
data[].reason_codestring|null—Why the row carries no price: `NO_QUOTE` (listed, but no trades in 24h or no last price / volume reported), `EXPIRED`, `STALE`, or `UNAVAILABLE` (CoinBoss collects no real-time ticker for this market, e.g. CME). Null on `ACTIVE` and `EXPIRING` rows. The finer cause is in `status_reason`. può essere assente
data[].source_atnumber|nullmsTime the ticker behind this row was received from the exchange, Unix milliseconds; null when no ticker exists. Same value as `price_at`. può essere assente
data[].qualitystring—`live` = `source_at` within the last hour, `stale` = older, `none` = no ticker for this market. può essere assente
data[].is_staleboolean—True when `quality` is `stale`. può essere assente
data[].expires_in_snumber|nullsSeconds until the expiry of the contract at the time the table was assembled; negative once expired; null when the contract has no expiry. può essere assente
data[].ranknumber|null—Position among rankable rows (`market_status` `ACTIVE` or `EXPIRING`) ordered by `volume_usd` descending, starting at 1 and counted inside the requested view; null on rows that are not rankable. può essere assente
data[].marketstring—Mercato. può essere assente
metaobject—Table-level information: grouping, freshness and volume windows, sort rule and row counts. Present with `group=pair` and with `market=spot`, `perpetual`, `delivery` or `all`. può essere assente
meta.groupstring—`pair` = one row per contract, `exchange` = one row per spot venue. può essere assente
meta.as_ofnumbermsTime the table was assembled, Unix milliseconds. può essere assente
meta.fresh_window_snumbersMaximum age of a quote for a row to count as `active`. può essere assente
meta.expiring_window_snumbersA contract whose expiry is closer than this is reported as `EXPIRING`. può essere assente
meta.volume_windowstring—Window of `volume_usd`: `24h_rolling`, the rolling 24-hour turnover each exchange reports. può essere assente
meta.volume_unitstring—Unit of `volume_usd`. può essere assente
meta.sortstring—Row order of the response in words. può essere assente
meta.countsobject—Number of rows per `status`. può essere assente
meta.counts.activenumbercountRows with `status=active`. può essere assente
meta.counts.no_quotenumbercountRows with `status=no_quote`. può essere assente
meta.counts.not_providednumbercountRows with `status=not_provided`. può essere assente
meta.counts.expirednumbercountRows with `status=expired`. può essere assente
meta.market_status_countsobject—Number of rows per `market_status`. può essere assente
meta.market_status_counts.ACTIVEnumbercountRows with `market_status=ACTIVE`. può essere assente
meta.market_status_counts.EXPIRINGnumbercountRows with `market_status=EXPIRING`. può essere assente
meta.market_status_counts.EXPIREDnumbercountRows with `market_status=EXPIRED`. può essere assente
meta.market_status_counts.NO_QUOTEnumbercountRows with `market_status=NO_QUOTE`. può essere assente
meta.market_status_counts.STALEnumbercountRows with `market_status=STALE`. può essere assente
meta.type_countsobject—Number of rows per market type. può essere assente
meta.type_counts.spotnumbercountSpot rows in the response. può essere assente
meta.type_counts.perpetualnumbercountPerpetual rows in the response. può essere assente
meta.type_counts.deliverynumbercountDelivery (dated futures) rows in the response. può essere assente
meta.type_rankableobject—Number of rankable rows (`ACTIVE` or `EXPIRING`) per market type. può essere assente
meta.type_rankable.spotnumbercountSpot rows that are rankable (`ACTIVE` or `EXPIRING`). può essere assente
meta.type_rankable.perpetualnumbercountPerpetual rows that are rankable. può essere assente
meta.type_rankable.deliverynumbercountDelivery rows that are rankable. può essere assente

Generata 2026-11-12 10:57 UTC da 9 risposte reali.

Risposta di esempio

/api/currency/ex-table?coin=BTC&market=futures · Risposta reale acquisita 2026-11-13 03:57:28 UTC. Array e mappe lunghi sono abbreviati per la visualizzazione: data conteneva 24 elementi.

  • {
    • "success": true,
    • "coin": "BTC",
    • "market": "futures",
    • "data": [
      • { … 26 },
      • { … 26 }
      ]
    }

Campioni verificati

Oltre all'esempio qui sopra, la sonda chiama questo endpoint con i parametri seguenti e ogni volta ne verifica lo schema.

ParametriHTTPLatenzaRisultato
coin=BTC&market=all200139 msSuperato
coin=BTC&market=perpetual2001 msSuperato
coin=BTC&market=delivery2002 msSuperato
coin=BTC&group=pair&market=futures2002 msSuperato
coin=BTC&market=spot2001 msSuperato
coin=ETH&market=futures200105 msSuperato
coin=SOL&market=futures20067 msSuperato
coin=ARKM&market=futures20055 msSuperato

Verificato 2026-11-13 03:57:28 UTC

Dettagli

Autenticazione
Nessuna. Endpoint pubblico.
Limite di richieste
1200 richieste al minuto per IP
Cache del server
30s
Micro-cache edge
10s
Frequenza di aggiornamento
ticker / OI / finanziamento da ogni 60 s a ogni 5 min; profondità del book degli ordini ogni 5 min; volume spot ogni 10 min; liquidazioni in tempo reale
Finestra
ultima istantanea (ticker 1 h, OI 3 h, finanziamento 4 h, long/short 24 h, profondità 30 min); variazioni a 24 h rispetto agli archivi orari
Fonti dei dati
Statistiche futures e spot per exchange di una moneta, composte dai collector di CoinBoss che interrogano le API pubbliche di circa 30 exchange (ad es. binance, okx, bybit, bitget, gate, hyperliquid).
Copertura degli exchange
futures: tutti gli exchange con un ticker aggiornato per la moneta (fino a 24); profondità da 15 exchange per circa 28 monete; spot (market=spot): 14 exchange spot
Ordinamento
volume_usd desc. With `group=pair` and with `market=spot|perpetual|delivery|all`: rankable rows (`market_status` ACTIVE or EXPIRING) first by volume_usd desc (these carry `rank`), then rows without a live quote by oi_usd desc, expired contracts last; ties by expiry, exchange and symbol, so every request made at the same moment gets the same order
Unità
price in USD (multiplier contracts normalized to one coin); volume / OI / liquidations / depth in USD; funding as raw fraction and 8 h-normalized fraction; changes in percent
Metodo
per exchange (futures): volume = SUM(volume_usd); funding_8h = rate x 8 / interval_hours of the largest-OI contract; depth_1pct_usd = bid + ask notional within +/- 1% of mid; OI 24 h change by same-contract pairing; volume change vs the ticker archive 23-25 h earlier; liquidations = 24 h SUM(value_usd)
Timestamp
Millisecondi dall'epoca Unix (UTC), salvo diversa indicazione nella descrizione del campo
Formato della risposta
json
Stabilità
Stabile

Stato in tempo reale

DisponibileVerificato 2026-11-13 03:57:28 UTCHTTP 200139 msSchema conforme

Disponibilità, ultimi 30 giorni

99.76% di 411 verifiche superate

Errori

Le chiamate non riuscite hanno la stessa struttura su tutti gli endpoint. L'elenco completo è nella pagina degli errori. Errori e limiti di richieste →

CodiceHTTPSignificatoChe cosa fare
INVALID_PARAM400Manca un parametro obbligatorio oppure un valore non è accettato. `param` indica il nome del parametro quando è noto.Non riprovare senza modifiche; correggere la richiesta.
UNAUTHORIZED401L'header `CB-API-KEY` è stato inviato ma la chiave è sconosciuta o revocata. I dati pubblici non richiedono alcuna chiave: rimuovere l'header o usare una chiave valida.Non riprovare senza modifiche.
FORBIDDEN403La route non fa parte dell'API pubblica (interna o riservata agli account).Non riprovare.
NOT_FOUND404Route sconosciuta, oppure la moneta / l'exchange / il fondo richiesto non esiste.Non riprovare; verificare il percorso e gli identificatori nel catalogo.
RATE_LIMITED429Più richieste del limite al minuto. `Retry-After` indica i secondi da attendere.Attendere `Retry-After`, poi riprovare con backoff.
INTERNAL500Errore imprevisto del server. Il messaggio è volutamente generico; citare `request_id` quando lo si segnala.Riprovare una volta dopo qualche secondo; se persiste, segnalarlo con l'ID della richiesta.
UPSTREAM_FAILED503La fonte di dati alla base di questo endpoint non ha risposto in tempo. Al suo posto non vengono restituiti numeri obsoleti o sostitutivi.Riprovare con backoff; controllare la pagina di stato.
UNAVAILABLE501 / 503Il dataset è temporaneamente non pronto (riscaldamento della cache) oppure l'endpoint non ha ancora una fonte pubblica lecita.Riprovare più tardi; il catalogo contrassegna gli endpoint non disponibili per scelta progettuale.
REQUEST_FAILED200Alcuni endpoint meno recenti rispondono HTTP 200 con `success: false`. Controllare sempre `success`, non solo lo stato HTTP.Dipende dal messaggio; trattare come una richiesta non riuscita.

Prova

GET/api/currency/ex-tableDisponibile
Parametri

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

string · predefinito futures — `futures` (default) and `spot` return one row per exchange (`futures` one row per contract with `group=pair`). `perpetual`, `delivery` and `all` always return one row per market: perpetual contracts only, dated futures only, or every spot, perpetual and delivery market of the coin in one list. Any other value is treated as `futures`.

string — `pair` returns one row per contract instead of one row per exchange. Each row then carries `status`, `status_reason`, `market_type`, `expiry_ts`, `expiry_date`, `native_symbol`, `quote`, `margin_type`, `price_source`, `price_at` and `rank`, and the response adds a `meta` object. Rows whose `status` is not `active` (no live quote, no feed, expired) carry no price.

URL della richiestahttps://www.coinboss.com/api/currency/ex-table?coin=BTC&market=futures
Scegliere un endpoint e premere «Invia richiesta». La risposta, gli header e i tempi compariranno qui.