Skip to main content
POST
Inoltra una richiesta JSON-RPC 2.0 (singola o batch) verso un nodo blockchain supportato. Supporta sia l’autenticazione tramite API key sia tramite wallet x402. La fatturazione avviene per credito ed è denominata nel tuo saldo Venice — una sola credenziale, una sola fattura, ogni chain qui sotto.

Autenticazione

Questo endpoint supporta due metodi di autenticazione:
  • API key: autenticazione Bearer standard tramite l’header Authorization: Bearer <key>.
  • Wallet x402: paga al consumo con crediti USDC da un wallet su Base o Solana. Nessun account Venice richiesto. Consulta la guida x402 per la configurazione.
Entrambi i metodi condividono gli stessi rate limit e la stessa fatturazione (crediti Venice).

Reti supportate

Consulta GET /crypto/rpc/networks per l’elenco live e autorevole. Copertura attuale:

Forme della richiesta

Richiesta singola

Richiesta batch

Un array di fino a 100 oggetti JSON-RPC 2.0. Ogni elemento viene validato indipendentemente; se un metodo non è supportato, l’intero batch viene rifiutato con 400 e ogni nome di metodo offensivo è elencato nel messaggio di errore.

Metodi supportati e tier di prezzo

I metodi sono classificati in tre tier di credito. Crediti consumati per chiamata = baseCredits[chain] × methodTier.

Crediti base per chain

Esempi di costo

Al prezzo Venice di ~$6,25 × 10⁻⁷ per credito:

Non supportati

  • Metodi solo WebSocket (eth_subscribe, eth_unsubscribe) — questo proxy è solo HTTP. Esegui invece il polling o passa a un provider WebSocket diretto.
  • Metodi filter con stato (eth_newFilter, eth_getFilterChanges, eth_getFilterLogs, eth_uninstallFilter, eth_newBlockFilter, eth_newPendingTransactionFilter) — lo stato del filter è fissato a un singolo backend upstream e si interrompe silenziosamente su un proxy HTTP con load balancing. Usa invece eth_getLogs (stateless).
  • Metodi miner / detentori di chiavi (eth_sign, eth_accounts, eth_mining, eth_hashrate, eth_getWork, eth_submitWork) — gli endpoint dei provider hosted non detengono le chiavi private degli utenti, quindi questi danno sempre errore. Firma le transazioni lato client e invia tramite eth_sendRawTransaction.
  • Metodi non mappati — tutto ciò che non è esplicitamente in allowlist restituisce 400. Contatta il supporto per richiedere aggiunte.

Fatturazione per voce di batch

Anche quando la risposta HTTP è 200, le singole voci di batch possono tornare con un campo error JSON-RPC (ad esempio un errore di bad-params o un metodo non supportato sulla chain di destinazione). Venice fattura queste voci a 5 crediti ciascuna anziché all’intero tier del metodo — una piccola concessione per i normali errori di “esplorazione dell’API”.
La prima voce (successo) fattura 20 crediti, la seconda (errore a livello RPC) fattura 5, somma = 25.

Rate limit

Limite di richieste al minuto per chiamante autenticato: Quando il limite viene superato, l’endpoint restituisce 429 con un customMessage e gli header di risposta X-RateLimit-* standard.

Idempotenza

Imposta l’header di richiesta Idempotency-Key su qualsiasi stringa che corrisponda a [A-Za-z0-9_-]{1,255} per abilitare retry sicuri. La risposta viene memorizzata in cache per 24 ore con chiave (user, idempotency-key):
  • Riprodurre la stessa chiave con lo stesso body restituisce la risposta in cache e un header di risposta Idempotent-Replayed: true. L’upstream non viene contattato e nessun nuovo credito viene addebitato.
  • Riprodurre la stessa chiave con un body diverso restituisce 400 per prevenire una corruzione silenziosa dello stato. Scegli una chiave nuova per richieste distinte.

Header di risposta

Esempio

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

Postman collection

Una Postman collection pronta da importare con 27 richieste di esempio (discovery, chiamate standard/advanced/large, multi-chain, batching, idempotenza, casi di errore) è disponibile nel nostro workspace pubblico: Venice Crypto RPC — Postman Collection Imposta la variabile di collection apiKey sulla tua API key Venice e inizia a inviare richieste immediatamente.

Autorizzazioni

Authorization
string
header
obbligatorio

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

Intestazioni

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}$
Esempio:

"a1b2c3d4-e5f6-7890-abcd-ef1234567890"

Parametri del percorso

network
string
obbligatorio

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

Esempio:

"ethereum-mainnet"

Corpo

application/json
method
string
obbligatorio

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

Esempio:

"eth_chainId"

jsonrpc
enum<string>
Opzioni disponibili:
2.0
Esempio:

"2.0"

params
any[]

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

Esempio:
id

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

Esempio:

1

Risposta

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

jsonrpc
string
Esempio:

"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).