> ## 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

> Descubre las redes blockchain compatibles y envía solicitudes JSON-RPC a través de Venice con autenticación mediante clave de API o wallet x402.

Venice Crypto RPC es un proxy HTTP para leer el estado de la blockchain y retransmitir transacciones firmadas. Utiliza la misma autenticación mediante clave de API de Venice o wallet x402 que otros endpoints de pago de Venice, por lo que tu aplicación no necesita una cuenta aparte con un proveedor de RPC.

Venice nunca almacena tus claves privadas. Firma las transacciones en tu aplicación y envía la carga útil firmada con `eth_sendRawTransaction`.

## Descubre las redes compatibles

Obtén la lista actual de identificadores de red:

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

El endpoint de descubrimiento es público y no requiere autenticación. Su respuesta es la fuente autoritativa; utiliza uno de los identificadores devueltos como `{network}` en el endpoint RPC.

## Envía una solicitud RPC

Envía una solicitud JSON-RPC 2.0 a la red seleccionada:

```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
  }'
```

El proxy admite solicitudes individuales y lotes de hasta 100 solicitudes. Los métodos compatibles, los niveles de precios y la disponibilidad varían; consulta la [referencia de la API Crypto RPC](/api-reference/endpoint/crypto/rpc) antes de depender de un método.

## Flujos de lectura y escritura

### Leer el estado de la cadena

Utiliza métodos como `eth_blockNumber`, `eth_getBalance`, `eth_call` y `eth_getLogs` para consultar datos públicos de la cadena. Agrupa las llamadas relacionadas en lotes cuando estén dirigidas a la misma red.

### Retransmitir una transacción

<Steps>
  <Step title="Construye la transacción">
    Lee el nonce de la cuenta, los datos de la comisión y la estimación de gas desde la red de destino.
  </Step>

  <Step title="Firma localmente">
    Firma con la biblioteca de wallet de tu aplicación. Nunca envíes una clave privada ni una frase semilla a Venice.
  </Step>

  <Step title="Envía la carga útil firmada">
    Llama a `eth_sendRawTransaction` y establece un encabezado `Idempotency-Key` para que los reintentos no generen un segundo cobro por retransmisión.
  </Step>

  <Step title="Verifica el recibo">
    Consulta `eth_getTransactionReceipt` hasta que la transacción quede incluida y, a continuación, revisa su estado.
  </Step>
</Steps>

## Reintentos seguros

Establece una clave de idempotencia en las solicitudes que puedan reintentarse, especialmente en las retransmisiones de transacciones:

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

Venice almacena en caché la respuesta durante 24 horas. Reutilizar la clave con el mismo cuerpo de solicitud devuelve la respuesta en caché sin generar otro cargo; reutilizarla con un cuerpo distinto devuelve un error.

## Restricciones importantes

* El proxy es solo HTTP y no admite suscripciones WebSocket.
* Los métodos de filtro con estado no son compatibles; utiliza métodos sin estado como `eth_getLogs`.
* Venice no almacena claves ni expone métodos de firma.
* Los métodos fuera de la lista permitida devuelven un error.
* Revisa `X-Venice-RPC-Credits` y `X-Venice-RPC-Cost-USD` para hacer seguimiento del costo de la solicitud.

## Recursos relacionados

* [API de redes compatibles](/api-reference/endpoint/crypto/networks)
* [Referencia de la API Crypto RPC](/api-reference/endpoint/crypto/rpc)
* [Crypto RPC para agentes](/guides/integrations/crypto-rpc-agents)
* [Autenticación con wallet x402](/guides/integrations/x402-venice-api)
