Referencia de errores
Códigos de error de BlockVectra, facturación y orientación sobre reintentos para JSON-RPC, Data API, Webhooks Push, consola y faucet, incluidos rangos de bloques de eth_getLogs y errores de retransmisión de Webhooks.
Esta referencia documenta todos los códigos de error y valores reason legibles por máquina en los servicios de BlockVectra, indicando si una llamada rechazada se factura, políticas de reintento, tiempos de espera con backoff y acciones recomendadas para agentes de IA y clientes automatizados.
Para consumo por máquina, obtenga el catálogo completo en JSON en /errors.json. Cada respuesta de error con docs_url apunta directamente a un ancla estable en esta página: https://docs.blockvectra.com/en/errors/#<reason> (o #-<code-number> para errores sin código de motivo).
Errores JSON-RPC
| HTTP | Código | Motivo | Significado | Facturado | Reintentable | Tiempo de espera (Retry-After) | Acción del agente |
|---|---|---|---|---|---|---|---|
| 401 | -32024 | missing_api_key | API key ausente: envíela en la ruta de la solicitud (/v1/{chain}/<api_key>) o en el encabezado x-api-key | No | No | — | Para endpoints JSON-RPC (/v1/{chain}), proporcione la API key en la ruta de la solicitud (/v1/{chain}/<api_key>) o en el encabezado x-api-key. Para la Top-up API (/v1/topup/*), proporcione la API key únicamente en el encabezado x-api-key. |
| 401 | -32024 | invalid_api_key | API key desconocida, deshabilitada o revocada: tanto JSON-RPC como la Data API devuelven HTTP 401 con una estructura de error invalid_api_key (JSON-RPC: error.code -32024 y error.data.reason invalid_api_key; Data API: error.code y error.data.reason invalid_api_key). | No | No | — | Verifique la API key; si es necesario, inicie sesión nuevamente en la consola o mediante el registro programático para crear una nueva API key (consulte ¿Perdió su sesión o API key?). |
| 403 | -32025 | key_expired | API key expirada; cree una nueva API key en la consola | No | No | — | API key expirada; cree una nueva API key en la consola o mediante el registro programático. |
| 403 | -32025 | key_cap_exhausted | Límite de CU de la API key agotado; cree una nueva API key en la consola | No | No | — | Límite vitalicio de CU de la API key agotado; cree una nueva API key en la consola o mediante el registro programático. |
| 503 | -32021 | auth_unavailable | Datos de autenticación no disponibles temporalmente | No | Sí | Respete el encabezado Retry-After (segundos) | El servidor no puede verificar las API keys temporalmente; esto no es un problema con su clave. Reintente tras esperar según Retry-After; no vuelva a crear la API key. |
| 404 | -32600 | unknown_chain | Cadena desconocida | No | No | — | Consulte las cadenas disponibles mediante GET /v1/chains o la herramienta list_chains; verifique la ruta URL. |
| 404 | 404 | unknown_endpoint | El método y la ruta de la Data API no coinciden con una operación conocida | No | No | — | Verifique el método y la ruta URL con la documentación de la Data API. |
| 200 | -32700 | parse_error | Error de análisis sintáctico de JSON | No | No | — | Verifique que la sintaxis JSON del cuerpo de la solicitud sea válida antes de enviarla. |
| 200 | -32600 | invalid_request | Solicitud no válida | No | No | — | Inspeccione la estructura de la solicitud; verifique los campos jsonrpc: '2.0', id y method antes de reenviarla. |
| 200 | -32602 | invalid_params | Tracer no permitido | No | No | — | Ajuste los parámetros del método; revise los tracers compatibles y los límites de tiempo de espera para la cadena. |
| 200 | -32602 | logs_range_too_large | Rango de bloques de eth_getLogs demasiado amplio: máximo <N> bloques | No | No | — | Reduzca el rango de bloques de la consulta al max_logs_block_range indicado en GET /v1/chains. |
| 429 | -32005 | public_rate_limit | Límite de tasa de solicitudes públicas superado | No | Sí | Respete el encabezado Retry-After (segundos) | Espere conforme al encabezado Retry-After y reintente, o envíe la solicitud con una API key. Obtener una API key. |
| 429 | -32005 | public_pool_busy | El grupo público de la cadena está ocupado | No | Sí | Respete el encabezado Retry-After o espere unos segundos y reintente con backoff | Reintente con backoff o envíe la solicitud con una API key. Obtener una API key. |
| 200 | -32601 | method_not_public | El método no está disponible en el punto de enlace público | No | No | — | Use un método admitido por el punto de enlace público o envíe la solicitud con una API key. Obtener una API key. |
| 200 | -32601 | method_not_allowed | El método no está disponible en esta cadena o ha sido deshabilitado por política | No | No | — | Consulte methods.allow y methods.deny en GET /v1/chains para ver los métodos admitidos. La compatibilidad con el envío de transacciones se determina mediante methods.allow en GET /v1/chains. El envío de transacciones actualmente no está disponible en: HyperEVM. |
| 200 | -32601 | subscription_not_available | La suscripción WebSocket no se ofrece en esta cadena | No | No | — | Consulte las suscripciones disponibles para esta cadena mediante GET /v1/chains. |
| 200 | -32602 | logs_filter_required | La suscripción a logs requiere una dirección o topic0 (un valor no nulo en la primera posición de topics) | No | No | — | Especifique una dirección o un topic0 no nulo en el filtro de logs. |
| 200 | -32600 | batch_too_large | Lote demasiado grande: máximo <N> llamadas | No | No | — | Divida el lote en lotes más pequeños que cumplan con el límite máximo de llamadas indicado en los datos del error. |
| 413 | 413 | request_too_large | El cuerpo de la solicitud de la Data API supera el límite de tamaño | No | No | — | Reduzca el tamaño del cuerpo de la solicitud. |
| 200 | -32000 | not_found | Transacción no encontrada | No | No | — | Si se envió o minó recientemente, espere a que se propague y reintente; de lo contrario, verifique el número de bloque o el hash. |
| 200 | -32011 | state_window | El bloque solicitado está fuera de la ventana de estado admitida para esta cadena (últimos <N> bloques) | No | No | — | Consulte bloques dentro de state_window_blocks, según GET /v1/chains, o utilice la Data API para datos históricos. |
| 200 | -32011 | range_not_indexed | El historial solicitado no está completamente indexado | No | No | — | Reduzca el historial solicitado a un rango indexado; no reintente sin cambios el mismo rango sin cobertura. |
| 200 | -32011 | history_not_ready | El historial solicitado aún no está listo | No | Sí | Espere a que la indexación alcance los datos; respete error.data.retry_after_seconds cuando esté presente | Reintente cuando la indexación alcance los datos, esperando error.data.retry_after_seconds cuando se proporcione. |
| 429 | -32005 | key_rate_limit | Límite de tasa de CU de la API key superado | No | Sí | Respete el encabezado Retry-After (segundos) | Espere los segundos indicados en Retry-After antes de reintentar o distribuya la carga. |
| 429 | rate_limited | rate_limited | Límite de tasa de solicitudes superado en la API o GET /v1/account (más de 5 solicitudes por segundo para esta API key) | No | Sí | Respete el encabezado Retry-After (segundos) | Espere el intervalo indicado en Retry-After antes de reintentar. |
| 429 | -32005 | concurrency_limit | Límite de solicitudes simultáneas superado para esta API key | No | Sí | Respete el encabezado Retry-After o espere a que finalicen las llamadas activas | Reduzca el número de solicitudes en paralelo o espere a que finalicen las solicitudes en curso. |
| 429 | -32005 | free_plan_call_limit | Límite de llamadas por segundo del plan gratuito superado | No | Sí | Espere 1 segundo antes de reintentar | Reduzca la frecuencia de solicitudes o recargue para habilitar el rendimiento del nivel de pago. |
| 429 | -32022 | request_exceeds_burst | El costo en CU de la solicitud supera la capacidad máxima de ráfaga (burst) permitida | No | No | — | Esperar no resolverá el problema; divida el lote o reduzca los parámetros del método para ajustarse a la capacidad de ráfaga. |
| 429 | -32022 | free_plan_batch_too_large | El tamaño del lote supera el límite para usuarios del plan gratuito | No | No | — | Esperar no resolverá el problema; divida el lote para que se ajuste al límite de llamadas del plan gratuito o realice una recarga. |
| 429 | -32005 | ws_connection_limit | Límite de conexiones WebSocket alcanzado para esta clave o cuenta | No | No | — | Cierre una conexión WebSocket no utilizada o reutilice una conexión existente. |
| 200 | -32022 | subscription_limit | Límite de suscripciones WebSocket alcanzado para esta conexión | No | No | — | Cancele una suscripción existente o abra otra conexión. |
| 200 | -32005 | ws_filter_capacity | Los filtros de logs de WebSocket han alcanzado su capacidad máxima | No | No | — | Cancele una suscripción de logs existente o use un filtro más específico. |
| 200 | -32026 | ws_push_overloaded | La cola de notificaciones WebSocket está sobrecargada | No | Sí | Reintente más tarde con backoff o reconéctese | Reintente eth_subscribe con backoff exponencial o reconéctese. Las suscripciones existentes continúan recibiendo notificaciones. |
| 200 | -32005 | overloaded | Servicio sobrecargado, reintente más tarde | No | Sí | Espere unos segundos y reintente con backoff exponencial | Aplique backoff con jitter y reintente la solicitud. |
| 402 | -32020 | balance_exhausted | Saldo insuficiente (cuando el saldo se conoce, error.data incluye balance_units y balance_cu) | No | No | — | Recargue on-chain: obtenga su dirección de depósito desde la consola o mediante `GET /v1/topup/deposit-address` (MCP `get_deposit_address`); consulte la guía de recarga para agentes o use el restablecimiento de cuota en la consola si es elegible. Cuando se conoce el saldo, error.data incluye balance_units (negativo si está sobregirado) y balance_cu. |
| 402 | -32020 | free_grant_exhausted | Créditos gratuitos agotados (cuando el saldo se conoce, error.data incluye balance_units y balance_cu) | No | No | — | Recargue on-chain: obtenga su dirección de depósito desde la consola o mediante `GET /v1/topup/deposit-address` (MCP `get_deposit_address`); consulte la guía de recarga para agentes, use el restablecimiento de cuota si está disponible o espere la asignación del siguiente ciclo. Cuando se conoce el saldo, error.data incluye balance_units (negativo si está sobregirado) y balance_cu. |
| 503 | -32021 | billing_unavailable | Datos de facturación no disponibles temporalmente | No | Sí | Respete el encabezado Retry-After (segundos) | No es un problema de saldo; las API keys recién creadas se sincronizan en pocos segundos. Espere según Retry-After y reintente. |
| 200 | -32010 | node_syncing | El nodo se está sincronizando; las llamadas no están disponibles temporalmente | No | Sí | Espere unos segundos y reintente | Espere a que termine la sincronización del nodo o verifique GET /v1/status. |
| 200 | -32603 | upstream_unavailable | Servicio upstream no disponible | No | Sí | Espere unos segundos y reintente | Reintente con backoff exponencial; consulte GET /v1/status para verificar el estado del nodo. |
| 504 | 504 | upstream_timeout | El servicio upstream no respondió dentro del límite de tiempo | No | Sí | Reintente tras una breve pausa | Reintente la solicitud con backoff exponencial. |
| 200 | -32000 | response_too_large | Respuesta upstream demasiado grande | No | No | — | Reduzca los parámetros de la consulta (por ejemplo, acorte el rango de bloques en eth_getLogs o solicite traces más pequeños). |
| 200 | -32603 | internal_error | Error interno del servicio | No | No | — | Reintente la solicitud; informe de fallos persistentes al soporte con la marca temporal. |
| 200 | 4444 | — | Historial podado no disponible | No | No | — | El bloque está fuera de la ventana de historial conservada por el nodo podado; consulte bloques históricos mediante la Data API. |
| 200 | -32000 | — | historical state ... is not available; old data not available due to pruning... | No | No | — | Consulte bloques dentro de la ventana de estado o utilice la Data API para consultas históricas. |
| 200 | -32002 | — | <node message> | No | Sí | Espere unos segundos y reintente con un lote más pequeño | Reduzca el número de llamadas en el lote y reintente. |
| 200 | -32003 | — | <node message> | No | No | — | Divida el lote en solicitudes más pequeñas para reducir el tamaño de la carga útil de respuesta. |
| 200 | -32601 | — | <node message> | No | No | — | Consulte methods.allow y methods.deny en GET /v1/chains para ver los métodos admitidos. La compatibilidad con el envío de transacciones se determina mediante methods.allow en GET /v1/chains. El envío de transacciones actualmente no está disponible en: HyperEVM. |
| 200 | -32603 | — | <node message> | No | Sí | Espere unos segundos y reintente | Reintente la solicitud; informe de fallos persistentes al soporte con la marca temporal. |
| 200 | -32600 | — | <node message> | No | No | — | Inspeccione las solicitudes individuales en el lote en busca de parámetros no conformes; divida y reintente. |
| 200 | * | — | <node message> | Sí | No | — | El nodo realizó el cómputo y se facturó. Inspeccione el motivo/datos de reversión o los parámetros de llamada; no reintente a ciegas. |
| 408 | 408 | — | La solicitud agotó el tiempo de espera de 35 s entre la recepción completa de los encabezados y la respuesta | Posible | Sí | Espere unos segundos antes de reintentar llamadas de lectura | Las llamadas pueden haber llegado al nodo y haberse facturado. Para lecturas, reintente con backoff. Para escrituras (por ejemplo, eth_sendRawTransaction), compruebe primero el estado de la transacción por su hash. |
Códigos de cierre de WebSocket
Códigos de cierre de conexión WebSocket y acciones recomendadas para el cliente.
| Código | Motivo | Significado | Reintentable | Tiempo de espera (Retry-After) | Acción del agente |
|---|---|---|---|---|---|
| 1001 | — | Conexión cerrada por inactividad | Sí | Reconéctese según sea necesario | Reconéctese según sea necesario. |
| 1003 | — | Tipo de datos no admitido (por ejemplo, trama binaria en lugar de texto) | No | — | No se reconecte automáticamente; envíe solo tramas de texto UTF-8. |
| 1009 | — | El mensaje supera el límite de tamaño permitido | No | — | No se reconecte automáticamente; divida las solicitudes grandes para no superar 1 MiB. |
| 1012 | — | Reinicio del servicio; la conexión se cerró de forma ordenada | Sí | Reconéctese con backoff y jitter | Reconéctese con backoff y jitter, vuelva a suscribirse y recupere los datos omitidos. |
| 1013 | — | Cadena no disponible; servicio sobrecargado | Sí | Reconéctese con backoff exponencial y full jitter | Reconéctese con backoff exponencial y full jitter, vuelva a suscribirse y recupere los datos omitidos. |
| 4402 | — | Saldo agotado para las suscripciones activas | No | — | No se reconecte automáticamente; recargue on-chain: obtenga su dirección de depósito en la consola o mediante `GET /v1/topup/deposit-address` (MCP `get_deposit_address`); consulte la guía de recarga para agentes o use el restablecimiento de cuota en la consola si es elegible. |
| 4404 | — | API key inválida, deshabilitada o revocada | No | — | No se reconecte automáticamente; verifique o rote la API key en la consola. |
| 4408 | — | El servicio cierra la sesión cuando su cola de notificaciones supera 512 KiB (524.288 bytes) y descarta las notificaciones pendientes; el cliente puede no recibir una trama de cierre (el navegador informa 1006); trate las desconexiones inesperadas como 4408. | Sí | Reconéctese con backoff; reduzca las suscripciones o lea más rápido | Trate una desconexión inesperada sin trama de cierre (el navegador informa 1006) como 4408: reconéctese con backoff, restablezca las suscripciones y recupere los datos perdidos con eth_getLogs; reduzca las suscripciones o lea más rápido. |
| 4429 | — | Tasa de mensajes push superada | Sí | Reconéctese con backoff o reduzca las suscripciones | Reduzca las suscripciones o reconéctese con backoff. |
| 4503 | — | Servicio de facturación no disponible temporalmente | Sí | Reconéctese con backoff exponencial y full jitter | Reconéctese con backoff exponencial y full jitter, y vuelva a suscribirse. |
Errores de la Data API
Errores devueltos por los endpoints de la Data API de blockchain en /v1/data/{chain}/.
| HTTP | Código | Motivo | Significado | Facturado | Reintentable | Tiempo de espera (Retry-After) | Acción del agente |
|---|---|---|---|---|---|---|---|
| 400 | bad_request | — | Parámetro de consulta duplicado, cadena de consulta inválida o solicitud mal formada | No | No | — | Inspeccione los parámetros de consulta; asegúrese de que parámetros como limit aparezcan como máximo una vez y de que los parámetros sean válidos. |
| 409 | not_indexed_yet | — | El número de bloque o ventana solicitada está por encima de as_of_block, o el hash apunta por encima de as_of_block (incluye indexed_through a menos que la cadena no tenga bloques indexados) | No | Sí | Espere unos segundos hasta que indexed_through alcance el bloque | Consulte hasta que el bloque solicitado o to_block sea menor o igual que indexed_through, o espere a que la cadena comience a escribir bloques. |
| 409 | window_too_large | — | La ventana de bloques abarca más de 100,000 bloques y el parámetro clamp no se estableció en true | No | No | — | Reduzca el rango de bloques (from_block a to_block) a <= 100,000 bloques, o envíe clamp=true. |
| 409 | too_many_pools | — | El token coincide con más de 200 pools de liquidez; consulte por dimensión de pool en su lugar | No | No | — | Consulte por la dirección específica del pool en lugar de consultar todos los pools para el token. |
| 409 | span_exceeded | — | El intervalo de fechas solicitado supera el límite máximo de 90 días | No | No | — | Reduzca el rango de fechas entre from_time y to_time a un máximo de 90 días. |
| 422 | no_coverage | — | Capacidad no admitida en esta cadena, o el bloque solicitado es anterior a la ventana de cobertura | No | No | — | Verifique `features` y `coverage.from_block` en GET /v1/data/chains (o `data_features` en el GET /v1/status gratuito) antes de consultar. |
| 503 | unavailable | — | Servicio de datos no disponible temporalmente | No | Sí | Espere unos segundos y reintente con backoff exponencial | Reintente tras una breve pausa con backoff exponencial. |
| 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 | No | — | Recargue on-chain: obtenga su dirección de depósito en la consola o mediante `GET /v1/topup/deposit-address` (MCP `get_deposit_address`); consulte la guía de recarga para agentes o espere a que se reponga la asignación gratuita. |
| 429 | cost_exceeds_burst | — | Una sola solicitud cuesta más que la capacidad de ráfaga (burst) de la API key | No | No | — | Divida la solicitud en otras más pequeñas; reintentarla tal como se envió nunca tendrá éxito. |
| 503 | gateway_overloaded | — | La capacidad de la Data API no está disponible temporalmente | No | Sí | Retry-After: 1 segundo | Reduzca las solicitudes simultáneas entre las API keys y cadenas de esta cuenta; espere Retry-After antes de reintentar. error.data.reason es null. |
Errores de las API de consola, cuenta y faucet
Errores devueltos por los endpoints de gestión, aprovisionamiento de API keys, autenticación y faucet en /v1/.
| HTTP | Código | Motivo | Significado | Facturado | Reintentable | Tiempo de espera (Retry-After) | Acción del agente |
|---|---|---|---|---|---|---|---|
| 409 | topup_disabled | — | Recarga pausada o sin redes disponibles para recarga en este momento; no se pueden asignar nuevas direcciones, pero las direcciones asignadas existentes permanecen vinculadas a la cuenta | No | No | — | Verifique la disponibilidad de recarga mediante GET /v1/topup/status; reintente más tarde cuando la recarga esté habilitada. |
| 503 | deposit_unavailable | — | No es posible asignar temporalmente una dirección de depósito; reintente según el encabezado Retry-After | No | Sí | Respete el encabezado Retry-After (segundos) y use backoff exponencial | Reintente según el encabezado Retry-After con backoff exponencial. |
| 400 | invalid_request | invalid_username | El formato del nombre de usuario no es válido (debe ser alfanumérico o con guiones bajos) | No | No | — | Proporcione un nombre de usuario válido que cumpla con los requisitos de caracteres y longitud. |
| 400 | invalid_request | expires_at | La fecha de expiración de la clave no está en el futuro o supera el período máximo de validez permitido | No | No | — | Establezca expires_at en una marca temporal RFC 3339 futura dentro del período de validez permitido (por defecto 365 días), o use expires_in_secs. |
| 400 | invalid_request | cu_cap | El parámetro cu_cap está fuera de los límites (debe ser un entero entre 1 y 9007199254740991) | No | No | — | Ajuste cu_cap para que sea un número entero entre 1 y 9007199254740991 u omítalo para CU ilimitadas. |
| 400 | siwe_invalid | expired | El mensaje de Sign-In with Ethereum (SIWE) ha expirado o el nonce ya se utilizó | No | Sí | Obtenga un nuevo desafío de inmediato y fírmelo | Solicite un nuevo desafío en /v1/auth/siwe/challenge y firme la declaración recién emitida. |
| 400 | siwe_invalid | chain_mismatch | El chainId del mensaje SIWE no coincide con la configuración del servidor | No | No | — | Use el chainId devuelto por /v1/auth/siwe/challenge al construir el mensaje SIWE. |
| 400 | siwe_invalid | domain_mismatch | El dominio del mensaje SIWE no coincide con el host del servidor | No | No | — | Asegúrese de que el dominio y el uri coincidan con el host del servidor devuelto en el desafío. |
| 400 | siwe_invalid | signature | Falló la verificación criptográfica de la firma SIWE | No | No | — | Verifique que el mensaje haya sido firmado por la clave privada correspondiente a la dirección especificada. |
| 409 | key_limit_reached | active_keys | Se alcanzó el número máximo de API keys activas (no revocadas) de la cuenta | No | No | — | Revoque una API key existente que no utilice antes de crear una nueva. |
| 409 | no_reset_available | nothing_to_reset | El saldo ya es igual o superior al objetivo de restablecimiento; se conserva la oportunidad de restablecer | No | No | — | No hace falta restablecer ahora; utilice la oportunidad cuando se agote el saldo. |
| 429 | rate_limited | daily_creations | Se alcanzó el límite de creación de API keys en 24 horas de la cuenta | No | Sí | Respete el encabezado Retry-After (segundos) | Rote las API keys existentes en lugar de crear nuevas, o espere a que se restablezca la ventana de 24 horas. |
| 429 | signup_rate_limited | per_ip | Se alcanzó el límite de registro para la subred IP del cliente | No | Sí | Respete el encabezado Retry-After (segundos) | Espere el intervalo de Retry-After antes de crear una cuenta nueva desde esta red. |
| 429 | signup_rate_limited | global | Se alcanzó el límite global de registro de nuevos usuarios en todas las fuentes | No | Sí | Respete el encabezado Retry-After (segundos) | Espere el intervalo de Retry-After antes de reintentar la creación de la cuenta. |
| 400 | oauth_invalid | — | Parámetro OAuth inválido o estado del callback desconocido, expirado o ya utilizado | No | Sí | — | Inicie un nuevo flujo de inicio de sesión OAuth desde /v1/auth/{provider}/start. |
| 400 | login_code_invalid | — | Código de inicio de sesión desconocido, expirado, ya utilizado o con un verificador PKCE que no coincide | No | No | — | Reinicie el inicio de sesión para obtener un nuevo código. |
| 401 | unauthenticated | — | Sesión ausente o token de sesión inválido, expirado o revocado; en la Top-up API (/v1/topup/*), también ocurre cuando Authorization contiene un token inválido o que no es Bearer en lugar de x-api-key | No | No | — | Inicie sesión nuevamente para obtener un nuevo token de sesión Bearer; en la Top-up API, envíe la API key mediante x-api-key en lugar de Authorization. |
| 403 | user_disabled | — | La cuenta de usuario ha sido suspendida o deshabilitada | No | No | — | Contacte con contact@blockvectra.com para obtener asistencia con su cuenta. |
| 404 | provider_disabled | — | Proveedor OAuth reconocido pero deshabilitado actualmente | No | No | — | Use SIWE u otro proveedor de autenticación compatible. |
| 409 | identity_in_use | — | La identidad de autenticación ya está vinculada a otra cuenta | No | No | — | Desvincule la identidad de la cuenta anterior o utilice otra identidad. |
| 409 | identity_limit_reached | — | Se alcanzó el máximo de identidades vinculadas (5) de esta cuenta | No | No | — | Desvincule una identidad existente antes de vincular una nueva. |
| 409 | last_identity | — | No se puede eliminar la única identidad vinculada a la cuenta | No | No | — | Vincule otro método de autenticación antes de eliminar esta identidad. |
| 409 | key_not_active | — | Se intentó rotar una API key deshabilitada, revocada o expirada | No | No | — | Cree una nueva API key o rote una API key activa. |
| 409 | no_reset_available | — | No quedan oportunidades de restablecimiento de cuota en esta cuenta | No | No | — | Recargue on-chain: obtenga su dirección de depósito en la consola o mediante `GET /v1/topup/deposit-address` (MCP `get_deposit_address`); consulte la guía de recarga para agentes o espere al siguiente ciclo de promoción. |
| 413 | payload_too_large | — | El cuerpo de la solicitud supera el límite de 64 KiB | No | No | — | Reduzca el cuerpo de la solicitud por debajo de 64 KiB. |
| 503 | signup_paused | — | El registro global de nuevos usuarios está pausado temporalmente; los inicios de sesión existentes no se ven afectados | No | Sí | Reintente el registro más tarde | El registro de nuevos usuarios está pausado temporalmente; compruebe el estado y reintente más tarde. |
| 503 | usage_unavailable | — | Las estadísticas de uso no están disponibles temporalmente | No | Sí | Espere unos segundos y reintente | Solo afecta al punto de enlace /usage; los demás funcionan normalmente. Reintente en breve. |
| 500 | internal | — | Error inesperado del servidor | No | Sí | Reintente tras una breve pausa | Reintente la solicitud con backoff exponencial. |
| 400 | invalid_address | invalid_address | El formato o la suma de comprobación (checksum) de la dirección del destinatario no son válidos | No | No | — | Use 0x seguido de 40 caracteres hexadecimales, en minúsculas o con checksum EIP-55; revise data.field (/address). |
| 503 | faucet_empty | faucet_empty | El faucet no dispone de fondos suficientes para la reclamación y la tarifa de transacción | No | Sí | Respete el encabezado Retry-After (segundos) | Espere según Retry-After antes de reintentar; no asuma que se ha enviado ETH de prueba sin una respuesta de aceptación. |
| 503 | service_unavailable | service_unavailable | El procesamiento de reclamaciones del faucet no está disponible temporalmente o una reclamación anterior aún no tiene recibo | No | Sí | Respete el encabezado Retry-After (segundos) | Espere según Retry-After antes de reintentar; no asuma que se ha enviado ETH de prueba sin una respuesta de aceptación. |
Errores de la Push API
Errores de gestión de suscripciones de Webhook e historial de eventos en /v1/push/.
| HTTP | Código | Motivo | Significado | Facturado | Reintentable | Tiempo de espera (Retry-After) | Acción del agente |
|---|---|---|---|---|---|---|---|
| 400 | invalid_request | — | Campos de solicitud, direcciones, paginación o rango de bloques no válidos. | No | No | — | Inspeccione data.field y data.invalid; corrija la solicitud. |
| 401 | missing_api_key | — | Encabezado x-api-key ausente. | No | No | — | Proporcione su API key en el encabezado x-api-key. |
| 401 | invalid_api_key | — | API key desconocida, deshabilitada o revocada. | No | No | — | Utilice una API key activa de su cuenta. |
| 402 | insufficient_balance | — | Saldo o asignación gratuita agotados para el historial de eventos. | No | No | — | Inspeccione data.reason (balance_exhausted o free_grant_exhausted) y data.balance_units / data.balance_cu cuando estén presentes; recargue mediante data.topup_url o data.deposit_address_url. |
| 403 | key_cap_exhausted | — | Límite de CU de la API key agotado para el historial de eventos. | No | No | — | Inspeccione data.cu_cap y cree una nueva API key en la consola. |
| 403 | key_expired | — | La API key ha expirado. | No | No | — | Utilice una API key no expirada de su cuenta. |
| 404 | not_found | — | Ruta, método o suscripción no encontrados. | No | No | — | Verifique la ruta, el método y la propiedad de la suscripción. |
| 409 | limit_reached | — | Límite de suscripciones o pares de direcciones de la cuenta alcanzado. | No | No | — | Inspeccione data.limit y data.max; reduzca suscripciones o direcciones. |
| 413 | request_too_large | — | El cuerpo de la solicitud supera el límite de la ruta. | No | No | — | Divida el lote de direcciones o reduzca el tamaño del cuerpo. |
| 422 | chain_not_available | — | Cadena no disponible para Push o ausente en la suscripción. | No | No | — | Consulte GET /v1/push/chains y las cadenas de la suscripción. |
| 422 | chains_required | — | Se requiere al menos una cadena. | No | No | — | Proporcione un objeto chains no vacío; use el estado offline para dejar de escuchar. |
| 422 | confirmations_out_of_range | — | Profundidad de confirmaciones fuera del rango permitido para la cadena. | No | No | — | Elija un valor de confirmations entre data.min y data.max. |
| 422 | destination_not_allowed | — | La URL de destino no está permitida. | No | No | — | Inspeccione data.rule; use un nombre de host HTTPS en el puerto 443 sin información de usuario ni fragmento. |
| 422 | block_out_of_range | — | Rango de bloques fuera de la cobertura disponible de retransmisión o historial. | No | No | — | Use data.min_block y data.max_block para ajustar el rango. |
| 429 | cost_exceeds_burst | — | El costo de la solicitud de historial supera la capacidad de ráfaga (burst) de la API key. | No | No | — | Inspeccione data.reason (request_exceeds_burst) y data.max; aumente la capacidad de ráfaga antes de reintentar. Reintentar sin cambios no servirá de nada. |
| 429 | rate_limited | — | Límite de tasa de consultas de gestión o historial alcanzado. | No | Sí | Espere los segundos indicados en Retry-After. | Para el historial, inspeccione data.reason (key_rate_limit o free_plan_call_limit); espere los segundos indicados en Retry-After y reduzca la frecuencia o concurrencia de solicitudes. |
| 500 | internal_error | — | Error inesperado del servicio. | No | No | — | Guarde x-request-id y póngase en contacto con el soporte técnico. |
| 503 | auth_unavailable | — | Validación de la API key no disponible temporalmente. | No | Sí | Espere los segundos indicados en Retry-After. | Espere los segundos indicados en Retry-After antes de reintentar. |
| 503 | billing_unavailable | — | Estado de facturación del historial no disponible temporalmente. | No | Sí | Espere los segundos indicados en Retry-After. | Espere los segundos indicados en Retry-After antes de reintentar. |
| 503 | upstream_unavailable | — | Servicio Push temporalmente inaccesible. | No | Sí | Espere los segundos indicados en Retry-After. | Espere los segundos indicados en Retry-After antes de reintentar. |
| 503 | service_unavailable | — | Servicio Push o capacidad de direcciones no disponible temporalmente. | No | Sí | Espere los segundos indicados en Retry-After. | Espere los segundos indicados en Retry-After antes de reintentar. |
Para errores de suscripción o retransmisión de Webhooks, siga la guía de recuperación de entregas Push. La integración del receptor comienza con la verificación de firma en el cuerpo sin procesar; el ejemplo de pagos con stablecoins añade deduplicación de eventos, verificación de recibos, recuperación de brechas y conciliación de reorganizaciones (reorgs). Consulte las reglas de facturación para la medición y la reconexión de WebSocket para suscripciones basadas en conexión.
Para logs_range_too_large, consulte los parámetros del método eth_getLogs y siga la guía de límites de rango de bloques y consultas por fragmentos.
Para solicitudes de faucet en Robinhood Chain, consulte la guía de faucet de testnet para ver los criterios de elegibilidad y el tratamiento de códigos de error compartidos.
Última actualización:
Cadenas compatibles
Cadenas de blockchain compatibles, Chain IDs, estructuras de URL y disponibilidad de funciones. Consulte puntos de enlace, métodos y cobertura de conjuntos de datos por cadena.
Inicio rápido
Consulte la altura de bloque sin API key, cree una API key, envíe su primera llamada autenticada y consulte acciones, recupere logs históricos o reciba Webhooks.