Was nicht abgerechnet wird: Fehlercodes und Abrechnungsregeln
Eine detaillierte Aufschlüsselung der Abrechnungsregeln über HTTP-Statuscodes, JSON-RPC-Fehler und die Data-API hinweg mit Handlungsempfehlungen für Entwickler.
BlockVectra erfasst Anfragen in Compute Units (CU). JSON-RPC- und Data-API-Aufrufe werden erst abgerechnet, nachdem eine Antwort erhalten wurde. Dieser Leitfaden fasst die Regeln zur Abrechnungsermittlung über HTTP-Statuscodes, JSON-RPC-Aufrufe und die Data-API hinweg zusammen, zusammen mit empfohlenen Maßnahmen für Entwickler.
HTTP-Statuscodes und Abrechnungsregeln
Die Abrechnungsermittlung und Verhaltensregeln für Antworten auf HTTP-Ebene sind wie folgt:
| HTTP-Status | Antwort-Body | Szenario | Abgerechnet? | Empfohlene Maßnahme |
|---|---|---|---|---|
| 200 | JSON-RPC-Antwort (einzeln oder Batch) | Normale Antwort; alle Fehler auf JSON-RPC-Ebene (Parsing-Fehler, Ablehnung der Methode, Upstream-Ausfall, Node-Fehler) sind ebenfalls 200 | Pro Aufruf bewertet | Untersuchen Sie result oder error für jeden Aufruf; wenn ein Fehler zurückgegeben wird, siehe JSON-RPC-Fehlerbehandlung unten |
| 204 | Leer | Alle Aufrufe in der Anfrage sind Benachrichtigungen | Benachrichtigungen werden normal abgerechnet | Keine zusätzliche Maßnahme erforderlich |
| 400 | Leer | Fehlerhafte HTTP-Nachricht (Anfragezeile oder Header können nicht geparst werden, ungültige Chunked-Kodierung) oder mehr als 10 s zwischen zwei Lesevorgängen des Request-Bodys | Nein | HTTP-Anfragesyntax, Header und Übertragungskontinuität prüfen |
| 402 | JSON, -32020 | Unzureichendes Guthaben, Freibetrag aufgebraucht; wenn das Guthaben bekannt ist, enthält error.data balance_units und balance_cu | Nein | Prüfen Sie Ihr Guthaben auf der Abrechnungsseite der Konsole oder über GET /v1/topup/deposit-address (MCP get_deposit_address); laden Sie On-Chain auf die dedizierte Adresse Ihres Kontos auf (siehe den Agent-Aufladeleitfaden) |
| 403 | Leer | Andere Methoden als POST oder OPTIONS auf /v1/{chain} oder /v1/{chain}/{api_key} (unabhängig davon, ob der Chain-Name bekannt ist) | Nein | Ändern Sie die HTTP-Anfragemethode auf POST (oder Cross-Origin-OPTIONS-Preflight) |
| 401 | JSON, -32024 (missing_api_key oder invalid_api_key) | Fehlender Key bei bekannter Chain, Key unbekannt oder deaktiviert | Nein | Geben Sie einen aktiven API key im Header x-api-key an (brandneue oder rotierte Keys benötigen einige Sekunden, um wirksam zu werden; kurz warten und wiederholen) |
| 404 | JSON, -32600 (reason = unknown_chain) | POST an eine unbekannte {chain} | Nein | Überprüfen Sie den Chain-Namen in der URL anhand der unterstützten Chains (muss der exakte Kleinbuchstaben-Slug sein) |
| 404 | leerer Body | Nicht übereinstimmender Pfad (z. B. POST /v1, /v1/, POST /v1/{chain}/) | Nein | Chain in URL einbinden (/v1/{chain}) |
| 408 | Leer | Mehr als 35 s vom Lesen der Request-Header bis zur Rückgabe der Antwort vergangen | Möglich: An den Node weitergeleitete Aufrufe werden wie gewohnt abgerechnet, sobald der Node antwortet | Wiederholen Sie statusändernde Aufrufe (z. B. eth_sendRawTransaction) nicht bedingungslos; ein Verbindungsabbruch des Clients storniert bereits weitergeleitete Aufrufe nicht |
| 413 | Leer | Request-Body > 2 MiB (2.097.152 Bytes) | Nein | Request-Body unter 2 MiB halten; Batches in kleinere Anfragen aufteilen |
| 414 / 431 | Leer | URI zu lang (414) oder Request-Header zu groß (431) | Nein | Request-URI kürzen oder HTTP-Request-Header reduzieren |
| 429 | JSON, -32005 oder -32022; enthält Retry-After bei Rate-Limits (-32005); Burst-/Batch-Größenlimits (-32022) enthalten diesen nicht | Bucket-Guthaben erschöpft → -32005; CU einer einzelnen Anfrage überschreitet Burst-Kapazität → -32022; Aufruflimit des Kontos erschöpft → -32005; Aufrufe in einer einzelnen Anfrage überschreiten Limit → -32022 | Nein | Bei -32005 mit Retry-After die angegebenen Sekunden vor dem erneuten Versuch warten; bei -32022 die Anfrage aufteilen oder die Batch-Größe reduzieren (ein unveränderter Wiederholungsversuch wird niemals erfolgreich sein) |
| 503 | JSON, -32021, mit Retry-After | Abrechnungsdaten vorübergehend nicht verfügbar; Server weist Anfrage vorübergehend ab (kein Guthabenproblem, kein Aufladen erforderlich); neu erstellte Keys geben dies zurück, bis die Abrechnungsdaten synchronisiert sind (normalerweise wenige Sekunden) | Nein | Kein Guthabenproblem, kein Aufladen erforderlich; die in Retry-After angegebenen Sekunden warten und wiederholen |
Hinweis: Beim Zugriff über Cloudflare kann Cloudflare 52x- oder 1015-Fehlerseiten zurückgeben; diese werden nicht vom Dienst generiert.
Abrechnungs- und Guthaben-Response-Header: Beim Senden von
x-bv-meter: 1bei HTTP-Anfragen (gilt sowohl für JSON-RPC als auch für die Data-API) gibt eine Antwort, bei der mindestens ein Aufruf abgerechnet wurde,x-bv-cu-charged(die für diese Anfrage abgerechneten Compute Units oder die Summe über abgerechnete Aufrufe eines Batches) undx-bv-balance-units(die verbleibenden Guthabeneinheiten des Kontos direkt nach dieser Abrechnung, bei Überziehung negativ; weggelassen, wenn das Guthaben unbekannt ist) zurück. Anfragen ohnex-bv-meter: 1, Antworten, bei denen nichts abgerechnet wurde, sowie 402-, 403-, 429- oder 503-Fehlerantworten lassen beide Header weg. Diese Response-Header sind für Browser-Skripte über CORS zugänglich, während WebSocket sie nicht verwendet. Das Guthaben zieht die gesamte noch nicht abgerechnete Nutzung einmal aufgerundet auf ganze Einheiten ab; die stündliche Verrechnung rundet ab, sodass das gemeldete Guthaben nach der Verrechnung um bis zu eine Einheit steigen kann.
JSON-RPC-Fehlercodes und Abrechnungsregeln
Derselbe Fehlercode kann von der Plattform oder vom Node stammen, und die Abrechnung unterscheidet sich:
- Von der Plattform selbst generierte Fehler: werden niemals abgerechnet;
- Vom Node zurückgegebene Fehler: werden unverändert weitergeleitet und mit der Methodengewichtung abgerechnet, mit nur den unten aufgeführten Node-Fehlercodes als Ausnahmen.
Regeldetails
- Vom Node nicht abgerechnete Fehler: Die Node-Fehler
-32002(Batch-Timeout),-32003(Batch-Antwort zu groß) und-32600(Batch als Ganzes abgelehnt) weisen darauf hin, dass der Node den Aufruf vorzeitig abgebrochen hat; diese und alle Benachrichtigungen im selben Batch werden nicht abgerechnet. Node-Fehler-32601(offengelegte Methode nicht implementiert) und-32603(interner Node-Fehler) werden über HTTP oder WebSocket nicht abgerechnet und wirken sich nicht auf andere Aufrufe oder Benachrichtigungen im Batch aus. Darüber hinaus werden4444(bereinigter Block) und-32000(historischer Status außerhalb des Statusverlaufsfensters des Nodes, definiert durchstate_window_blocksinGET /v1/chains) nicht abgerechnet und wirken sich nicht auf andere Aufrufe im Batch aus. - Vom Node abgerechnete Fehler: Andere vom Node zurückgegebene Fehler werden mit der Methodengewichtung abgerechnet, wenn sie das Ergebnis der Chain melden, wie z. B.
execution reverted(-32000oder3mitdata), der eigene Node-Fehler-32602 invalid argument. - Guthabenzulassung und Synchronisierung:
-32020weist auf unzureichendes Kontoguthaben hin und erfordert eine Aufladung; wenn das Guthaben bekannt ist, übermittelnerror.data.balance_unitsunderror.data.balance_cuden verbleibenden Restbetrag (dieser kann negativ sein). Ein neu erstellter Key kann einige Sekunden lang-32021(503) zurückgeben; warten SieRetry-Afterab und wiederholen Sie die Anfrage. - Upstream-Ausfälle: Ein von der Plattform aufgrund eines Upstream-Kommunikationsfehlers oder einer fehlerhaften Antwort (
upstream unavailable,no response from upstream,malformed upstream response) generierter Fehler-32603enthältdata.reason: upstream_unavailable. - Abrechnung von Benachrichtigungen: Benachrichtigungen (204) werden mit ihren Methodengewichtungen abgerechnet.
Tabelle der JSON-RPC-Fehlercodes
| Code | Quelle | HTTP | Nachricht | Grund | Abgerechnet? | Empfohlene Maßnahme |
|---|---|---|---|---|---|---|
| -32700 | BlockVectra | 200 | parse error | - | Nein (kostet 1 CU-Rate-Limit-Token) | JSON-Syntax der Anfrage korrigieren |
| -32600 | BlockVectra | 200 | invalid request | invalid_request | Nein (kostet 1 CU-Rate-Limit-Token) | JSON-RPC-Anfragesyntax und -struktur korrigieren |
| -32600 | BlockVectra | 200 | batch too large: max <N> calls | batch_too_large (+max) | Nein | Batch in Aufrufe unterhalb des Limits aufteilen (Standard-Batch-Limit ist 100) |
| -32600 | BlockVectra | 200 | invalid request: ambiguous member name | invalid_request | Nein | Doppelte oder mehrdeutige Member-Namen in JSON-Objekten entfernen |
| -32601 | BlockVectra | 200 | method not available: <method> | - | Nein | Nur Methoden aufrufen, die für diese Chain zulässig sind (siehe Unterstützte Chains) |
| -32600 | BlockVectra | 404 | unknown chain | unknown_chain | Nein | Chain-Namen in der URL überprüfen |
| -32602 | BlockVectra | 200 | eth_getLogs block range too large: max <N> blocks | - | Nein | Blockbereich für eth_getLogs eingrenzen (Limit pro Chain definiert, z. B. 1000 Blöcke) |
| -32602 | BlockVectra | 200 | tracer not allowed | - | Nein | Einen zulässigen nativen Tracer verwenden (callTracer, flatCallTracer, prestateTracer, 4byteTracer, noopTracer oder weglassen) |
| -32602 | BlockVectra | 200 | trace timeout not allowed | - | Nein | Einen gültigen Go-Dauer-String mit Timeout ≤ 30s angeben |
| -32010 | BlockVectra | 200 | node is syncing; calls are temporarily unavailable | - | Nein | Node synchronisiert, später wiederholen (außer bei eth_chainId) |
| -32011 | BlockVectra | 200 | historical state is not available beyond the most recent <N> blocks | - | Nein | Einen aktuelleren Block abfragen (Zielblock muss innerhalb des Statusfensters liegen; Tags safe/finalized/earliest vermeiden) |
| -32000 | BlockVectra | 200 | transaction not found | not_found | Nein | Transaktions-Hash überprüfen (0x + 64 Hex-Zeichen) |
| -32000 | BlockVectra | 200 | block not found | not_found | Nein | Block-Hash oder Blocknummer überprüfen |
| -32000 | BlockVectra | 200 | upstream response too large | response_too_large | Nein | Abfrageumfang eingrenzen oder Anfragen aufteilen |
| -32005 | BlockVectra | 200 | - | overloaded | Nein | Server vorübergehend überlastet, später wiederholen |
| -32005 | BlockVectra | 429 | rate limit exceeded | key_rate_limit / free_plan_call_limit / concurrency_limit | Nein | Anforderungsfrequenz reduzieren; Retry-After beachten, falls vorhanden |
| -32022 | BlockVectra | 429 | request cost <N> CU exceeds burst capacity <M> CU | request_exceeds_burst | Nein | Anfrage oder Batch so aufteilen, dass die CU der einzelnen Anfrage unter der Burst-Kapazität liegt |
| -32022 | BlockVectra | 429 | request has <N> calls, exceeding the free-plan limit of <M> calls per second | free_plan_batch_too_large (+max) | Nein | Batch so aufteilen, dass er unter das Limit pro Sekunde passt, oder auf einen kostenpflichtigen Tarif upgraden |
| -32603 | BlockVectra | 200 | upstream unavailable | upstream_unavailable | Nein | Upstream-Kommunikationsfehler, später wiederholen |
| -32603 | BlockVectra | 200 | no response from upstream | upstream_unavailable | Nein | Upstream hat nicht geantwortet, später wiederholen |
| -32603 | BlockVectra | 200 | malformed upstream response | upstream_unavailable | Nein | Upstream-Antwort fehlerhaft, später wiederholen |
| -32603 | BlockVectra | 200 | - | - | Nein | Seltener interner Fehler, später wiederholen |
| -32020 | BlockVectra | 402 | insufficient balance | balance_exhausted / free_grant_exhausted (+topup_url, und +balance_units / balance_cu wenn Guthaben bekannt ist) | Nein | Prüfen Sie Ihr Guthaben auf der Abrechnungsseite der Konsole oder über GET /v1/topup/deposit-address (MCP get_deposit_address); laden Sie On-Chain auf die dedizierte Adresse Ihres Kontos auf (siehe den Agent-Aufladeleitfaden) |
| -32021 | BlockVectra | 503 | billing data temporarily unavailable | - | Nein | Abrechnungsdaten synchronisieren (kein Guthabenproblem); Retry-After Sekunden warten und wiederholen |
| 4444 | Node | 200 | pruned history unavailable | - | Nein | Angeforderter Block wurde vom Node bereinigt; nicht abgerechnet; wirkt sich nicht auf Batch aus |
| -32000 | Node | 200 | historical state ... is not available | - | Nein | Außerhalb des Statusverlaufsfensters des Nodes; nicht abgerechnet; wirkt sich nicht auf Batch aus |
| -32000 | Node | 200 | old data not available due to pruning... | - | Nein | Außerhalb des Verlaufsfensters des Nodes (Fenster bestimmt durch state_window_blocks); nicht abgerechnet; wirkt sich nicht auf Batch aus |
| -32002 | Node | 200 | <node message> | - | Nein | Node hatte Timeout beim Batch und brach Aufruf ab; nicht abgerechnet; Benachrichtigungen im Batch ebenfalls nicht abgerechnet |
| -32003 | Node | 200 | <node message> | - | Nein | Node-Batch-Antwort zu groß und abgebrochen; nicht abgerechnet; Benachrichtigungen im Batch ebenfalls nicht abgerechnet |
| -32601 | Node | 200 | <node message> | - | Nein | Offengelegte Methode ist vom Node nicht implementiert; andere unterstützte Methode verwenden |
| -32603 | Node | 200 | <node message> | - | Nein | Interner Node-Fehler; mit Backoff wiederholen |
| -32600 | Node | 200 | <node message> | - | Nein | Gesamter Batch vom Node abgelehnt; nicht abgerechnet; Benachrichtigungen im Batch ebenfalls nicht abgerechnet |
| Andere | Node | 200 | <node message> | - | Ja (Methodengewichtung) | Chain-Ergebnis (z. B. execution reverted, Node -32602); Vertragsparameter prüfen |
Data-API-Abrechnungsregeln
Die Data-API kapselt schreibgeschützte Chain-Daten in REST-Endpunkten. Ihre Abrechnung und Fehlerbehandlung folgen diesen Regeln:
Regeldetails
- Nur 2xx-Erfolgsantworten werden abgerechnet.
- Nicht verfügbare Operationen außerhalb der Abdeckung (wie z. B. nicht unterstützte Chains oder Blöcke außerhalb der Trace-Abdeckung) geben HTTP 422
no_coveragezurück, was nicht abgerechnet wird, aber für Rate-Limits zählt. - HTTP 401-, 402-, 404- und 429-Antworten werden nicht abgerechnet. Für Response-Header (
x-bv-meter: 1) siehe HTTP-Statuscodes und Abrechnungsregeln.
Tabelle der Data-API-Statuscodes
| HTTP-Status | Fehlercode / Szenario | Abgerechnet? | Empfohlene Maßnahme |
|---|---|---|---|
| 200 | Erfolgreiche Datenantwort | Ja (CU-Gewichtung der Data-API-Operation) | data, meta und next_cursor im Antwort-Envelope parsen |
| 400 | Anfrageparameter fehlerhaft oder erforderliche Felder fehlen | Nein | Query- oder Body-Parameter prüfen und korrigieren |
| 402 | Guthaben aufgebraucht (error.code: "insufficient_balance", enthält balance_units und balance_cu wenn Guthaben bekannt ist) | Nein | Prüfen Sie Ihr Guthaben auf der Abrechnungsseite der Konsole oder über GET /v1/topup/deposit-address (MCP get_deposit_address); laden Sie On-Chain auf die dedizierte Adresse Ihres Kontos auf (siehe den Agent-Aufladeleitfaden) |
| 401 | API key fehlt, unbekannt oder deaktiviert (error.code: "missing_api_key" oder "invalid_api_key") | Nein | Einen aktiven API key im x-api-key-Header übergeben |
| 404 | Unbekannte oder nicht öffentliche Chain (error.code: "not_found") oder angefordertes Objekt existiert nicht | Nein | Den Chain-Slug in der URL (muss exakt kleingeschrieben sein) und den Anfrageweg prüfen |
| 409 | Angeforderter Block oder Fenster liegt über der aktuell indizierten Höhe (error.code: "not_indexed_yet", enthält indexed_through) | Nein | Blöcke bis zu indexed_through abfragen oder später wiederholen |
| 422 | Chain-spezifische Operation nicht verfügbar (z. B. nicht unterstützte Chain oder außerhalb der Trace-Abdeckung, error.code: "no_coverage") | Nein (zählt für Rate-Limits) | Unterstützte Funktionen über GET /v1/status prüfen (kostenlose, schlüssellose data_features) |
| 429 | Rate-Limit überschritten (error.code: "rate_limited") oder eine einzelne Anfrage kostet mehr als die Burst-Kapazität des Keys (error.code: "cost_exceeds_burst") | Nein | Anforderungsfrequenz reduzieren; übergroße Anfragen aufteilen (eine Anfrage, die den Burst überschreitet, wird in der gesendeten Form niemals erfolgreich sein) |
| 503 | Data-Service vorübergehend nicht verfügbar (error.code: "unavailable") oder die Chain ist ausgelastet (error.code: "gateway_overloaded") | Nein | Später wiederholen und Retry-After beachten, falls vorhanden |
Guthaben abfragen (GET /v1/account)
Ein Inhaber eines API keys kann Guthaben- und Key-Kontingentdetails direkt überprüfen, ohne dass Kosten anfallen oder Compute Units (CU) abgezogen werden:
curl -H "x-api-key: $BLOCKVECTRA_API_KEY" https://api.blockvectra.com/v1/account- Kostenlos und nicht abgerechnet:
GET /v1/accountist kostenlos. Es wird niemals abgerechnet, zieht keine CU ab und gibt HTTP 200 mit dem aktuellen Guthaben zurück, selbst wenn dieses null oder negativ ist (es gibt niemals 402 zurück). - Authentifizierung: Die Key-Authentifizierung verwendet ausschließlich den Header
x-api-key(Pfad-Keys und Bearer-Token werden nicht akzeptiert). Ein fehlender Header gibt 401missing_api_keyzurück; ungültige oder widerrufene Keys geben 401invalid_api_keyzurück. (Abgelaufene Keys geben 403key_expiredzurück; vorübergehende Dienstausfälle geben 503auth_unavailableoderbilling_unavailablemitRetry-Afterzurück.) - Rate-Limiting: Hat ein unabhängiges Limit von 5 Anfragen pro Sekunde pro Key-ID, unabhängig von der CU-Messung und Abrechnung. Ein Überschreiten des Limits gibt HTTP 429
rate_limitedmit einemRetry-After-Header zurück.
Antwortfelder:
key_id: Der Bezeichner-String des API keys.plan: Tariftyp des Kontos (free, wenn das Konto über ein Freikontingent für die Aufrufrate verfügt; andernfallspaid).balance_units: Verbleibendes Kontoguthaben in Einheiten (kann null oder negativ sein).balance_cu: Verbleibendes Guthaben umgerechnet in Compute Units (CU).balance_as_of_age_ms: Millisekunden, die vergangen sind, seit das Guthaben aus seiner Datenquelle gelesen wurde.key: Key-spezifische Limits und Kontingentdetails:cu_per_sec: Wiederauffüllrate des Token-Buckets in CU pro Sekunde.burst_cu: Burst-Kapazität des Token-Buckets in CU.cu_cap: Lebenslange CU-Obergrenze für diesen Key odernull, wenn unbegrenzt.cu_cap_remaining: Verbleibende CU untercu_capodernull, wenn unbegrenzt (kann null oder negativ sein).expires_at: RFC 3339-Ablaufzeitstempel odernull, wenn der Key niemals abläuft.
Beispielantwort:
{
"key_id": "<key_id>",
"plan": "<plan>",
"balance_units": <integer>,
"balance_cu": <integer>,
"balance_as_of_age_ms": <integer>,
"key": {
"cu_per_sec": <integer>,
"burst_cu": <integer>,
"cu_cap": <integer_or_null>,
"cu_cap_remaining": <integer_or_null>,
"expires_at": "<expires_at_or_null>"
}
}Preise und Upgrades
Die spezifischen Kosten für alle abgerechneten Aufrufe werden durch veröffentlichte CU-Gewichtungen bestimmt:
- Um die Gewichtungen für alle Methoden und Operationen einzusehen, siehe die Methodengewichtungstabelle und die JSON-RPC-CU-Abrechnungsregeln.
- Einzelheiten zu Tarifpreisen und Verrechnung finden Sie auf der Preisseite.
- Upgrade auf einen kostenpflichtigen Tarif: Eine bezahlte Aufladung hebt das Limit für Aufrufe pro Sekunde des kostenlosen Tarifs auf; jeder Key unterliegt weiterhin den CU-Rate- und Burst-Limits.
On-Chain-Aufladeprozess
Wenn Ihr Kontoguthaben unzureichend ist oder Sie einen höheren Durchsatz benötigen, laden Sie in der Konsole On-Chain anhand dieser Schritte auf:
- In der Konsole anmelden: Melden Sie sich in der BlockVectra-Konsole an.
- Zur Abrechnungsseite navigieren: Gehen Sie zur Abrechnungsseite.
- Ihre dedizierte Adresse abrufen: Kopieren Sie auf der Karte für die On-Chain-Aufladung die dedizierte Aufladeadresse Ihres Kontos oder scannen Sie den QR-Code.
- Guthaben überweisen: Überweisen Sie ausschließlich unter Verwendung der auf der Seite aufgeführten unterstützten Netzwerke und USDC / USDT / USDG. Unterstützte Netzwerke und Mindestaufladebeträge werden in der Konsole angezeigt.
- Automatische Gutschrift: Sobald sie On-Chain erkannt wurden, werden Transaktionen als „Processing“ angezeigt; nach der Gutschrift wird das Guthaben automatisch Ihrem Saldo hinzugefügt.
Wichtige Hinweise:
- Verwenden Sie ausschließlich die in der Konsole ausdrücklich aufgeführten Netzwerke und Token. Überweisungen auf nicht unterstützten Chains oder mit falschen Token können nicht automatisch gutgeschrieben werden.
- Stellen Sie sicher, dass jede Überweisung den in der Konsole angegebenen Mindestaufladebetrag erreicht.
- Sobald Ihre erste bezahlte Aufladung gutgeschrieben ist, wird Ihr Konto auf ein kostenpflichtiges Konto hochgestuft, wodurch das Limit für Aufrufe pro Sekunde des kostenlosen Tarifs aufgehoben wird.
Agent- oder Serverprogramme können Auflade-Endpunkte direkt über einen API key aufrufen; siehe den Leitfaden zur programmatischen Agent-Aufladung.
Webhook-Push-Abrechnung
Push verfügt über separate Gewichtungen für zugestellte Datenereignisse, erfolgreiche Verlaufsabfragen und abrechenbare Adresstage. Verwaltungsaufrufe außer dem Ereignisverlauf, fehlgeschlagene Zustellversuche, automatische Wiederholungsversuche und Steuerereignisse sind kostenlos. Jedes zugestellte Ereignis wird einmal abgerechnet; Kunden-Wiederholungen und kanonische Ereignisse, die nach einem Reorg erneut zugestellt werden, sind neue abgerechnete Zustellungen. Adressgebühren verwenden die maximale Adressanzahl jedes Abonnements während des UTC-Tages, während es online ist; der Freibetrag für Adressen des Kontos wird über Abonnements hinweg geteilt, wobei ältere Abonnements ihn zuerst nutzen. Eine Adresse in zwei Abonnements wird doppelt gezählt; das Hinzufügen von Chains ändert die Ereignisgebühren, nicht die Adressgebühren.
Siehe den Blockchain-Webhook-API-Leitfaden für die Einrichtung, Signaturprüfung und Zustellungs-Wiederherstellung. Der Stablecoin-Zahlungsleitfaden behandelt die Receipt-Validierung und das Polling-Backfill; WebSocket-Abonnements verwenden ihre eigene Verbindungs- und Benachrichtigungsmessung. Anfragefehler sind in der Fehlerreferenz aufgeführt. Die folgenden Gewichtungen stammen aus GET /v1/plans.
| Nutzung | Abrechnungseinheit | CU |
|---|---|---|
push.address_day | Abrechenbarer Adresse-Tag | 33 |
push.history | Erfolgreiche Verlaufsabfrage | 25 |
push.log | Zugestelltes Datenereignis | 150 |
push.native_transfer | Zugestelltes Datenereignis | 150 |
push.token_transfer | Zugestelltes Datenereignis | 150 |
Kostenlose Adressen pro Konto pro UTC-Tag: 1000
Kontingent kostenloser Adressen pro Konto pro UTC-Tag, geteilt von allen Abonnementgruppen unabhängig vom Tarif. Für jede Gruppe wird die maximale Anzahl an Adressen gezählt, während sie an diesem Tag online war; das Kontingent wird in aufsteigender Reihenfolge der Gruppen-IDs zugewiesen. Dieselbe Adresse in zwei Gruppen wird doppelt gezählt; die Anzahl der Chains in einer Gruppe multipliziert die Adressanzahl nicht. Eine Gruppe, die den gesamten Tag offline oder gelöscht war, trägt nichts bei. Für jede Gruppe wird die nach ihrem Anteil am Kontingent verbleibende Anzahl mit dem CU-Gewicht `push.address_day` in `method_weights` multipliziert. Das aktuell konfigurierte Kontingent stammt aus derselben Preisrichtlinie, die für die Adresse-Tag-Gebühr verwendet wird; es handelt sich nicht um ein Kontokapazitätslimit oder ein separates Kontingent pro Gruppe.
Beispiel: 10 zugestellte native.transfer-Ereignisse, 2 erfolgreiche Verlaufsabfragen und 10 abrechenbare Adresse-Tage kosten 10 × 150 + 2 × 25 + 10 × 33 = 1880 CU. Abrechenbare Adresse-Tage werden nach Abzug des kostenlosen Adresskontingents des Kontos berechnet.
Nächste Schritte
- Datensatzverzeichnis durchsuchen, um jeden von BlockVectra indizierten Datensatz einzusehen.
- Kostenlosen Tarif und Preise ansehen, um zu prüfen, was Ihr Konto beinhaltet.
- In der Konsole anmelden, um einen API key zu erstellen.
Zuletzt aktualisiert:
Base
Verbinden Sie sich mit dem Base Mainnet über eine öffentliche RPC-URL oder einen API key. Nutzen Sie curl- und viem-Beispiele, prüfen Sie unterstützte Methoden und Limits und untersuchen Sie den Data-API-Status.
Chainstack-Vergleich
Nutzen Sie BlockVectra für unterstützte EVM-Lesezugriffe mit methodenbasierter Bepreisung, ohne monatliches RPC-Abonnement, und vergleichen Sie die Kosten nach Verbrauch enthaltener Request Units.