/api/sd/liquidity/rank
GETParzialePARTIAL

Monete classificate per profondità del book degli ordini

Monete classificate per profondità aggregata del book degli ordini (bid + ask) entro una fascia, con il numero di contratti inclusi e lo spread più stretto.

GET/api/sd/liquidity/rank

Richiesta

Parametri di query

NomeTipoObbligatorioPredefinitoValori ammessiDescrizione
marketstringFacoltativoperpperp, spotTipo di mercato. I book dei perpetui e quelli spot non vengono mai sommati.
bandstringFacoltativo10.5, 1, 2Distanza dal prezzo mid in percentuale.
limitintegerFacoltativo50≥ 1 · ≤ 200Numero di righe.

Richiesta di esempio

curl -s "https://www.coinboss.com/api/sd/liquidity/rank"

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 }`.
schemastring—ID dello schema di questa risposta. Cambia solo quando un campo esistente cambia significato o tipo.
nownumbermsOra del server al momento della composizione della risposta.
marketstring—`perp` o `spot`.
band_pctnumber%Fascia selezionata: distanza dal prezzo mid.
limitnumber—Limite di righe applicato.
total_coinsnumber—Monete che hanno almeno una riga del book degli ordini.
rowsarray—Una riga per moneta.
rows[]object—Una riga per moneta.
rows[].coinstring—Simbolo della moneta (in maiuscolo).
rows[].bid_depth_usdnumberUSDNozionale degli ordini bid in attesa tra il prezzo mid e il bordo inferiore della fascia. Un limite inferiore quando `complete` è false.
rows[].ask_depth_usdnumberUSDNozionale degli ordini ask in attesa tra il prezzo mid e il bordo superiore della fascia. Un limite inferiore quando `complete` è false.
rows[].total_depth_usdnumberUSDProfondità bid + profondità ask della fascia, usata solo come chiave di classifica.
rows[].n_includednumber—Righe incluse nella somma della profondità: aggiornate e complete per la fascia. Va letto insieme al valore di profondità.
rows[].n_freshnumber—Righe aggiornate.
rows[].n_rowsnumber—Righe trovate, comprese quelle obsolete.
rows[].mid_mediannumberUSDMediana del prezzo mid delle righe aggiornate.
rows[].spread_bps_minnumberbpSpread più stretto tra le righe aggiornate.
rows[].included_exchangesarray—Fonti i cui dati aggiornati sono inclusi.
rows[].included_exchanges[]string—Fonti i cui dati aggiornati sono inclusi.
rows[].uses_aggregated_bucketsboolean—True quando una riga inclusa ha usato bucket aggregati per prezzo, il che rende la somma un limite inferiore.
rows[].ranknumber—Posizione in classifica; `null` quando la riga non ha un valore da classificare.
coverageobject—Che cosa è incluso e che cosa non è incluso nei numeri. Confrontare questo dato prima di confrontare i totali con un'altra fonte.
coverage.included_exchangesarray—Fonti i cui dati aggiornati sono inclusi.
coverage.included_exchanges[]string—Fonti i cui dati aggiornati sono inclusi.
coverage.unavailablearray—Fonti che non è stato possibile includere, ciascuna con il motivo. Non vengono mai conteggiate come 0. vuoto nei campioni usati per generare questa tabella
coverage.stale_excludedarray—Righe escluse perché il loro ultimo aggiornamento è fuori dalla finestra di freschezza.
coverage.stale_excluded[]object—Righe escluse perché il loro ultimo aggiornamento è fuori dalla finestra di freschezza.
coverage.stale_excluded[].exchangestring—ID dell'exchange (in minuscolo).
coverage.stale_excluded[].age_snumbersSecondi trascorsi dalla ricezione della riga.
coverage.n_fresh_rowsnumber—Righe aggiornate su tutte le monete.
coverage.n_stale_rowsnumber—Righe obsolete su tutte le monete.
coverage.n_incomplete_rowsnumber—Righe aggiornate la cui istantanea non raggiunge il bordo della fascia.
methodobject—Enunciato in testo semplice delle formule usate per questa risposta, una voce per campo.
method.bid_depth_usdstring—Nota sulla formula di `bid_depth_usd`, in testo semplice.
method.ask_depth_usdstring—Nota sulla formula di `ask_depth_usd`, in testo semplice.
method.completestring—Nota sulla formula di `complete`, in testo semplice.
method.aggregatestring—Nota sulla formula di `aggregate`, in testo semplice.
method.freshstring—Nota sulla formula di `fresh`, in testo semplice.
method.rankstring—Nota sulla formula di `rank`, in testo semplice.
metaobject—Provenienza e freschezza di questa risposta.
meta.schemastring—ID dello schema di questa risposta. Cambia solo quando un campo esistente cambia significato o tipo.
meta.sourcearray—Endpoint pubblici a monte da cui sono stati raccolti i dati.
meta.source[]object—Endpoint pubblici a monte da cui sono stati raccolti i dati.
meta.source[].exchangestring—ID dell'exchange (in minuscolo).
meta.source[].marketstring—`perp` o `spot`.
meta.source[].endpointstring—Endpoint pubblico della fonte letto dal collector (mostrato a scopo di provenienza; i client non lo chiamano mai).
meta.observed_atnumbermsTimestamp indicato dalla fonte per i dati.
meta.received_atnumbermsOra in cui il collector di CoinBoss ha ricevuto i dati.
meta.fetched_atnumbermsOra in cui questa risposta è stata composta.
meta.windowstring—Finestra temporale coperta dai numeri.
meta.qualitystring—FRESH, PARTIAL, STALE, BROKEN o UNAVAILABLE, valutato dai timestamp dei dati e dalla copertura.
meta.is_staleboolean—True quando i dati sono più vecchi della loro finestra di freschezza.
meta.cache_ttl_snumbersDurata in cache di questa risposta.
meta.fallbackstring—Che cosa restituisce l'endpoint quando il collector o una fonte non funziona.
meta.collector_heartbeat_age_snumbersSecondi trascorsi dall'ultima volta in cui il collector ha segnalato di essere in esecuzione.

Generata 2026-11-11 23:00 UTC da 3 risposte reali.

Risposta di esempio

/api/sd/liquidity/rank · Risposta reale acquisita 2026-11-13 04:02:46 UTC. Array e mappe lunghi sono abbreviati per la visualizzazione: rows conteneva 50 elementi; meta.source conteneva 23 elementi; coverage.stale_excluded conteneva 23 elementi; rows[].included_exchanges conteneva 19 elementi; coverage.included_exchanges conteneva 23 elementi.

  • {
    • "success": true,
    • "schema": "coinboss.sd.liquidity/1",
    • "now": 1794542566023,
    • "market": "perp",
    • "band_pct": 1,
    • "limit": 50,
    • "total_coins": 89,
    • "rows": [
      • { … 12 },
      • { … 12 }
      ],
    • "coverage": {
      • "included_exchanges": [ … 8 ],
      • "unavailable": [],
      • "stale_excluded": [ … 2 ],
      • "n_fresh_rows": 1481,
      • "n_stale_rows": 82,
      • "n_incomplete_rows": 8
      },
    • "method": {
      • "bid_depth_usd": "sum of resting bid notional with price >= mid * (1 - band%), in USD; notional = price * size * contract_value (inverse contracts: size * contract_value); USDT /…",
      • "ask_depth_usd": "sum of resting ask notional with price <= mid * (1 + band%), in USD; same notional rule as bid_depth_usd",
      • "complete": "true when BOTH sides of the snapshot reach the band edge (reach_pct >= band) or the whole side of the book was returned; when false the depth values are lower b…",
      • "aggregate": "per market and band: sum over rows that are fresh AND complete for that band; n_included / n_fresh is the denominator; lower_bound_* additionally adds the incom…",
      • "fresh": "a row is fresh when now - received_at <= max(3 * period_s, 300s); stale rows are listed in coverage.stale_excluded; rows older than 24h are dropped",
      • "rank": "coins ordered by bid_depth_usd + ask_depth_usd of the chosen market and band, aggregated as in aggregate; coins with no fresh complete row carry nulls and sort …"
      },
    • "meta": {
      • "schema": "coinboss.sd.liquidity/1",
      • "source": [ … 2 ],
      • "observed_at": 1794542565862,
      • "received_at": 1794542565977,
      • "fetched_at": 1794542566023,
      • "window": "latest",
      • "quality": "PARTIAL",
      • "is_stale": false,
      • "cache_ttl_s": 30,
      • "fallback": "stale rows (older than max(3 * period_s, 300s)) are left out; coins whose rows are all stale or incomplete keep their place in the list with null depth",
      • "collector_heartbeat_age_s": 4
      }
    }

Campioni verificati

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

ParametriHTTPLatenzaRisultato
market=spot2005 msSuperato PARTIAL
band=0.5&limit=102007 msSuperato PARTIAL
limit=04002 msSuperato restituisce l'errore previsto

Verificato 2026-11-13 03:58:06 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
Stesso ciclo di raccolta di `/api/sd/liquidity`.
Finestra
Ultima istantanea per contratto.
Fonti dei dati
Istantanee REST pubbliche del book degli ordini di 24 exchange (mercati perpetui e spot), raccolte e archiviate da CoinBoss (sd_book_latest, sd_book_hist). Profondità e slippage sono calcolati da CoinBoss a partire dai livelli di prezzo grezzi.
Copertura degli exchange
24 exchange, 38 combinazioni exchange × mercato. Quando un'istantanea pubblica non raggiunge ±0.5 / 1 / 2 % dal prezzo mid (limite di livelli dell'exchange), quella fascia è contrassegnata con `complete: false`, il suo valore è un limite inferiore ed è esclusa dall'aggregato; `n_included` / `n_fresh` indicano il denominatore e `excluded_incomplete` elenca ciò che è stato escluso.
Paginazione
Nessuna paginazione; `limit` fissa il numero massimo di righe (max 200).
Ordinamento
`total_depth_usd` decrescente; le monete prive di righe complete e aggiornate vengono per ultime con `rank: null`.
Unità
Depth in USD notional, bid and ask side reported separately and never added. Spread and slippage in basis points (1 bp = 0.01 %). USDT / USDC / USD quotes are counted 1:1 as USD.
Timestamp
Millisecondi dall'epoca Unix (UTC), salvo diversa indicazione nella descrizione del campo
Formato della risposta
json
Stabilità
Stabile
Disponibile dal
2026-11-11

Stato in tempo reale

ParzialeVerificato 2026-11-13 04:02:46 UTCHTTP 2009 msSchema conformeDato più recente risalente a 0s fa

L'endpoint segnala una qualità dei dati PARTIAL

Disponibilità, ultimi 30 giorni

100% di 408 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/sd/liquidity/rankParziale
Parametri

string · predefinito perp — Market type. Perpetual and spot books are never added together.

string · predefinito 1 — Distance from mid price in percent.

integer · predefinito 50 · min 1 · max 200 — Number of rows.

URL della richiestahttps://www.coinboss.com/api/sd/liquidity/rank
Scegliere un endpoint e premere «Invia richiesta». La risposta, gli header e i tempi compariranno qui.