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 dePOSTpara 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_blockemGET /v1/data/chainse 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:
| Status | error.code | Significado | Ação |
|---|---|---|---|
402 | insufficient_balance | Saldo 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 |
404 | not_found | {chain} desconhecida ou não pública, ou o objeto não existe | Corrija a requisição |
409 | not_indexed_yet | A 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) |
422 | no_coverage | Lacuna permanente: a rede não possui esse recurso ou o bloco está antes da cobertura indexada/trace | Altere a requisição; tentar novamente não ajudará |
429 | rate_limited | Limite de taxa de CU da chave (a resposta inclui Retry-After) ou limite de taxa de chamadas da conta (sem Retry-After); não cobrado | Tente novamente após Retry-After segundos |
429 | cost_exceeds_burst | Uma ú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 |
503 | unavailable | Temporariamente indisponível; a resposta traz Retry-After. Também retornado para requisições históricas em uma rede cujo coverage.from_block é atualmente null | Tente novamente após Retry-After segundos |
503 | gateway_overloaded | O 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étodo | Caminho | Resumo |
|---|---|---|
| GET | /chains | List 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}/transactions | List a block's transactions |
| GET | /{chain}/transactions/{hash} | Get a transaction by hash |
Status
| Método | Caminho | Resumo |
|---|---|---|
| GET | /{chain}/status/freshness | Freshness and lag per dataset |
Addresses
| Método | Caminho | Resumo |
|---|---|---|
| GET | /{chain}/addresses/{address}/transactions | List an address's transactions |
| GET | /{chain}/addresses/{address}/transfers | List an address's token transfers |
| GET | /{chain}/addresses/{address}/balances | List an address's ERC-20 balances |
Tokens
| Método | Caminho | Resumo |
|---|---|---|
| GET | /{chain}/tokens/{token}/transfers | List a token contract's transfers |
| GET | /{chain}/tokens/{token}/holders | List a token's holders |
| GET | /{chain}/tokens/{token} | Get token metadata |
| POST | /{chain}/tokens:batch | Batch get token metadata |
NFTs
| Método | Caminho | Resumo |
|---|---|---|
| GET | /{chain}/nfts/{contract}/{token_id} | Get one NFT's owner/holders |
| GET | /{chain}/nfts | List NFTs owned by an address |
DEX
| Método | Caminho | Resumo |
|---|---|---|
| GET | /{chain}/dex/swaps | List DEX swaps by pool or token |
| GET | /{chain}/dex/prices | Daily DEX token prices |
Stocks
| Método | Caminho | Resumo |
|---|---|---|
| GET | /{chain}/stocks | Daily leaderboard of tokenized stocks |
| GET | /{chain}/stocks/{token} | Get one tokenized stock |
Traces
| Método | Caminho | Resumo |
|---|---|---|
| GET | /{chain}/blocks/{number}/traces | Historical callTracer trace tree for a whole block |
| GET | /{chain}/transactions/{hash}/trace | Historical callTracer trace tree for one transaction |
A seguir está a especificação original em inglês.
Última atualização:
Versionamento e compatibilidade
Versionamento de caminho da API BlockVectra, definições de alterações retrocompatíveis e disponibilidade de redes e métodos.
JSON-RPC
Métodos JSON-RPC compatíveis, pesos em CU e códigos de erro. Configure um endpoint, escolha uma rede e consulte disponibilidade, preços e regras de cobrança.