Pular para o conteúdo principal

Dados de mercado

Além de preço e volume, os tickers trazem campos de contexto de mercado: variação em diferentes janelas, market cap e alta histórica. Esta página explica primeiro o que é cada dado e de onde vem e, ao final, como esses campos se comportam no agregado liqi. Os campos são retornados por fetchTicker e fetchTickers.

Campos e origem

Os campos têm duas naturezas, conforme a fonte:

CampoO que éOrigem
high / lowMáxima / mínima das últimas 24hBook da exchange/pool
change / percentageVariação absoluta / percentual das últimas 24hBook da exchange/pool
quoteVolume / baseVolumeVolume das últimas 24h (em BRL / em cripto)Book da exchange/pool
variationsVariação percentual em 7, 14 e 30 diasProvedor global de mercado
marketCapValor de mercado do ativoProvedor global de mercado
allTimeHighMáxima histórica e distância do preço atualProvedor global de mercado
  • Book da exchange/pool: dado real da venue, em tempo real — o que aquela exchange negociou nas últimas 24h.
  • Provedor global de mercado: valor do ativo no mercado como um todo, por ativo e em BRL. Uma exchange isolada não reporta market cap, alta histórica nem variação de 7/30 dias; por isso esses campos vêm de um provedor global e são iguais para todas as exchanges.

Estrutura dos campos globais

variations, marketCap e allTimeHigh são objetos (ou null quando o dado não está disponível):

{
"variations": { "7d": 5.23, "14d": -1.8, "30d": 12.4 },
"marketCap": { "value": 12280450000000, "circulatingSupply": 19700000, "totalSupply": 21000000 },
"allTimeHigh": { "value": 730000.00, "date": "2025-01-20T00:00:00.000Z", "percentFromAth": -15.32 }
}
  • variations.7d / .14d / .30d: variação percentual na janela (cada uma pode ser null).
  • marketCap.value: valor de mercado em BRL; circulatingSupply / totalSupply: oferta em circulação / total.
  • allTimeHigh.value / .date: máxima histórica (BRL) e a data em que ocorreu; percentFromAth: distância percentual do preço atual em relação à máxima.

Casas decimais: valores em BRL e percentuais com 2 casas, quantidade de cripto com 8 casas. Como JSON não preserva zeros à direita, 3.80 é serializado como 3.8.

Comportamento no agregado liqi

No modo liqi-managed, o fetchTickers retorna, além de cada pool, uma chave consolidada liqi (Liqi como contraparte única). O preço (bid/ask) do liqi é sempre o de melhor execução.

Os campos de contexto do liqi são determinísticos: não acompanham a exchange que está com o melhor preço no momento (que pode alternar em tempo real), para que os valores exibidos não fiquem mudando a cada troca de melhor preço. A consolidação entre os pools é:

CampoConsolidação no liqi
high (24h)maior entre os pools
low (24h)menor entre os pools
quoteVolume / baseVolume (24h)do pool de maior volume
change / percentage (24h)do pool de maior variação
variations, marketCap, allTimeHighvalor global do ativo (igual em todos os pools; o liqi herda)

As entradas por pool preservam seus próprios valores; a consolidação vale apenas para a chave liqi.

Exemplo de resposta

Trecho de fetchTickers para uma conta liqi-managed (chave liqi):

{
"liqi": [
{
"symbol": "BTC/BRL",
"timestamp": "1748271792909",
"high": 625036.68,
"low": 604342.25,
"bid": 615169.39,
"ask": 627779.20,
"change": 3466.16,
"percentage": 0.56,
"baseVolume": 4445.0876,
"quoteVolume": 2762677452.45,
"variations": { "7d": 5.23, "14d": -1.8, "30d": 12.4 },
"marketCap": { "value": 12280450000000, "circulatingSupply": 19700000, "totalSupply": 21000000 },
"allTimeHigh": { "value": 730000.00, "date": "2025-01-20T00:00:00.000Z", "percentFromAth": -15.32 }
}
]
}

Período dos dados

As variações de 7 e 30 dias e a alta histórica refletem o histórico completo do ativo no provedor (global), independentemente de quando o ativo passou a ser ofertado. Um ativo listado há menos de 30 dias na plataforma continua exibindo a variação real de 30 dias e a alta histórica. O dado só vem vazio quando o próprio ativo ainda não possui aquele histórico no provedor.

Disponibilidade

  • variations, marketCap e allTimeHigh são retornados via REST (fetchTicker e fetchTickers). No WebSocket (watchTickers) esses campos não são enviados.
  • Disponíveis em sandbox; a liberação em produção ocorrerá em release posterior.
  • Quando nenhum provedor reporta volume (por exemplo, ativo disponível em uma única venue sem book, ou sem negociação nas últimas 24h), o campo pode vir zerado.