/api/currency/ex-table
GETDisponível

Tabela de corretoras da página da moeda

Tabela de corretoras da página da moeda (preço, volume, OI e financiamento por corretora; spot ou futuros)

GET/api/currency/ex-table

Requisição

Parâmetros de consulta

NomeTipoObrigatórioPadrãoValores aceitosDescrição
coinstringObrigatório——Símbolo da moeda base (em maiúsculas, p. ex., BTC). Exemplo: BTC
marketstringOpcionalfuturesfutures, 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`. Exemplo: futures
groupstringOpcional—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.

Exemplo de requisição

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

Campos da resposta

A tabela de campos é gerada a partir de respostas reais, portanto lista exatamente o que o endpoint retorna. Os caminhos usam a[] para itens de array e {*} para objetos indexados por um nome dinâmico, como uma moeda ou uma corretora.

CampoTipoUnidadeDescrição
successboolean—true quando a requisição foi bem-sucedida. Em caso de falha, o corpo é `{ success: false, code, error, request_id }`.
coinstring—Símbolo da moeda, em maiúsculas (por exemplo, BTC).
marketstring—Mercado.
dataarray—Conteúdo da resposta.
data[]object—Conteúdo da resposta.
data[].exchangestring—ID da corretora, em minúsculas (por exemplo, `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—Último preço na moeda de cotação (USD ou USDT, salvo indicação em contrário).
data[].change_pctnumber|null%Variação percentual.
data[].volume_usdnumber|nullUSDVolume em valor nocional em USD.
data[].oi_usdnumber|nullUSDContratos em aberto em valor nocional em USD.
data[].ls_rationumber|null—Razão long/short.
data[].liq_longnumber|null—Longs liquidados.
data[].liq_shortnumber|null—Shorts liquidados.
data[].fundingnumber|null—Bloco ou valor da taxa de financiamento.
data[].funding_interval_hnumber|nullhIntervalo de financiamento. pode estar ausente
data[].funding_8hnumber|nullfraction`funding` normalizado para um intervalo de 8 horas: taxa × 8 ÷ `funding_interval_h` (0.0001 = 0.01 %); null quando o intervalo de liquidação é desconhecido. pode estar ausente
data[].next_funding_timenumber|nullmsTimestamp. pode estar ausente
data[].multipliernumberxNúmero de moedas que uma unidade cotada do contrato representa (1000 para contratos do tipo 1000PEPE; nos demais casos, 1). pode estar ausente
data[].vol_change_pctnumber|null%Variação do volume de 24h da corretora em relação ao seu snapshot horário tirado 23–25 horas antes; null sem snapshot ou em linhas não principais.
data[].oi_change_pctnumber|null%Variação dos contratos em aberto da corretora em relação ao snapshot horário dos mesmos contratos mais próximo de 24 horas atrás (±1 h); null quando não existe linha de base.
data[].oi_vol_change_pctnumber|null%Variação da razão contratos em aberto ÷ volume de 24h em relação à mesma razão 24 horas antes.
data[].price_rawnumber|nullUSDÚltimo preço exatamente como a corretora cota o contrato, antes da divisão por `multiplier`; igual a `price` quando `multiplier` é 1. pode estar ausente
data[].liquidity_usdnumber|nullUSDValor nocional de compra mais venda no livro de ofertas dentro de ±1 % do preço médio nesta corretora; é um limite inferior quando `liquidity_complete` é false. pode estar ausente
data[].liquidity_reach_pctnumber%Distância em relação ao preço médio efetivamente coberta pelo livro de ofertas que a corretora retornou: a menor entre o lado de compra e o de venda. pode estar ausente
data[].liquidity_completeboolean—True quando o livro de ofertas retornado alcança a faixa completa de ±1 % nos dois lados; false significa que `liquidity_usd` está subestimado. pode estar ausente
data[].oi_vol_rationumber|null—Contratos em aberto divididos pelo volume de 24h.
data[].pair_dispstring—Forma de exibição do par como base/cotação (`BTC/USDT`, `1000PEPE/USDT`, `BTC/USD` para a CME e as corretoras com margem em 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`. pode estar ausente
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. pode estar ausente
data[].expiry_datestring|null—Expiry date as YYYY-MM-DD (UTC); null when the contract has no expiry. pode estar ausente
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. pode estar ausente
data[].quotestring|null—Quote currency of the contract or spot pair (`USDT`, `USDC`, `USD`, …). pode estar ausente
data[].margin_typestring|null—Margin asset class from the contract specification: `usdt`, `usdc`, `coin`, `usd` or `other`; null when unknown and on spot rows. pode estar ausente
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. pode estar ausente
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. pode estar ausente
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. pode estar ausente
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. pode estar ausente
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`. pode estar ausente
data[].basestring—Underlying of the contract or spot pair as traded. Contracts quoted in multiples of the coin keep the multiplier (`1000PEPE`). pode estar ausente
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`. pode estar ausente
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`. pode estar ausente
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`. pode estar ausente
data[].qualitystring—`live` = `source_at` within the last hour, `stale` = older, `none` = no ticker for this market. pode estar ausente
data[].is_staleboolean—True when `quality` is `stale`. pode estar ausente
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. pode estar ausente
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. pode estar ausente
data[].marketstring—Mercado. pode estar ausente
metaobject— pode estar ausente
meta.groupstring—`pair` = one row per contract, `exchange` = one row per spot venue. pode estar ausente
meta.as_ofnumbermsTime the table was assembled, Unix milliseconds. pode estar ausente
meta.fresh_window_snumbersMaximum age of a quote for a row to count as `active`. pode estar ausente
meta.expiring_window_snumbersA contract whose expiry is closer than this is reported as `EXPIRING`. pode estar ausente
meta.volume_windowstring—Window of `volume_usd`: `24h_rolling`, the rolling 24-hour turnover each exchange reports. pode estar ausente
meta.volume_unitstring—Unit of `volume_usd`. pode estar ausente
meta.sortstring—Row order of the response in words. pode estar ausente
meta.countsobject— pode estar ausente
meta.counts.activenumbercountRows with `status=active`. pode estar ausente
meta.counts.no_quotenumbercountRows with `status=no_quote`. pode estar ausente
meta.counts.not_providednumbercountRows with `status=not_provided`. pode estar ausente
meta.counts.expirednumbercountRows with `status=expired`. pode estar ausente
meta.market_status_countsobject— pode estar ausente
meta.market_status_counts.ACTIVEnumbercountRows with `market_status=ACTIVE`. pode estar ausente
meta.market_status_counts.EXPIRINGnumbercountRows with `market_status=EXPIRING`. pode estar ausente
meta.market_status_counts.EXPIREDnumbercountRows with `market_status=EXPIRED`. pode estar ausente
meta.market_status_counts.NO_QUOTEnumbercountRows with `market_status=NO_QUOTE`. pode estar ausente
meta.market_status_counts.STALEnumbercountRows with `market_status=STALE`. pode estar ausente
meta.type_countsobject— pode estar ausente
meta.type_counts.spotnumbercountSpot rows in the response. pode estar ausente
meta.type_counts.perpetualnumbercountPerpetual rows in the response. pode estar ausente
meta.type_counts.deliverynumbercountDelivery (dated futures) rows in the response. pode estar ausente
meta.type_rankableobject— pode estar ausente
meta.type_rankable.spotnumbercountSpot rows that are rankable (`ACTIVE` or `EXPIRING`). pode estar ausente
meta.type_rankable.perpetualnumbercountPerpetual rows that are rankable. pode estar ausente
meta.type_rankable.deliverynumbercountDelivery rows that are rankable. pode estar ausente

Gerada 2026-11-12 10:57 UTC a partir de 9 respostas reais.

Exemplo de resposta

/api/currency/ex-table?coin=BTC&market=futures · Resposta real capturada 2026-11-13 03:57:28 UTC. Arrays e mapas longos são encurtados para exibição: data tinha 24 itens.

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

Amostras verificadas

Além do exemplo acima, a sonda chama este endpoint com estes parâmetros e verifica o esquema a cada vez.

ParâmetrosHTTPLatênciaResultado
coin=BTC&market=all200139 msAprovado
coin=BTC&market=perpetual2001 msAprovado
coin=BTC&market=delivery2002 msAprovado
coin=BTC&group=pair&market=futures2002 msAprovado
coin=BTC&market=spot2001 msAprovado
coin=ETH&market=futures200105 msAprovado
coin=SOL&market=futures20067 msAprovado
coin=ARKM&market=futures20055 msAprovado

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

Detalhes

Autenticação
Nenhuma. Endpoint público.
Limite de requisições
1200 requisições por minuto por IP
Cache do servidor
30s
Microcache de borda
10s
Frequência de atualização
tickers / OI / financiamento a cada 60 s a 5 min; profundidade do livro de ofertas a cada 5 min; volume spot a cada 10 min; liquidações em tempo real
Janela
snapshot mais recente (tickers 1 h, OI 3 h, financiamento 4 h, long/short 24 h, profundidade 30 min); variações de 24 h em relação aos arquivos horários
Fontes de dados
Estatísticas de futuros e spot por corretora para uma moeda, montadas a partir dos coletores próprios da CoinBoss, que consultam as APIs públicas de cerca de 30 corretoras (p. ex., binance, okx, bybit, bitget, gate, hyperliquid).
Cobertura de corretoras
futuros: todas as corretoras com ticker atualizado para a moeda (até 24); profundidade de 15 corretoras para cerca de 28 moedas; spot (market=spot): 14 corretoras spot
Ordenação
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
Unidades
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
Método
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)
Timestamps
Milissegundos da época Unix (UTC), salvo se a descrição do campo indicar o contrário
Formato da resposta
json
Estabilidade
Estável

Status ao vivo

DisponívelVerificado 2026-11-13 03:57:28 UTCHTTP 200139 msEsquema confere

Disponibilidade, últimos 30 dias

99.76% de 411 verificações aprovadas

Erros

As chamadas com falha têm o mesmo formato em todos os endpoints. A lista completa está na página de erros. Erros e limites de requisições →

CódigoHTTPSignificadoO que fazer
INVALID_PARAM400Falta um parâmetro obrigatório ou um valor não é aceito. `param` indica o nome do parâmetro quando ele é conhecido.Não repita a requisição sem alterações; corrija-a.
UNAUTHORIZED401O cabeçalho `CB-API-KEY` foi enviado, mas a chave é desconhecida ou foi revogada. Dados públicos não exigem chave — remova o cabeçalho ou use uma chave válida.Não repita a requisição sem alterações.
FORBIDDEN403A rota não faz parte da API pública (é interna ou exclusiva de conta).Não tente novamente.
NOT_FOUND404Rota desconhecida, ou a moeda / corretora / fundo solicitado não existe.Não tente novamente; confira o caminho e os identificadores no catálogo.
RATE_LIMITED429Mais requisições do que o limite por minuto. `Retry-After` informa os segundos a aguardar.Aguarde `Retry-After` e então tente novamente com backoff.
INTERNAL500Erro inesperado do servidor. A mensagem é genérica de propósito; cite `request_id` ao reportá-lo.Tente novamente uma vez após alguns segundos; se persistir, reporte-o com o ID da requisição.
UPSTREAM_FAILED503A fonte de dados por trás deste endpoint não respondeu a tempo. Nenhum número desatualizado ou substituto é retornado em seu lugar.Tente novamente com backoff; consulte a página de status.
UNAVAILABLE501 / 503O conjunto de dados ainda não está pronto temporariamente (aquecimento do cache) ou o endpoint ainda não tem uma fonte pública lícita.Tente novamente mais tarde; o catálogo marca os endpoints que são indisponíveis por design.
REQUEST_FAILED200Alguns endpoints mais antigos respondem HTTP 200 com `success: false`. Verifique sempre `success`, não apenas o status HTTP.Depende da mensagem; trate como uma requisição com falha.

Experimente

GET/api/currency/ex-tableDisponível
Parâmetros

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

string · padrão 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 da requisiçãohttps://www.coinboss.com/api/currency/ex-table?coin=BTC&market=futures
Escolha um endpoint e clique em “Enviar requisição”. A resposta, os cabeçalhos e o tempo de resposta aparecerão aqui.