> ## Documentation Index
> Fetch the complete documentation index at: https://docs.venice.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Crypto RPC

> Descubra as redes blockchain suportadas e envie requisições JSON-RPC pela Venice com autenticação via chave de API ou carteira x402.

O Venice Crypto RPC é um proxy HTTP para leitura do estado da blockchain e retransmissão de transações assinadas. Ele usa a mesma autenticação via chave de API da Venice ou carteira x402 dos demais endpoints pagos da Venice, portanto sua aplicação não precisa de uma conta separada com um provedor de RPC.

A Venice nunca armazena suas chaves privadas. Assine as transações na sua aplicação e envie o payload assinado com `eth_sendRawTransaction`.

## Descubra as redes suportadas

Consulte a lista atual de slugs de rede:

```bash theme={"system"}
curl https://api.venice.ai/api/v1/crypto/rpc/networks
```

O endpoint de descoberta é público e não exige autenticação. Sua resposta é autoritativa; use um dos slugs retornados como `{network}` no endpoint RPC.

## Envie uma requisição RPC

Envie uma requisição JSON-RPC 2.0 para a rede selecionada:

```bash theme={"system"}
curl https://api.venice.ai/api/v1/crypto/rpc/ethereum-mainnet \
  -H "Authorization: Bearer $VENICE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "jsonrpc": "2.0",
    "method": "eth_blockNumber",
    "params": [],
    "id": 1
  }'
```

O proxy suporta requisições únicas e lotes de até 100 requisições. Os métodos suportados, os níveis de preço e a disponibilidade variam; consulte a [referência da API Crypto RPC](/api-reference/endpoint/crypto/rpc) antes de depender de um método.

## Fluxos de leitura e escrita

### Ler o estado da chain

Use métodos como `eth_blockNumber`, `eth_getBalance`, `eth_call` e `eth_getLogs` para consultar dados públicos da chain. Agrupe chamadas relacionadas em lote quando forem para a mesma rede.

### Retransmitir uma transação

<Steps>
  <Step title="Monte a transação">
    Leia o nonce da conta, os dados de taxa e a estimativa de gas na rede de destino.
  </Step>

  <Step title="Assine localmente">
    Assine com a biblioteca de carteira da sua aplicação. Nunca envie uma chave privada ou seed phrase para a Venice.
  </Step>

  <Step title="Envie o payload assinado">
    Chame `eth_sendRawTransaction` e defina um header `Idempotency-Key` para que retentativas não gerem uma segunda retransmissão faturável.
  </Step>

  <Step title="Confira o recibo">
    Faça polling em `eth_getTransactionReceipt` até a transação ser incluída e depois inspecione seu status.
  </Step>
</Steps>

## Retentativas seguras

Defina uma chave de idempotência em requisições que possam ser repetidas, especialmente retransmissões de transações:

```bash theme={"system"}
-H "Idempotency-Key: transaction-123"
```

A Venice armazena em cache a resposta por 24 horas. Reutilizar a chave com o mesmo corpo de requisição retorna a resposta em cache sem nova cobrança; reutilizá-la com um corpo diferente retorna um erro.

## Restrições importantes

* O proxy é somente HTTP e não suporta assinaturas via WebSocket.
* Métodos de filtro com estado não são suportados; use métodos sem estado como `eth_getLogs`.
* A Venice não armazena chaves nem expõe métodos de assinatura.
* Métodos fora da allowlist retornam erro.
* Inspecione `X-Venice-RPC-Credits` e `X-Venice-RPC-Cost-USD` para acompanhar o custo da requisição.

## Recursos relacionados

* [API de Redes Suportadas](/api-reference/endpoint/crypto/networks)
* [Referência da API Crypto RPC](/api-reference/endpoint/crypto/rpc)
* [Crypto RPC para agentes](/guides/integrations/crypto-rpc-agents)
* [Autenticação com carteira x402](/guides/integrations/x402-venice-api)
