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:
| Campo | O que é | Origem |
|---|---|---|
high / low | Máxima / mínima das últimas 24h | Book da exchange/pool |
change / percentage | Variação absoluta / percentual das últimas 24h | Book da exchange/pool |
quoteVolume / baseVolume | Volume das últimas 24h (em BRL / em cripto) | Book da exchange/pool |
variations | Variação percentual em 7, 14 e 30 dias | Provedor global de mercado |
marketCap | Valor de mercado do ativo | Provedor global de mercado |
allTimeHigh | Máxima histórica e distância do preço atual | Provedor 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 sernull).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 é:
| Campo | Consolidaçã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, allTimeHigh | valor 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,marketCapeallTimeHighsão retornados via REST (fetchTickerefetchTickers). 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.