Referencia de la Data API de blockchain
Referencia de solicitudes de la Data API de blockchain: puntos de enlace REST, autenticación por API key, parámetros, esquemas de respuesta, errores y pesos en CU para datos indexados de la cadena.
Visión general
Use esta referencia de la Data API de blockchain para construir solicitudes REST para bloques indexados, transacciones, direcciones, tokens, NFT, actividad en DEX, acciones tokenizadas y actualización de conjuntos de datos. Para elegir un conjunto de datos y comprobar la disponibilidad por cadena, comience con el directorio de conjuntos de datos; para consultar saldos de tokens de billeteras e historial de transferencias, siga la guía de activos de billetera.
- URL base:
https://api.blockvectra.com/v1/data— todas las rutas excepto/chainstienen como prefijo un identificador de cadena (p. ej.,https://api.blockvectra.com/v1/data/{chain}/…) - Protocolo: HTTP
GET(además dePOSTpara consultas de tokens por lotes en/{chain}/tokens:batch), respuestas JSON - Autenticación: se requiere API key — envíe su clave en el encabezado de solicitud
x-api-key. Las solicitudes se miden y facturan en Compute Units (CU); solo se facturan las respuestas exitosas 2xx - Ethereum: la cobertura de datos está determinada por
coverage.from_blockenGET /v1/data/chains, y cubre un conjunto menor de conjuntos de datos — consulte Cadenas compatibles → Ethereum
Los pesos en CU de la Data API se enumeran en la página de Precios y los devuelve GET /v1/plans. Consulte Inicio rápido → Llamar a la Data API para ver ejemplos de solicitudes y formatos de respuesta. Para el control de versiones de rutas, las reglas de compatibilidad con versiones anteriores y las recomendaciones de SDK, consulte Control de versiones y compatibilidad de la API.
Cadenas
La Data API sirve datos indexados delimitados a cada cadena: https://api.blockvectra.com/v1/data/{chain}/….
Los conjuntos de datos y las características disponibles varían según la cadena; consulte Cadenas compatibles para ver la matriz completa de capacidades. GET https://api.blockvectra.com/v1/data/chains informa las features, coverage, finality y limits de cada cadena. Las solicitudes fuera de la cobertura de un conjunto de datos devuelven HTTP 422 no_coverage (no facturado); una cadena desconocida o no pública devuelve HTTP 404 con error.code not_found (no facturado; los nombres de cadena deben ser slugs exactos en minúsculas).
Errores
Cada respuesta de error es {"error":{"code","message"}}; solo 409 not_indexed_yet puede añadir indexed_through (el bloque indexado más alto en esa cadena), y está ausente cuando la cadena aún no tiene datos indexados. Códigos con los que los usuarios se encuentran más a menudo:
| Estado | error.code | Significado | Acción |
|---|---|---|---|
402 | insufficient_balance | Saldo de pago o asignación gratuita agotados; cuando se conoce el saldo, error.data incluye balance_units y balance_cu (no facturado) | Recargue on-chain en la página de Facturación de la consola, o espere a que se reponga la asignación gratuita |
404 | not_found | {chain} desconocida o no pública, o el objeto no existe | Corrija la solicitud |
409 | not_indexed_yet | La solicitud va más allá de as_of_block (el bloque más reciente completamente escrito; incluye indexed_through), el hash se resuelve por encima de as_of_block, o la cadena aún no tiene datos indexados (sin indexed_through) | Con indexed_through, sondee hasta que su bloque o to_block esté en él o por debajo de él; sin él, espere a que la cadena comience a indexar (coverage.has_data en GET /v1/data/chains muestra el estado) |
422 | no_coverage | Brecha permanente: la cadena carece de esa capacidad, o el bloque es anterior a la cobertura indexada/trace | Cambie la solicitud; reintentar no ayudará |
429 | rate_limited | Límite de tasa de CU de la clave (la respuesta incluye Retry-After) o límite de tasa de llamadas de la cuenta (sin Retry-After); no facturado | Reintente después de Retry-After segundos |
429 | cost_exceeds_burst | Una sola solicitud cuesta más que la capacidad de ráfaga de la clave; sin Retry-After (no facturado) | Divida la solicitud; reintentar tal como se envió nunca tendrá éxito |
503 | unavailable | Temporalmente no disponible; la respuesta incluye Retry-After. También se devuelve para solicitudes históricas en una cadena cuyo coverage.from_block es actualmente null | Reintente después de Retry-After segundos |
503 | gateway_overloaded | Se alcanzó el límite de concurrencia de la cuenta en todas sus claves y cadenas, o el servicio está temporalmente ocupado; Retry-After: 1 (no facturado) | Reduzca las solicitudes concurrentes en toda la cuenta y espere Retry-After segundos antes de reintentar |
Índice de endpoints
A continuación se presenta la especificación original en inglés.
Chain
| Método | Ruta | Resumen |
|---|---|---|
| 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 | Ruta | Resumen |
|---|---|---|
| GET | /{chain}/status/freshness | Freshness and lag per dataset |
Addresses
| Método | Ruta | Resumen |
|---|---|---|
| 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 | Ruta | Resumen |
|---|---|---|
| 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 | Ruta | Resumen |
|---|---|---|
| GET | /{chain}/nfts/{contract}/{token_id} | Get one NFT's owner/holders |
| GET | /{chain}/nfts | List NFTs owned by an address |
DEX
| Método | Ruta | Resumen |
|---|---|---|
| GET | /{chain}/dex/swaps | List DEX swaps by pool or token |
| GET | /{chain}/dex/prices | Daily DEX token prices |
Stocks
| Método | Ruta | Resumen |
|---|---|---|
| GET | /{chain}/stocks | Daily leaderboard of tokenized stocks |
| GET | /{chain}/stocks/{token} | Get one tokenized stock |
Traces
| Método | Ruta | Resumen |
|---|---|---|
| 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 continuación se presenta la especificación original en inglés.
Última actualización:
Control de versiones y compatibilidad
Control de versiones de rutas de la API de BlockVectra, definiciones de cambios compatibles con versiones anteriores y disponibilidad de cadenas y métodos.
JSON-RPC
Métodos JSON-RPC compatibles, pesos en CU y códigos de error. Configure un punto de enlace, elija una cadena y consulte disponibilidad, precios y reglas de facturación.