Referência da Data API de blockchain

Referência de requisições da Data API de blockchain: endpoints REST, autenticação por API key, parâmetros, esquemas de resposta, erros e pesos de CU para dados indexados de redes.

Visão geral

Use esta referência da Data API de blockchain para construir requisições REST para blocos indexados, transações, endereços, tokens, NFTs, atividade em DEX, ações tokenizadas e atualização dos dados. Para escolher um conjunto de dados e verificar a disponibilidade das redes, comece pelo diretório de conjuntos de dados; para saldos de tokens e histórico de transferências de carteiras, siga o guia de ativos de carteiras.

  • URL base: https://api.blockvectra.com/v1/data — toda rota, exceto /chains, recebe o prefixo com um identificador de rede (por exemplo, https://api.blockvectra.com/v1/data/{chain}/…)
  • Protocolo: HTTP GET (além de POST para consultas de tokens em lote em /{chain}/tokens:batch), respostas em JSON
  • Autenticação: API key obrigatória — envie sua chave no cabeçalho de requisição x-api-key. As requisições são medidas e cobradas em Compute Units (CU); apenas respostas 2xx bem-sucedidas são cobradas
  • Ethereum: a cobertura de dados é determinada por coverage.from_block em GET /v1/data/chains e abrange um conjunto menor de conjuntos de dados — consulte Redes compatíveis → Ethereum

Os pesos de CU da Data API estão listados na página de Preços e são retornados por GET /v1/plans. Consulte Início rápido → Chamar a Data API para ver exemplos de requisições e formatos de resposta. Para versionamento de caminhos, regras de compatibilidade retroativa e recomendações de SDKs, consulte Versionamento e compatibilidade da API.

Redes

A Data API serve dados indexados com escopo por rede: https://api.blockvectra.com/v1/data/{chain}/….

Os conjuntos de dados e recursos disponíveis variam por rede; consulte Redes compatíveis para ver a matriz completa de recursos. GET https://api.blockvectra.com/v1/data/chains informa features, coverage, finality e limits de cada rede. Requisições fora da cobertura de um conjunto de dados retornam HTTP 422 no_coverage (não cobrado); uma rede desconhecida ou não pública retorna HTTP 404 com error.code not_found (não cobrado; os nomes das redes devem ser slugs exatos em letras minúsculas).

Erros

Toda resposta de erro tem o formato {"error":{"code","message"}}; apenas 409 not_indexed_yet pode adicionar indexed_through (o bloco indexado mais alto nessa rede), e ele fica ausente quando a rede ainda não tiver dados indexados. Códigos que os clientes encontram com mais frequência:

Statuserror.codeSignificadoAção
402insufficient_balanceSaldo pago ou cota gratuita esgotada; quando o saldo é conhecido, error.data inclui balance_units e balance_cu (não cobrado)Recarregue on-chain na página de faturamento do console ou aguarde a cota gratuita renovar
404not_found{chain} desconhecida ou não pública, ou o objeto não existeCorrija a requisição
409not_indexed_yetA requisição atinge acima de as_of_block (bloco mais recente gravado por completo; inclui indexed_through), o hash resolve acima de as_of_block ou a rede ainda não tem dados indexados (sem indexed_through)Com indexed_through, faça polling até que seu bloco ou to_block esteja nele ou abaixo dele; sem ele, aguarde a rede começar a indexar (coverage.has_data em GET /v1/data/chains mostra o estado)
422no_coverageLacuna permanente: a rede não possui esse recurso ou o bloco está antes da cobertura indexada/traceAltere a requisição; tentar novamente não ajudará
429rate_limitedLimite de taxa de CU da chave (a resposta inclui Retry-After) ou limite de taxa de chamadas da conta (sem Retry-After); não cobradoTente novamente após Retry-After segundos
429cost_exceeds_burstUma única requisição custa mais do que a capacidade de rajada da chave; sem Retry-After (não cobrado)Divida a requisição; tentar novamente como enviada nunca terá sucesso
503unavailableTemporariamente indisponível; a resposta traz Retry-After. Também retornado para requisições históricas em uma rede cujo coverage.from_block é atualmente nullTente novamente após Retry-After segundos
503gateway_overloadedO limite de simultaneidade da conta em todas as suas chaves e redes foi atingido, ou o serviço está temporariamente ocupado; Retry-After: 1 (não cobrado)Reduza as requisições simultâneas em toda a conta e aguarde Retry-After segundos antes de tentar novamente

Índice de endpoints

A seguir está a especificação original em inglês.

Chain

MétodoCaminhoResumo
GET/chainsList supported chains
GET/{chain}/blocks/{number}Get a block by number
GET/{chain}/blocks/hash/{hash}Get a block by hash
GET/{chain}/blocks/{number}/transactionsList a block's transactions
GET/{chain}/transactions/{hash}Get a transaction by hash

Status

MétodoCaminhoResumo
GET/{chain}/status/freshnessFreshness and lag per dataset

Addresses

MétodoCaminhoResumo
GET/{chain}/addresses/{address}/transactionsList an address's transactions
GET/{chain}/addresses/{address}/transfersList an address's token transfers
GET/{chain}/addresses/{address}/balancesList an address's ERC-20 balances

Tokens

MétodoCaminhoResumo
GET/{chain}/tokens/{token}/transfersList a token contract's transfers
GET/{chain}/tokens/{token}/holdersList a token's holders
GET/{chain}/tokens/{token}Get token metadata
POST/{chain}/tokens:batchBatch get token metadata

NFTs

MétodoCaminhoResumo
GET/{chain}/nfts/{contract}/{token_id}Get one NFT's owner/holders
GET/{chain}/nftsList NFTs owned by an address

DEX

MétodoCaminhoResumo
GET/{chain}/dex/swapsList DEX swaps by pool or token
GET/{chain}/dex/pricesDaily DEX token prices

Stocks

MétodoCaminhoResumo
GET/{chain}/stocksDaily leaderboard of tokenized stocks
GET/{chain}/stocks/{token}Get one tokenized stock

Traces

MétodoCaminhoResumo
GET/{chain}/blocks/{number}/tracesHistorical callTracer trace tree for a whole block
GET/{chain}/transactions/{hash}/traceHistorical callTracer trace tree for one transaction

A seguir está a especificação original em inglês.

Última atualização:

Nesta página