Zum Hauptinhalt springen
POST
Leiten Sie eine JSON-RPC-2.0-Anfrage (einzeln oder im Batch) an einen unterstützten Blockchain-Knoten weiter. Unterstützt sowohl API-Schlüssel- als auch x402-Wallet-Authentifizierung. Die Abrechnung erfolgt pro Credit und in Ihrem Venice-Guthaben — ein Zugang, eine Rechnung, jede der unten genannten Chains.

Authentifizierung

Dieser Endpoint unterstützt zwei Authentifizierungsmethoden:
  • API-Schlüssel: Standard-Bearer-Token-Authentifizierung über den Header Authorization: Bearer <key>.
  • x402-Wallet: Pay-as-you-go mit USDC-Credits aus einer Wallet auf Base oder Solana. Kein Venice-Konto erforderlich. Siehe den x402-Leitfaden für die Einrichtung.
Beide Methoden teilen sich dieselben Rate-Limits und die gleiche Abrechnung (Venice Credits).

Unterstützte Netzwerke

Siehe GET /crypto/rpc/networks für die aktuelle, maßgebliche Liste. Aktuelle Abdeckung:

Request-Formate

Einzel-Request

Batch-Request

Ein Array mit bis zu 100 JSON-RPC-2.0-Objekten. Jedes Element wird unabhängig validiert; wenn eine Methode nicht unterstützt wird, wird der gesamte Batch mit 400 abgelehnt, und jeder fehlerhafte Methodenname wird in der Fehlermeldung aufgeführt.

Unterstützte Methoden und Preisstufen

Methoden werden in drei Credit-Stufen eingeteilt. Verbrauchte Credits pro Aufruf = baseCredits[chain] × methodTier.

Basis-Credits pro Chain

Kostenbeispiele

Bei Venice’s ~$6.25 × 10⁻⁷ pro Credit:

Nicht unterstützt

  • WebSocket-only-Methoden (eth_subscribe, eth_unsubscribe) — dieser Proxy ist nur HTTP. Verwenden Sie stattdessen Polling oder wechseln Sie zu einem direkten WebSocket-Anbieter.
  • Stateful-Filter-Methoden (eth_newFilter, eth_getFilterChanges, eth_getFilterLogs, eth_uninstallFilter, eth_newBlockFilter, eth_newPendingTransactionFilter) — der Filter-Zustand ist an ein einzelnes Upstream-Backend gebunden und bricht bei einem load-balanced HTTP-Proxy unbemerkt zusammen. Verwenden Sie stattdessen eth_getLogs (stateless).
  • Miner-/Schlüsselverwaltungs-Methoden (eth_sign, eth_accounts, eth_mining, eth_hashrate, eth_getWork, eth_submitWork) — gehostete Provider-Endpoints halten keine privaten Schlüssel der Benutzer, daher liefern diese immer Fehler. Signieren Sie Transaktionen clientseitig und senden Sie sie über eth_sendRawTransaction.
  • Nicht zugeordnete Methoden — alles, was nicht explizit auf der Allowlist steht, gibt 400 zurück. Kontaktieren Sie den Support, um Ergänzungen anzufordern.

Per-Item-Batch-Abrechnung

Auch wenn die HTTP-Antwort 200 lautet, können einzelne Batch-Items mit einem JSON-RPC-error-Feld zurückkommen (z. B. ein Fehler wegen ungültiger Parameter oder eine auf der Ziel-Chain nicht unterstützte Methode). Venice rechnet diese Items mit 5 Credits pro Stück ab statt mit dem vollen Methoden-Tier — ein kleines Entgegenkommen für normale “API-Erkundungs”-Fehler.
Das erste Item (Erfolg) wird mit 20 Credits berechnet, das zweite (RPC-Level-Fehler) mit 5, Summe = 25.

Rate-Limits

Maximale Anzahl von Anfragen pro Minute pro authentifiziertem Aufrufer: Wenn das Limit überschritten wird, gibt der Endpoint 429 mit einer customMessage und den Standard-Response-Headern X-RateLimit-* zurück.

Idempotenz

Setzen Sie den Request-Header Idempotency-Key auf einen beliebigen String, der [A-Za-z0-9_-]{1,255} entspricht, um sichere Wiederholungen zu ermöglichen. Die Antwort wird 24 Stunden lang gecacht, basierend auf (user, idempotency-key):
  • Das Wiederholen desselben Schlüssels mit demselben Body gibt die gecachte Antwort und den Response-Header Idempotent-Replayed: true zurück. Der Upstream wird nicht angesprochen, und es werden keine neuen Credits berechnet.
  • Das Wiederholen desselben Schlüssels mit einem anderen Body gibt 400 zurück, um stille Zustandsbeschädigung zu verhindern. Wählen Sie einen neuen Schlüssel für unterschiedliche Anfragen.

Response-Header

Forensisches Logging für Transaktions-Relays

Jeder Aufruf von eth_sendRawTransaction wird serverseitig mit dem Tx-Hash (keccak256 der Roh-Bytes), dem Netzwerk-Slug, der Request-ID und der aufrufenden User-ID protokolliert. Wir speichern den signierten Payload selbst nicht — der Hash kann aus der On-Chain-Quittung wiederhergestellt werden. Dieser Audit-Trail existiert, damit wir, falls der API-Schlüssel eines Kunden kompromittiert und für die Weiterleitung illegaler Transaktionen über unsere Infrastruktur verwendet wird, On-Chain-Aktivitäten dem verantwortlichen Konto zuordnen können.

Beispiel

Response-Header: X-Venice-RPC-Credits: 20, X-Venice-RPC-Cost-USD: 0.00001250, X-Request-ID: <nanoid>.

Postman-Collection

Eine sofort importierbare Postman-Collection mit 27 Beispielanfragen (Discovery, Standard/Advanced/Large-Aufrufe, Multi-Chain, Batching, Idempotenz, Fehlerfälle) ist in unserem öffentlichen Workspace verfügbar: Venice Crypto RPC — Postman Collection Setzen Sie die Collection-Variable apiKey auf Ihren Venice-API-Schlüssel und beginnen Sie sofort, Anfragen zu senden.

Autorisierungen

Authorization
string
header
erforderlich

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Header

Idempotency-Key
string

Optional idempotency key for safe retries. Pattern: [A-Za-z0-9_-]{1,255}. Retrying within 24 hours with the same key + same body replays the cached response with Idempotent-Replayed: true. Same key + different body returns 400.

Pattern: ^[A-Za-z0-9_-]{1,255}$
Beispiel:

"a1b2c3d4-e5f6-7890-abcd-ef1234567890"

Pfadparameter

network
string
erforderlich

Venice-side network slug. Call GET /api/v1/crypto/rpc/networks for the current list.

Beispiel:

"ethereum-mainnet"

Body

application/json
method
string
erforderlich

JSON-RPC method name. See the "Supported methods" section of the endpoint description for the classification into 1×/2×/4× pricing tiers.

Beispiel:

"eth_chainId"

jsonrpc
enum<string>
Verfügbare Optionen:
2.0
Beispiel:

"2.0"

params
any[]

Method parameters. Shape depends on the method; see the upstream chain documentation.

Beispiel:
id

Caller-supplied request ID echoed back in the response. Required for batch request correlation.

Beispiel:

1

Antwort

JSON-RPC response forwarded from the upstream node. Content-Type is forced to application/json regardless of upstream headers.

jsonrpc
string
Beispiel:

"2.0"

id
result
any

Method-dependent result. Present on success.

error
object

JSON-RPC error object. Present on per-request failure (HTTP status is still 200 in that case).