Pular para o conteúdo principal
POST
Encaminhe uma requisição JSON-RPC 2.0 (única ou em lote) para um nó blockchain compatível. Suporta autenticação com chave de API e com carteira x402. A cobrança é por crédito e denominada no seu saldo Venice — uma credencial, uma fatura, todas as redes abaixo.

Autenticação

Este endpoint suporta dois métodos de autenticação:
  • Chave de API: Autenticação padrão via Bearer token no cabeçalho Authorization: Bearer <key>.
  • Carteira x402: Pague à medida que usa com créditos em USDC de uma carteira na Base ou Solana. Não é necessária conta Venice. Veja o guia do x402 para configuração.
Ambos os métodos compartilham os mesmos limites de taxa e cobrança (créditos Venice).

Redes suportadas

Veja GET /crypto/rpc/networks para a lista autoritativa em tempo real. Cobertura atual:

Formatos de requisição

Requisição única

Requisição em lote

Um array de até 100 objetos JSON-RPC 2.0. Cada item é validado independentemente; se algum método não for suportado, o lote inteiro é rejeitado com 400 e cada nome de método infrator é listado na mensagem de erro.

Métodos suportados e níveis de preço

Os métodos são classificados em três níveis de créditos. Créditos consumidos por chamada = baseCredits[chain] × methodTier.

Créditos base por chain

Exemplos de custo

Ao preço da Venice de ~$6,25 × 10⁻⁷ por crédito:

Não suportado

  • Métodos exclusivos de WebSocket (eth_subscribe, eth_unsubscribe) — este proxy é somente HTTP. Use polling ou utilize um provedor WebSocket direto.
  • Métodos de filtro com estado (eth_newFilter, eth_getFilterChanges, eth_getFilterLogs, eth_uninstallFilter, eth_newBlockFilter, eth_newPendingTransactionFilter) — o estado do filtro fica preso a um único backend upstream e quebra silenciosamente em um proxy HTTP com balanceamento de carga. Use eth_getLogs (sem estado) em vez disso.
  • Métodos de mineração / chave (eth_sign, eth_accounts, eth_mining, eth_hashrate, eth_getWork, eth_submitWork) — endpoints de provedores hospedados não armazenam chaves privadas de usuários, então esses sempre retornam erro. Assine transações no lado do cliente e envie via eth_sendRawTransaction.
  • Métodos não mapeados — qualquer coisa não explicitamente permitida retorna 400. Entre em contato com o suporte para solicitar adições.

Cobrança por item em lote

Mesmo quando a resposta HTTP é 200, itens individuais do lote podem retornar com um campo JSON-RPC error (por exemplo, um erro de parâmetros inválidos ou um método não suportado na chain alvo). A Venice cobra esses itens em 5 créditos cada em vez do nível completo do método — uma pequena concessão para erros normais de “explorando a API”.
O primeiro item (sucesso) cobra 20 créditos, o segundo (erro em nível de RPC) cobra 5, soma = 25.

Limites de taxa

Limite de requisições por minuto por chamador autenticado: Quando o limite é excedido, o endpoint retorna 429 com uma customMessage e cabeçalhos de resposta padrão X-RateLimit-*.

Idempotência

Defina o cabeçalho de requisição Idempotency-Key como qualquer string que corresponda a [A-Za-z0-9_-]{1,255} para permitir reenvios seguros. A resposta é armazenada em cache por 24 horas com chave (user, idempotency-key):
  • Reenviar a mesma chave com o mesmo corpo retorna a resposta em cache e um cabeçalho de resposta Idempotent-Replayed: true. O upstream não é acessado e nenhum novo crédito é cobrado.
  • Reenviar a mesma chave com um corpo diferente retorna 400 para evitar corrupção silenciosa de estado. Escolha uma chave nova para requisições distintas.

Cabeçalhos de resposta

Logging forense para repasses de transações

Cada chamada para eth_sendRawTransaction é registrada no lado do servidor com o hash da tx (keccak256 dos bytes brutos), o slug da rede, o ID da requisição e o ID do usuário chamador. Não retemos o payload assinado em si — o hash é recuperável a partir do recibo on-chain. Esse rastro de auditoria existe para que, se a chave de API de um cliente for comprometida e usada para repassar transações ilícitas por nossa infraestrutura, possamos correlacionar a atividade on-chain à conta responsável.

Exemplo

Cabeçalhos de resposta: X-Venice-RPC-Credits: 20, X-Venice-RPC-Cost-USD: 0.00001250, X-Request-ID: <nanoid>.

Coleção do Postman

Uma coleção do Postman pronta para importar, com 27 requisições de exemplo (descoberta, chamadas padrão/avançadas/grandes, multi-chain, batching, idempotência, casos de erro), está disponível em nosso workspace público: Venice Crypto RPC — Coleção do Postman Defina a variável de coleção apiKey como sua chave de API Venice e comece a enviar requisições imediatamente.

Autorizações

Authorization
string
header
obrigatório

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

Cabeçalhos

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

"a1b2c3d4-e5f6-7890-abcd-ef1234567890"

Parâmetros de caminho

network
string
obrigatório

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

Exemplo:

"ethereum-mainnet"

Corpo

application/json
method
string
obrigatório

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

Exemplo:

"eth_chainId"

jsonrpc
enum<string>
Opções disponíveis:
2.0
Exemplo:

"2.0"

params
any[]

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

Exemplo:
id

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

Exemplo:

1

Resposta

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

jsonrpc
string
Exemplo:

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