Fehlerreferenz
BlockVectra-Fehlercodes, Abrechnungs- und Wiederholungsrichtlinien für JSON-RPC, Data API, Push-Webhooks, Konsole und Faucet, einschließlich eth_getLogs-Blockbereichen und Webhook-Wiederholungsfehlern.
Diese Referenz dokumentiert alle Fehlercodes und maschinenlesbaren reason-Werte über alle BlockVectra-Dienste hinweg, einschließlich der Information, ob ein abgewiesener Aufruf abgerechnet wird, Wiederholungsrichtlinien, Backoff-Dauern und empfohlener Maßnahmen für KI-Agenten und automatisierte Clients.
Für maschinenlesbare Verarbeitung rufen Sie den vollständigen Katalog als JSON unter /errors.json ab. Jede Fehlerantwort mit einer docs_url verweist direkt auf einen stabilen Anker auf dieser Seite: https://docs.blockvectra.com/en/errors/#<reason> (oder #-<code-number> für Fehler ohne reason-Code).
JSON-RPC-Fehler
| HTTP | Code | Reason | Bedeutung | Berechnet | Wiederholbar | Wartezeit (Retry-After) | Agent-Aktion |
|---|---|---|---|---|---|---|---|
| 401 | -32024 | missing_api_key | Fehlender API-Schlüssel: Bitte im Anfragepfad (/v1/{chain}/<api_key>) oder im x-api-key-Header übergeben | Nein | Nein | — | Für JSON-RPC-Endpunkte (/v1/{chain}) den API-Schlüssel im Anfragepfad (/v1/{chain}/<api_key>) oder im x-api-key-Header bereitstellen. Für die Top-up API (/v1/topup/*) den API-Schlüssel nur im x-api-key-Header bereitstellen. |
| 401 | -32024 | invalid_api_key | Unbekannter, deaktivierter oder widerrufener API-Schlüssel: JSON-RPC und Data API geben beide HTTP 401 mit einer invalid_api_key-Fehlerstruktur zurück (JSON-RPC: error.code -32024 und error.data.reason invalid_api_key; Data API: error.code und error.data.reason invalid_api_key). | Nein | Nein | — | API-Schlüssel prüfen; falls erforderlich, erneut in der Konsole oder über die programmatische Registrierung anmelden, um einen neuen Schlüssel zu erstellen (siehe Sitzung oder API-Schlüssel verloren?). |
| 403 | -32025 | key_expired | API-Schlüssel abgelaufen; neuen Schlüssel in der Konsole erstellen | Nein | Nein | — | API-Schlüssel abgelaufen; neuen Schlüssel in der Konsole oder über die programmatische Registrierung erstellen. |
| 403 | -32025 | key_cap_exhausted | Lebenslanges CU-Limit des API-Schlüssels aufgebraucht; neuen Schlüssel in der Konsole erstellen | Nein | Nein | — | Lebenslanges CU-Limit des API-Schlüssels aufgebraucht; neuen Schlüssel in der Konsole oder über die programmatische Registrierung erstellen. |
| 503 | -32021 | auth_unavailable | Authentifizierungsdaten vorübergehend nicht verfügbar | Nein | Ja | Retry-After-Header (Sekunden) beachten | Server kann Schlüssel vorübergehend nicht verifizieren; dies ist kein Problem mit Ihrem Schlüssel. Nach Wartezeit gemäß Retry-After wiederholen; den Schlüssel nicht neu erstellen. |
| 404 | -32600 | unknown_chain | Unbekannte Chain | Nein | Nein | — | Verfügbare Chains über GET /v1/chains oder das Tool list_chains prüfen; URL-Pfad überprüfen. |
| 404 | 404 | unknown_endpoint | Data-API-Methode und Pfad stimmen mit keiner bekannten Operation überein | Nein | Nein | — | Methode und URL-Pfad anhand der Data-API-Dokumentation überprüfen. |
| 200 | -32700 | parse_error | JSON-Parsing-Fehler | Nein | Nein | — | Gültige JSON-Syntax im Anfragetext vor dem Senden sicherstellen. |
| 200 | -32600 | invalid_request | Ungültige Anfrage | Nein | Nein | — | Anfragestruktur prüfen; Felder jsonrpc: '2.0', id und method vor erneutem Senden verifizieren. |
| 200 | -32602 | invalid_params | Tracer nicht zulässig | Nein | Nein | — | Methodenparameter anpassen; unterstützte Tracer und Timeout-Limits für die Chain prüfen. |
| 200 | -32602 | logs_range_too_large | Blockbereich für eth_getLogs zu groß: maximal <N> Blöcke | Nein | Nein | — | Blockbereich der Abfrage auf das in GET /v1/chains angegebene max_logs_block_range eingrenzen. |
| 429 | -32005 | public_rate_limit | Ratenlimit für öffentliche Anfragen überschritten | Nein | Ja | Retry-After-Header (Sekunden) beachten | Gemäß Retry-After-Header warten und wiederholen; oder Anfrage mit einem API-Schlüssel senden. API-Schlüssel anfordern. |
| 429 | -32005 | public_pool_busy | Öffentlicher Chain-Pool ist ausgelastet | Nein | Ja | Retry-After-Header beachten oder einige Sekunden warten und mit Backoff wiederholen | Mit Backoff wiederholen oder Anfrage mit einem API-Schlüssel senden. API-Schlüssel anfordern. |
| 200 | -32601 | method_not_public | Methode am öffentlichen Endpunkt nicht verfügbar | Nein | Nein | — | Eine vom öffentlichen Endpunkt unterstützte Methode verwenden oder Anfrage mit einem API-Schlüssel senden. API-Schlüssel anfordern. |
| 200 | -32601 | method_not_allowed | Methode auf dieser Chain nicht verfügbar oder durch Richtlinie deaktiviert | Nein | Nein | — | methods.allow und methods.deny in GET /v1/chains auf unterstützte Methoden prüfen. Die Unterstützung für das Senden von Transaktionen wird durch methods.allow in GET /v1/chains bestimmt. Das Senden von Transaktionen ist derzeit nicht verfügbar auf: HyperEVM. |
| 200 | -32601 | subscription_not_available | WebSocket-Abonnement wird auf dieser Chain nicht angeboten | Nein | Nein | — | Verfügbare Abonnements für diese Chain über GET /v1/chains prüfen. |
| 200 | -32602 | logs_filter_required | Logs-Abonnement erfordert eine Adresse oder topic0 (ein Wert ungleich null an erster Topic-Position) | Nein | Nein | — | Adresse oder ein topic0 ungleich null im Logs-Filter angeben. |
| 200 | -32600 | batch_too_large | Batch zu groß: maximal <N> Aufrufe | Nein | Nein | — | Batch in kleinere Batches aufteilen, die dem in den Fehlerdaten angegebenen maximalen Aufruflimit entsprechen. |
| 413 | 413 | request_too_large | Anfragetext der Data API überschreitet das Größenlimit | Nein | Nein | — | Größe des Anfragetexts verringern. |
| 200 | -32000 | not_found | Transaktion nicht gefunden | Nein | Nein | — | Falls kürzlich übermittelt oder gemint, Netzwerkweiterleitung abwarten und wiederholen; andernfalls Blocknummer oder Hash prüfen. |
| 200 | -32011 | state_window | Historischer Status außerhalb der letzten <N> Blöcke nicht verfügbar | Nein | Nein | — | Blöcke innerhalb von state_window_blocks gemäß GET /v1/chains abfragen oder Data API für historische Daten nutzen. |
| 200 | -32011 | range_not_indexed | Angeforderter Verlauf ist noch nicht vollständig indexiert | Nein | Nein | — | Angeforderten Verlauf auf einen indexierten Bereich eingrenzen; denselben nicht abgedeckten Bereich nicht unverändert wiederholen. |
| 200 | -32011 | history_not_ready | Angeforderter Verlauf ist noch nicht bereit | Nein | Ja | Warten, bis die Indexierung aufholt; error.data.retry_after_seconds beachten, sofern vorhanden | Wiederholen, sobald die Indexierung aufgeholt hat; angegebene Sekunden in error.data.retry_after_seconds abwarten. |
| 429 | -32005 | key_rate_limit | CU-Ratenlimit des API-Schlüssels überschritten | Nein | Ja | Retry-After-Header (Sekunden) beachten | Die im Retry-After-Header angegebene Dauer warten, bevor wiederholt wird, oder Last verteilen. |
| 429 | rate_limited | rate_limited | Ratenlimit für Anfragen an die API oder GET /v1/account überschritten (mehr als 5 Anfragen pro Sekunde für diesen Schlüssel) | Nein | Ja | Retry-After-Header (Sekunden) beachten | Den im Retry-After angegebenen Zeitraum warten, bevor wiederholt wird. |
| 429 | -32005 | concurrency_limit | Limit für gleichzeitige Anfragen überschritten | Nein | Ja | Retry-After-Header beachten oder auf den Abschluss aktiver Aufrufe warten | Client-Parallelitätspool verkleinern und wiederholen, sobald Plätze frei werden. |
| 429 | -32005 | free_plan_call_limit | Limit für Aufrufe pro Sekunde im kostenlosen Tarif überschritten | Nein | Ja | 1 Sekunde vor Wiederholung warten | Anfragerate drosseln oder aufladen, um Durchsatz der kostenpflichtigen Stufe freizuschalten. |
| 429 | -32022 | request_exceeds_burst | Anfragekosten von <N> CU übersteigen die Burst-Kapazität von <M> CU | Nein | Nein | — | Warten wird das Problem nicht lösen; Batch aufteilen oder Methodenparameter verringern, um innerhalb der Burst-Kapazität zu bleiben. |
| 429 | -32022 | free_plan_batch_too_large | Anfrage umfasst <N> Aufrufe und überschreitet das Limit des kostenlosen Tarifs von <M> Aufrufen pro Sekunde | Nein | Nein | — | Warten wird das Problem nicht lösen; Batch so aufteilen, dass die Aufrufanzahl im Limit des kostenlosen Tarifs liegt, oder aufladen. |
| 429 | -32005 | ws_connection_limit | WebSocket-Verbindungslimit für diesen Schlüssel oder dieses Konto erreicht | Nein | Nein | — | Ungenutzte WebSocket-Verbindung schließen oder bestehende Verbindung wiederverwenden. |
| 200 | -32022 | subscription_limit | WebSocket-Abonnementlimit für diese Verbindung erreicht | Nein | Nein | — | Ein bestehendes Abonnement kündigen oder eine andere Verbindung öffnen. |
| 200 | -32005 | ws_filter_capacity | Kapazität der WebSocket-Logs-Filter ist erschöpft | Nein | Nein | — | Bestehendes Logs-Abonnement kündigen oder einen engeren Filter verwenden. |
| 200 | -32026 | ws_push_overloaded | WebSocket-Benachrichtigungswarteschlange ist überlastet | Nein | Ja | Später mit Backoff wiederholen oder neu verbinden | eth_subscribe mit exponentiellem Backoff wiederholen oder neu verbinden. Bestehende Abonnements empfangen weiterhin Benachrichtigungen. |
| 200 | -32005 | overloaded | Dienst vorübergehend überlastet, bitte später erneut versuchen | Nein | Ja | Einige Sekunden warten und mit exponentiellem Backoff wiederholen | Backoff mit Jitter anwenden und Anfrage wiederholen. |
| 402 | -32020 | balance_exhausted | Unzureichendes Guthaben (wenn Guthaben bekannt ist, enthält error.data balance_units und balance_cu) | Nein | Nein | — | On-Chain aufladen: Einzahlungsadresse in der Konsole oder über `GET /v1/topup/deposit-address` abrufen (MCP `get_deposit_address`); siehe Leitfaden zur Aufladung für Agenten oder Kontingent in der Konsole zurücksetzen, falls berechtigt. Wenn Guthaben bekannt ist, enthält error.data balance_units (bei Überziehung negativ) und balance_cu. |
| 402 | -32020 | free_grant_exhausted | Freikontingent aufgebraucht (wenn Guthaben bekannt ist, enthält error.data balance_units und balance_cu) | Nein | Nein | — | On-Chain aufladen: Einzahlungsadresse in der Konsole oder über `GET /v1/topup/deposit-address` abrufen (MCP `get_deposit_address`); siehe Leitfaden zur Aufladung für Agenten, Kontingentrücksetzung nutzen, falls verfügbar, oder auf das Kontingent des nächsten Zyklus warten. Wenn Guthaben bekannt ist, enthält error.data balance_units (bei Überziehung negativ) und balance_cu. |
| 503 | -32021 | billing_unavailable | Abrechnungsdaten vorübergehend nicht verfügbar | Nein | Ja | Retry-After-Header (Sekunden) beachten | Dies ist kein Guthabenproblem; neu erstellte Schlüssel synchronisieren sich innerhalb von Sekunden. Gemäß Retry-After warten und wiederholen. |
| 200 | -32010 | node_syncing | Node synchronisiert; Aufrufe vorübergehend nicht verfügbar | Nein | Ja | Einige Sekunden warten und wiederholen | Warten, bis Node-Synchronisation abgeschlossen ist, oder GET /v1/status prüfen. |
| 200 | -32603 | upstream_unavailable | Upstream-Dienst nicht verfügbar | Nein | Ja | Einige Sekunden warten und wiederholen | Mit exponentiellem Backoff wiederholen; GET /v1/status zur Überprüfung des Node-Zustands abfragen. |
| 504 | 504 | upstream_timeout | Upstream-Dienst hat nicht innerhalb des Zeitlimits geantwortet | Nein | Ja | Nach kurzer Verzögerung wiederholen | Anfrage mit exponentiellem Backoff wiederholen. |
| 200 | -32000 | response_too_large | Upstream-Antwort zu groß | Nein | Nein | — | Abfrageparameter eingrenzen (z. B. Blockbereich in eth_getLogs verkleinern oder kleinere Traces anfordern). |
| 200 | -32603 | internal_error | Interner Dienstfehler | Nein | Nein | — | Anfrage wiederholen; bei anhaltenden Fehlern mit Zeitstempel an den Support wenden. |
| 200 | 4444 | — | Bereinigter Verlauf nicht verfügbar | Nein | Nein | — | Block liegt außerhalb des vom bereinigten Node vorgehaltenen Verlaufsfensters; historische Blöcke über Data API abfragen. |
| 200 | -32000 | — | Historischer Zustand nicht verfügbar; alte Daten aufgrund von Bereinigung nicht verfügbar | Nein | Nein | — | Blöcke innerhalb des Zustandsfensters abfragen oder Data API für historische Abfragen nutzen. |
| 200 | -32002 | — | <node message> | Nein | Ja | Einige Sekunden warten und mit kleinerem Batch wiederholen | Anzahl der Aufrufe im Batch reduzieren und wiederholen. |
| 200 | -32003 | — | <node message> | Nein | Nein | — | Batch in kleinere Anfragen aufteilen, um die Größe der Antwortdaten zu reduzieren. |
| 200 | -32601 | — | <node message> | Nein | Nein | — | methods.allow und methods.deny in GET /v1/chains auf unterstützte Methoden prüfen. Die Unterstützung für das Senden von Transaktionen wird durch methods.allow in GET /v1/chains bestimmt. Das Senden von Transaktionen ist derzeit nicht verfügbar auf: HyperEVM. |
| 200 | -32603 | — | <node message> | Nein | Ja | Nach kurzer Verzögerung wiederholen | Anfrage wiederholen; bei anhaltenden Fehlern mit Zeitstempel an den Support wenden. |
| 200 | -32600 | — | <node message> | Nein | Nein | — | Einzelne Anfragen im Batch auf nicht konforme Parameter prüfen; aufteilen und wiederholen. |
| 200 | * | — | <node message> | Ja | Nein | — | Node hat Berechnung durchgeführt und Aufruf wurde abgerechnet. Revert-Grund/-Daten oder Aufrufparameter prüfen; nicht blindlings wiederholen. |
| 408 | 408 | — | Zeitüberschreitung der Anfrage nach 35 s zwischen vollständigem Empfang des Anfrage-Headers und der Antwort | Möglich | Ja | Einige Sekunden warten, bevor Leseaufrufe wiederholt werden | Aufrufe haben möglicherweise die Node erreicht und wurden abgerechnet. Für Leseaufrufe mit Backoff wiederholen. Für Schreibaufrufe (z. B. eth_sendRawTransaction) zuerst den Transaktionsstatus per Hash prüfen. |
WebSocket-Close-Codes
WebSocket-Verbindungsschließungscodes und empfohlene Client-Aktionen.
| Code | Reason | Bedeutung | Wiederholbar | Wartezeit (Retry-After) | Agent-Aktion |
|---|---|---|---|---|---|
| 1001 | — | Inaktive Verbindung (Idle) | Ja | Bei Bedarf neu verbinden | Bei Bedarf neu verbinden. |
| 1003 | — | Binärframes werden nicht akzeptiert | Nein | — | Nicht automatisch neu verbinden; nur UTF-8-Textframes senden. |
| 1009 | — | Nachricht zu groß | Nein | — | Nicht automatisch neu verbinden; große Anfragen aufteilen, um unter 1 MiB zu bleiben. |
| 1012 | — | Dienstneustart | Ja | Mit gejittertem Backoff neu verbinden | Mit gejittertem Backoff neu verbinden, Abonnements erneuern und verpasste Daten nachträglich abrufen. |
| 1013 | — | Chain nicht verfügbar; überlastet | Ja | Mit exponentiellem Full-Jitter-Backoff neu verbinden | Mit exponentiellem Full-Jitter-Backoff neu verbinden, Abonnements erneuern und verpasste Daten nachträglich abrufen. |
| 4402 | — | Unzureichendes Guthaben | Nein | — | Nicht automatisch neu verbinden; On-Chain aufladen: Einzahlungsadresse in der Konsole oder über `GET /v1/topup/deposit-address` abrufen (MCP `get_deposit_address`); siehe Leitfaden zur Aufladung für Agenten oder Kontingent in der Konsole zurücksetzen, falls berechtigt. |
| 4404 | — | Ungültiger API-Schlüssel | Nein | — | Nicht automatisch neu verbinden; API-Schlüssel in der Konsole prüfen oder rotieren. |
| 4408 | — | Dienst schließt Sitzung, wenn Push-Warteschlange 512 KiB (524.288 Bytes) überschreitet, und verwirft ausstehende Benachrichtigungen; Client erhält möglicherweise keinen Close-Frame (Browser meldet 1006); unerwartete Verbindungsabbrüche wie 4408 behandeln. | Ja | Mit Backoff neu verbinden; Abonnements reduzieren oder schneller lesen | Unerwarteten Verbindungsabbruch ohne Close-Frame (Browser meldet 1006) wie 4408 behandeln: mit Backoff neu verbinden, Abonnements wiederherstellen und verworfene Daten mit eth_getLogs nachholen; Abonnements reduzieren oder schneller lesen. |
| 4429 | — | Push-Rate überschritten | Ja | Mit Backoff neu verbinden oder Abonnements reduzieren | Abonnements reduzieren oder mit Backoff neu verbinden. |
| 4503 | — | Abrechnungsdienst nicht verfügbar | Ja | Mit exponentiellem Full-Jitter-Backoff neu verbinden | Mit exponentiellem Full-Jitter-Backoff neu verbinden und erneut abonnieren. |
Data-API-Fehler
Von den Blockchain-Data-API-Endpunkten unter /v1/data/{chain}/ zurückgegebene Fehler.
| HTTP | Code | Reason | Bedeutung | Berechnet | Wiederholbar | Wartezeit (Retry-After) | Agent-Aktion |
|---|---|---|---|---|---|---|---|
| 400 | bad_request | — | Doppelter Abfrageparameter, ungültige Abfragezeichenfolge oder fehlerhafte Anfrage | Nein | Nein | — | Abfrageparameter prüfen; sicherstellen, dass Parameter wie limit höchstens einmal vorkommen und Abfrageparameter gültig sind. |
| 409 | not_indexed_yet | — | Angeforderte Blocknummer oder angefordertes Fenster liegt über as_of_block, oder Hash verweist auf einen Block über as_of_block (enthält indexed_through, sofern die Chain indexierte Blöcke aufweist) | Nein | Ja | Einige Sekunden warten, bis indexed_through den Block erreicht | Pollen, bis der angeforderte Block oder to_block kleiner oder gleich indexed_through ist, oder warten, bis die Chain beginnt, Blöcke zu schreiben. |
| 409 | window_too_large | — | Blockfenster umfasst mehr als 100.000 Blöcke und Parameter clamp wurde nicht auf true gesetzt | Nein | Nein | — | Blockbereich (from_block bis to_block) auf <= 100.000 Blöcke eingrenzen oder clamp=true übergeben. |
| 409 | too_many_pools | — | Token entspricht mehr als 200 Liquiditätspools; stattdessen nach Pool-Dimension abfragen | Nein | Nein | — | Nach spezifischer Pool-Adresse abfragen, anstatt alle Pools für den Token abzufragen. |
| 409 | span_exceeded | — | Angeforderter Datumsbereich überschreitet das Maximum von 90 Tagen | Nein | Nein | — | Datumsbereich zwischen from_time und to_time auf maximal 90 Tage eingrenzen. |
| 422 | no_coverage | — | Funktion auf dieser Chain nicht unterstützt oder angeforderter Block liegt vor dem Abdeckungsfenster | Nein | Nein | — | Vor der Abfrage `features` und `coverage.from_block` in GET /v1/data/chains (oder `data_features` im kostenlosen GET /v1/status) prüfen. |
| 503 | unavailable | — | Datendienst vorübergehend nicht verfügbar | Nein | Ja | Einige Sekunden warten und mit exponentiellem Backoff wiederholen | Nach kurzer Verzögerung mit exponentiellem Backoff wiederholen. |
| 402 | insufficient_balance | — | Kostenpflichtiges Guthaben oder Freikontingent aufgebraucht (wenn Guthaben bekannt ist, enthält error.data balance_units und balance_cu) | Nein | Nein | — | On-Chain aufladen: Einzahlungsadresse in der Konsole oder über `GET /v1/topup/deposit-address` abrufen (MCP `get_deposit_address`); siehe Leitfaden zur Aufladung für Agenten oder auf Auffüllung des Freikontingents warten. |
| 429 | cost_exceeds_burst | — | Eine einzelne Anfrage kostet mehr als die Burst-Kapazität des Schlüssels | Nein | Nein | — | Anfrage in kleinere Anfragen aufteilen; ein erneuter Versuch in unveränderter Form wird nie erfolgreich sein. |
| 503 | gateway_overloaded | — | Data-API-Kapazität ist vorübergehend nicht verfügbar | Nein | Ja | Retry-After: 1 Sekunde | Gleichzeitige Anfragen über die Schlüssel und Chains dieses Kontos hinweg reduzieren; vor erneuter Anfrage Retry-After abwarten. error.data.reason ist null. |
Konsole-, Konto- & Faucet-API-Fehler
Von den Verwaltungs-, Schlüsselbereitstellungs-, Authentifizierungs- und Faucet-Endpunkten unter /v1/ zurückgegebene Fehler.
| HTTP | Code | Reason | Bedeutung | Berechnet | Wiederholbar | Wartezeit (Retry-After) | Agent-Aktion |
|---|---|---|---|---|---|---|---|
| 409 | topup_disabled | — | Aufladung pausiert oder derzeit keine verfügbaren Netzwerke für Aufladungen; neue Adressen können nicht zugewiesen werden, bestehende zugewiesene Adressen bleiben dem Konto jedoch zugeordnet | Nein | Nein | — | Verfügbarkeit von Aufladungen über GET /v1/topup/status prüfen; später wiederholen, wenn Aufladungen aktiviert sind. |
| 503 | deposit_unavailable | — | Einzahlungsadresse kann vorübergehend nicht zugewiesen werden; Wiederholung gemäß Retry-After-Header | Nein | Ja | Retry-After-Header (Sekunden) beachten und exponentielles Backoff verwenden | Gemäß Retry-After-Header mit exponentiellem Backoff wiederholen. |
| 400 | invalid_request | invalid_username | Benutzername-Format ist ungültig (muss alphanumerisch sein oder Unterstriche enthalten) | Nein | Nein | — | Gültigen Benutzernamen angeben, der den Zeichen- und Längenanforderungen entspricht. |
| 400 | invalid_request | expires_at | Ablaufzeit des Schlüssels liegt nicht in der Zukunft oder überschreitet die maximal zulässige Gültigkeitsdauer | Nein | Nein | — | expires_at auf einen zukünftigen RFC 3339-Zeitstempel innerhalb des zulässigen Gültigkeitszeitraums festlegen (Standard: 365 Tage), oder expires_in_secs verwenden. |
| 400 | invalid_request | cu_cap | Der Parameter cu_cap liegt außerhalb des gültigen Bereichs (muss eine Ganzzahl zwischen 1 und 9007199254740991 sein) | Nein | Nein | — | cu_cap auf eine Ganzzahl zwischen 1 und 9007199254740991 anpassen oder weglassen für unbegrenzte CU. |
| 400 | siwe_invalid | expired | Sign-In with Ethereum (SIWE)-Nachricht ist abgelaufen oder Nonce wurde bereits verwendet | Nein | Ja | Sofort eine neue Challenge abrufen und signieren | Neue Challenge von /v1/auth/siwe/challenge anfordern und die neu ausgestellte Nachricht signieren. |
| 400 | siwe_invalid | chain_mismatch | chainId in der SIWE-Nachricht stimmt nicht mit den Servereinstellungen überein | Nein | Nein | — | Die von /v1/auth/siwe/challenge zurückgegebene chainId beim Erstellen der SIWE-Nachricht verwenden. |
| 400 | siwe_invalid | domain_mismatch | Domain in der SIWE-Nachricht stimmt nicht mit dem Server-Host überein | Nein | Nein | — | Sicherstellen, dass Domain und URI mit dem in der Challenge zurückgegebenen Server-Host übereinstimmen. |
| 400 | siwe_invalid | signature | Kryptografische SIWE-Signaturprüfung fehlgeschlagen | Nein | Nein | — | Überprüfen, ob die Nachricht mit dem privaten Schlüssel der angegebenen Adresse signiert wurde. |
| 409 | key_limit_reached | active_keys | Aktive (nicht widerrufene) API-Schlüssel haben das Kontolimit erreicht | Nein | Nein | — | Einen vorhandenen ungenutzten Schlüssel widerrufen, bevor ein neuer Schlüssel erstellt wird. |
| 409 | no_reset_available | nothing_to_reset | Guthaben liegt bereits beim oder über dem Rücksetzziel; Rücksetzmöglichkeit bleibt erhalten | Nein | Nein | — | Derzeit kein Zurücksetzen erforderlich; nutzen Sie die Rücksetzmöglichkeit, nachdem das Guthaben aufgebraucht ist. |
| 429 | rate_limited | daily_creations | 24-Stunden-Limit für die Schlüsselerstellung des Kontos erreicht | Nein | Ja | Retry-After-Header (Sekunden) beachten | Vorhandene Schlüssel rotieren, anstatt neue zu erstellen, oder das Zurücksetzen des 24-Stunden-Fensters abwarten. |
| 429 | signup_rate_limited | per_ip | Registrierungs-Ratenlimit für das Client-IP-Subnetz erreicht | Nein | Ja | Retry-After-Header (Sekunden) beachten | Das Retry-After-Intervall abwarten, bevor ein neues Konto aus diesem Netzwerk erstellt wird. |
| 429 | signup_rate_limited | global | Globales Ratenlimit für Neuregistrierungen über alle Quellen hinweg erreicht | Nein | Ja | Retry-After-Header (Sekunden) beachten | Das Retry-After-Intervall abwarten, bevor die Kontoerstellung erneut versucht wird. |
| 400 | oauth_invalid | — | OAuth-Parameter ungültig oder Callback-Status unbekannt, abgelaufen oder bereits verwendet | Nein | Ja | — | Einen neuen OAuth-Login-Flow über /v1/auth/{provider}/start initiieren. |
| 400 | login_code_invalid | — | Login-Code unbekannt, abgelaufen, bereits verwendet oder PKCE-Verifier stimmt nicht überein | Nein | Nein | — | Login neu starten, um einen neuen Login-Code zu erhalten. |
| 401 | unauthenticated | — | Sitzung fehlt oder Sitzungstoken ist ungültig, abgelaufen oder widerrufen; bei der Top-up API (/v1/topup/*) tritt dies auch auf, wenn der Authorization-Header einen Nicht-Bearer- oder ungültigen Token anstelle von x-api-key enthält | Nein | Nein | — | Erneut anmelden, um ein neues Bearer-Sitzungstoken zu erhalten; bei der Top-up API den API-Schlüssel im x-api-key-Header anstelle des Authorization-Headers übergeben. |
| 403 | user_disabled | — | Konto wurde durch die Administration gesperrt | Nein | Nein | — | Wenden Sie sich für Kontounterstützung an contact@blockvectra.com. |
| 404 | provider_disabled | — | OAuth-Anbieter wird erkannt, ist aber derzeit deaktiviert | Nein | Nein | — | SIWE oder einen anderen unterstützten Authentifizierungsanbieter verwenden. |
| 409 | identity_in_use | — | Identität (Wallet oder OAuth-Konto) ist bereits mit einem anderen Benutzer verknüpft | Nein | Nein | — | Die Identität vom vorherigen Konto trennen oder eine andere Identität verwenden. |
| 409 | identity_limit_reached | — | Maximale Anzahl verknüpfter Identitäten (5) für dieses Konto erreicht | Nein | Nein | — | Eine nicht benötigte Identität trennen, bevor eine neue verknüpft wird. |
| 409 | last_identity | — | Die einzige verbleibende Identität kann nicht vom Konto getrennt werden | Nein | Nein | — | Zuerst eine andere Identität verknüpfen, bevor diese entfernt wird. |
| 409 | key_not_active | — | Es wurde versucht, einen deaktivierten, widerrufenen oder abgelaufenen API-Schlüssel zu rotieren | Nein | Nein | — | Einen neuen Schlüssel erstellen oder einen aktiven Schlüssel rotieren. |
| 409 | no_reset_available | — | Keine Kontingent-Rücksetzmöglichkeiten mehr für dieses Konto vorhanden | Nein | Nein | — | On-Chain aufladen: Einzahlungsadresse in der Konsole oder über `GET /v1/topup/deposit-address` abrufen (MCP `get_deposit_address`); siehe Leitfaden zur Aufladung für Agenten oder auf den nächsten Aktionszyklus warten. |
| 413 | payload_too_large | — | Anfragetext überschreitet das Größenlimit von 64 KiB | Nein | Nein | — | Größe des Anfragetexts auf unter 64 KiB reduzieren. |
| 503 | signup_paused | — | Globale Neuregistrierungen sind vorübergehend pausiert; bestehende Logins sind nicht betroffen | Nein | Ja | Registrierung später wiederholen | Neuregistrierungen vorübergehend pausiert; Status prüfen und später erneut versuchen. |
| 503 | usage_unavailable | — | Nutzungsberichts-Dienst ist vorübergehend nicht verfügbar | Nein | Ja | Einige Sekunden warten und wiederholen | Betrifft nur den Endpunkt /usage; andere Endpunkte funktionieren normal. In Kürze wiederholen. |
| 500 | internal | — | Unerwarteter Serverfehler | Nein | Ja | Nach kurzer Verzögerung wiederholen | Anfrage mit exponentiellem Backoff wiederholen. |
| 400 | invalid_address | invalid_address | Format oder Prüfsumme der Empfängeradresse ist ungültig | Nein | Nein | — | 0x gefolgt von 40 Hexadezimalzeichen verwenden, kleingeschrieben oder mit EIP-55-Prüfsumme; data.field (/address) prüfen. |
| 503 | faucet_empty | faucet_empty | Das Faucet verfügt über unzureichende Mittel für die Anforderung und die Transaktionsgebühr | Nein | Ja | Retry-After-Header (Sekunden) beachten | Vor erneutem Versuch Retry-After abwarten; ohne akzeptierte Antwort nicht davon ausgehen, dass Test-ETH gesendet wurden. |
| 503 | service_unavailable | service_unavailable | Faucet-Anforderungsverarbeitung ist vorübergehend nicht verfügbar oder eine vorherige Anforderung hat noch keinen Beleg | Nein | Ja | Retry-After-Header (Sekunden) beachten | Vor erneutem Versuch Retry-After abwarten; ohne akzeptierte Antwort nicht davon ausgehen, dass Test-ETH gesendet wurden. |
Push-API-Fehler
Fehler aus der Webhook-Abonnementverwaltung und dem Ereignisverlauf unter /v1/push/.
| HTTP | Code | Reason | Bedeutung | Berechnet | Wiederholbar | Wartezeit (Retry-After) | Agent-Aktion |
|---|---|---|---|---|---|---|---|
| 400 | invalid_request | — | Ungültige Anfragefelder, Adressen, Paginierung oder Blockbereich. | Nein | Nein | — | data.field und data.invalid prüfen; Anfrage korrigieren. |
| 401 | missing_api_key | — | x-api-key fehlt. | Nein | Nein | — | API-Schlüssel im x-api-key-Header bereitstellen. |
| 401 | invalid_api_key | — | Unbekannter, deaktivierter oder widerrufener API-Schlüssel. | Nein | Nein | — | Einen aktiven Schlüssel Ihres Kontos verwenden. |
| 402 | insufficient_balance | — | Guthaben oder Freikontingent für den Ereignisverlauf aufgebraucht. | Nein | Nein | — | data.reason (balance_exhausted oder free_grant_exhausted) sowie data.balance_units / data.balance_cu (sofern vorhanden) prüfen; über data.topup_url oder data.deposit_address_url aufladen. |
| 403 | key_cap_exhausted | — | CU-Limit des API-Schlüssels für den Ereignisverlauf aufgebraucht. | Nein | Nein | — | data.cu_cap prüfen und neuen Schlüssel in der Konsole erstellen. |
| 403 | key_expired | — | API-Schlüssel ist abgelaufen. | Nein | Nein | — | Einen nicht abgelaufenen Schlüssel Ihres Kontos verwenden. |
| 404 | not_found | — | Route, Methode oder Abonnement nicht gefunden. | Nein | Nein | — | Pfad, Methode und Abonnementzugehörigkeit prüfen. |
| 409 | limit_reached | — | Limit für Kontoabonnements oder Adresspaare erreicht. | Nein | Nein | — | data.limit und data.max prüfen; Abonnements oder Adressen reduzieren. |
| 413 | request_too_large | — | Anfragetext überschreitet das Limit der Route. | Nein | Nein | — | Adress-Batch aufteilen oder Textgröße verringern. |
| 422 | chain_not_available | — | Chain für Push nicht verfügbar oder nicht im Abonnement enthalten. | Nein | Nein | — | GET /v1/push/chains und die Chains des Abonnements prüfen. |
| 422 | chains_required | — | Mindestens eine Chain ist erforderlich. | Nein | Nein | — | Ein nicht-leeres chains-Objekt angeben; offline-Status verwenden, um das Belauschen zu stoppen. |
| 422 | confirmations_out_of_range | — | Bestätigungstiefe liegt außerhalb des Chain-Bereichs. | Nein | Nein | — | confirmations zwischen data.min und data.max wählen. |
| 422 | destination_not_allowed | — | Empfänger-URL ist nicht zulässig. | Nein | Nein | — | data.rule prüfen; HTTPS-Hostnamen auf Port 443 ohne Benutzerinformationen oder Fragment verwenden. |
| 422 | block_out_of_range | — | Blockbereich liegt außerhalb des verfügbaren Replay- oder Verlaufsbereichs. | Nein | Nein | — | data.min_block und data.max_block verwenden, um den Bereich anzupassen. |
| 429 | cost_exceeds_burst | — | Kosten der Verlaufsanfrage übersteigen die Burst-Kapazität des Schlüssels. | Nein | Nein | — | data.reason (request_exceeds_burst) und data.max prüfen; Burst-Kapazität vor Wiederholung erhöhen. Unverändertes Wiederholen hilft nicht. |
| 429 | rate_limited | — | Ratenlimit für Verwaltung oder Verlaufsabfragen erreicht. | Nein | Ja | Sekunden im Retry-After abwarten. | Für Verlauf data.reason (key_rate_limit oder free_plan_call_limit) prüfen; Retry-After-Sekunden abwarten und Anfragefrequenz oder Parallelität verringern. |
| 500 | internal_error | — | Unerwarteter Dienstfehler. | Nein | Nein | — | x-request-id notieren und Support kontaktieren. |
| 503 | auth_unavailable | — | API-Schlüssel-Validierung vorübergehend nicht verfügbar. | Nein | Ja | Vor Wiederholung Retry-After-Sekunden abwarten. | Vor Wiederholung Retry-After-Sekunden abwarten. |
| 503 | billing_unavailable | — | Abrechnungsstatus für Verlauf vorübergehend nicht verfügbar. | Nein | Ja | Vor Wiederholung Retry-After-Sekunden abwarten. | Vor Wiederholung Retry-After-Sekunden abwarten. |
| 503 | upstream_unavailable | — | Push-Dienst vorübergehend nicht erreichbar. | Nein | Ja | Vor Wiederholung Retry-After-Sekunden abwarten. | Vor Wiederholung Retry-After-Sekunden abwarten. |
| 503 | service_unavailable | — | Push-Dienst oder Adresskapazität vorübergehend nicht verfügbar. | Nein | Ja | Vor Wiederholung Retry-After-Sekunden abwarten. | Vor Wiederholung Retry-After-Sekunden abwarten. |
Befolgen Sie bei Fehlern bei Webhook-Abonnements oder der erneuten Zustellung (Replay) den Leitfaden zur Wiederherstellung von Push-Zustellungen. Die Empfängerintegration beginnt mit der Signaturüberprüfung anhand des Raw-Bodys; das Stablecoin-Zahlungsbeispiel ergänzt Ereignis-Deduplizierung, Receipt-Prüfungen, Lücken-Backfill und Reorg-Bereinigung. Siehe Abrechnungsregeln zur Verbrauchsmessung und WebSocket-Wiederverbindung für verbindungsbasierte Abonnements.
Prüfen Sie bei logs_range_too_large die eth_getLogs-Methodenparameter und folgen Sie dem Leitfaden für Blockbereichslimits und partitionierte Abfragen.
Für Faucet-Anforderungen auf Robinhood Chain siehe den Testnet-Faucet-Leitfaden zu Voraussetzungen und zum Umgang mit gemeinsamen Fehlercodes.
Zuletzt aktualisiert:
Unterstützte Chains
Unterstützte Blockchain-Netzwerke, Chain IDs, URL-Strukturen und Funktionsverfügbarkeit. Endpunkte, Methoden und Datensatzabdeckung pro Chain im Überblick.
Schnellstart
Lesen Sie eine Blockhöhe ohne Schlüssel aus, erstellen Sie einen API-Schlüssel, senden Sie Ihren ersten authentifizierten Aufruf und fragen Sie anschließend Aktienaktivitäten ab, füllen Sie Logs nach oder empfangen Sie Webhooks.