Saltar al contenido principal
Venice ofrece a tu agente tanto inferencia (230+ modelos) como acceso a blockchain (10 cadenas EVM más Starknet) a través de una única credencial. Tu agente puede pensar, firmar y enviar transacciones sin malabarear cuentas separadas para proveedores de inferencia y RPC.

Una credencial, dos superpoderes

Una sola API key (o monedero) tanto para inferencia LLM como para llamadas JSON-RPC.

11 cadenas admitidas

Ethereum, Base, Arbitrum, Optimism, Polygon, Linea, Avalanche, BSC, Blast, zkSync Era y Starknet (mainnet más testnets).

Staking de VVV para financiación headless

Haz staking de VVV en Base para ganar DIEM diario, la única ruta de financiación totalmente headless para una API key acuñada. También hay recargas en USD y cripto a través del dashboard.

Auth sin clave vía x402

Los agentes pueden autenticarse con una firma de monedero y pagar en USDC en Base o Solana.

¿Por qué Venice para agentes onchain?

CapacidadLo que obtiene tu agente
Inferencia230+ modelos de texto, imagen, vídeo, audio y embeddings a través de un endpoint compatible con OpenAI
RPC criptoProxy JSON-RPC 2.0 a 10 cadenas EVM más Starknet (mainnet y testnets)
AutenticaciónAPI key estándar o auth de monedero x402 (no se requiere cuenta de Venice)
FinanciaciónAutónoma: staking de VVV para DIEM diario. Navegador: recargas en USD o cripto vía el dashboard
LotesHasta 100 llamadas JSON-RPC por solicitud, multicadena en paralelo
IdempotenciaReintentos seguros con la cabecera Idempotency-Key

Autenticación

Elige el método de auth que se ajuste a cómo se ejecute tu agente.
MétodoMejor paraCómo funciona
API keyAgentes del lado del servidor, despliegues fijosCabecera Authorization: Bearer <key>. Obtén una clave en venice.ai/settings/api.
Monedero x402Agentes autónomos, nativos de cripto o efímerosEl monedero firma un mensaje Sign-In-With-X y paga por solicitud en USDC en Base o Solana. No se necesita cuenta de Venice. Consulta la guía de x402.
Ambos métodos comparten los mismos límites de velocidad y facturación en créditos de Venice.
Los agentes verdaderamente autónomos pueden acuñar su propia API key haciendo staking de VVV en Base. Consulta Creación autónoma de API Key por agente.

Inicio rápido de RPC cripto

Envía cualquier método JSON-RPC 2.0 a POST /crypto/rpc/{network}.
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_chainId",
    "params": [],
    "id": 1
  }'
Respuesta:
{ "jsonrpc": "2.0", "id": 1, "result": "0x1" }
Las cabeceras de respuesta incluyen X-Venice-RPC-Credits (créditos cobrados), X-Venice-RPC-Cost-USD (coste en dólares) y X-Request-ID (ID de correlación).

Redes admitidas

FamiliaMainnetTestnets
Ethereumethereum-mainnetethereum-sepolia, ethereum-holesky
Basebase-mainnetbase-sepolia
Arbitrumarbitrum-mainnetarbitrum-sepolia
Optimismoptimism-mainnetoptimism-sepolia
Polygonpolygon-mainnetpolygon-amoy
Linealinea-mainnetlinea-sepolia
Avalanche C-Chainavalanche-mainnetavalanche-fuji
BNB Smart Chainbsc-mainnetbsc-testnet
Blastblast-mainnetblast-sepolia
zkSync Erazksync-mainnetzksync-sepolia
Starknetstarknet-mainnetstarknet-sepolia
Usa GET /crypto/rpc/networks para la lista autoritativa en vivo.

Niveles de método

Los métodos se agrupan en tres niveles de créditos. Coste total = baseCredits[chain] × methodTier.
NivelMultiplicadorEjemplos
Standard1xeth_call, eth_getBalance, eth_blockNumber, eth_sendRawTransaction, eth_getLogs, eth_getTransactionReceipt, eth_estimateGas
Advanced2xtrace_block, trace_call, trace_transaction, debug_traceCall, debug_traceTransaction
Large4xtrace_replayBlockTransactions, trace_replayTransaction, txpool_content
Lista completa y detalle de precios en la referencia de la API Crypto RPC.

Recetas de agente

Patrones comunes para agentes de IA que necesitan leer y escribir onchain.

Lee el saldo nativo de un monedero

curl https://api.venice.ai/api/v1/crypto/rpc/base-mainnet \
  -H "Authorization: Bearer $VENICE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "jsonrpc": "2.0",
    "method": "eth_getBalance",
    "params": ["0xYourWalletAddress", "latest"],
    "id": 1
  }'

Lee saldo de token ERC-20

Llama al selector balanceOf(address) con eth_call. El campo data es el selector de 4 bytes (0x70a08231) seguido de la dirección del monedero rellena a 32 bytes a la izquierda. Lo más fácil es dejar que una librería lo codifique:
import { encodeFunctionData, parseAbi } from 'viem'

const data = encodeFunctionData({
  abi: parseAbi(['function balanceOf(address) view returns (uint256)']),
  args: ['0xWalletAddress'],
})

const response = await fetch('https://api.venice.ai/api/v1/crypto/rpc/base-mainnet', {
  method: 'POST',
  headers: {
    Authorization: `Bearer ${process.env.VENICE_API_KEY}`,
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    jsonrpc: '2.0',
    method: 'eth_call',
    params: [{ to: '0xacfE6019Ed1A7Dc6f7B508C02d1b04ec88cC21bf', data }, 'latest'],
    id: 1,
  }),
})
La dirección de contrato anterior es VVV en Base. Sustitúyela por cualquier contrato ERC-20.

Enviar una transacción firmada (ciclo completo)

Venice nunca guarda tus claves privadas. El agente recoge los parámetros de tx mediante lecturas RPC, firma localmente con una librería como viem o ethers y luego retransmite el hex en bruto a través de Venice.
1

Obtén el siguiente nonce

curl https://api.venice.ai/api/v1/crypto/rpc/base-mainnet \
  -H "Authorization: Bearer $VENICE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","method":"eth_getTransactionCount","params":["0xAgentWallet","pending"],"id":1}'
Usa "pending" para que los envíos consecutivos no colisionen.
2

Obtén el precio de gas

curl https://api.venice.ai/api/v1/crypto/rpc/base-mainnet \
  -H "Authorization: Bearer $VENICE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","method":"eth_gasPrice","params":[],"id":1}'
Para cadenas EIP-1559, prefiere eth_feeHistory para calcular maxFeePerGas y maxPriorityFeePerGas.
3

Estima el gas

curl https://api.venice.ai/api/v1/crypto/rpc/base-mainnet \
  -H "Authorization: Bearer $VENICE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","method":"eth_estimateGas","params":[{"from":"0xAgentWallet","to":"0xRecipient","value":"0x0","data":"0x..."}],"id":1}'
4

Firma localmente

import { privateKeyToAccount } from 'viem/accounts'
import { base } from 'viem/chains'

const account = privateKeyToAccount(process.env.AGENT_PRIVATE_KEY)

const signed = await account.signTransaction({
  chainId: base.id,
  nonce,                  // del paso 1
  gas,                    // del paso 3
  maxFeePerGas,           // del paso 2 (fee history)
  maxPriorityFeePerGas,   // del paso 2 (fee history)
  to: '0xRecipient',
  value: 0n,
  data: '0x...',
})
5

Envía a través de Venice

curl https://api.venice.ai/api/v1/crypto/rpc/base-mainnet \
  -H "Authorization: Bearer $VENICE_API_KEY" \
  -H "Idempotency-Key: agent-tx-<id>" \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","method":"eth_sendRawTransaction","params":["0xSignedHex"],"id":1}'
Establece siempre Idempotency-Key en las retransmisiones para que un corte de red no provoque doble emisión.
6

Polling del receipt

curl https://api.venice.ai/api/v1/crypto/rpc/base-mainnet \
  -H "Authorization: Bearer $VENICE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","method":"eth_getTransactionReceipt","params":["0xTxHash"],"id":1}'
Haz polling cada pocos segundos hasta que result no sea null. Comprueba result.status ("0x1" = éxito).
Cada llamada eth_sendRawTransaction se registra en el servidor con el hash de la tx, la red, el ID de solicitud y el ID del usuario que llama. El propio payload firmado no se retiene. Este registro de auditoría existe para que las claves comprometidas usadas para retransmisiones ilícitas puedan rastrearse hasta la cuenta responsable.

Agrupa varias llamadas (portfolio multicadena)

Envía hasta 100 objetos JSON-RPC en una solicitud. Cada uno se valida y factura de forma independiente.
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 },
    { "jsonrpc": "2.0", "method": "eth_getBalance", "params": ["0xWallet", "latest"], "id": 2 },
    { "jsonrpc": "2.0", "method": "eth_gasPrice", "params": [], "id": 3 }
  ]'
Para lecturas multicadena (una llamada por cadena), emite solicitudes en paralelo a distintos endpoints {network}.

Reintentos seguros con idempotencia

Establece la cabecera Idempotency-Key con cualquier cadena que coincida con [A-Za-z0-9_-]{1,255}. Venice cachea la respuesta durante 24 horas con clave (user, key). Los replays devuelven el resultado en caché con Idempotent-Replayed: true y no cobran nada.
curl https://api.venice.ai/api/v1/crypto/rpc/base-mainnet \
  -H "Authorization: Bearer $VENICE_API_KEY" \
  -H "Idempotency-Key: agent-tx-2026-04-21-001" \
  -H "Content-Type: application/json" \
  -d '{
    "jsonrpc": "2.0",
    "method": "eth_sendRawTransaction",
    "params": ["0xSignedRawTxHex"],
    "id": 1
  }'
Esto es crítico para retransmisiones de transacciones donde un corte de red podría hacer que tu agente difundiera la misma tx dos veces.

Financiar la API key del agente

Una vez que el agente tiene una API key de Venice, necesita saldo gastable en la cuenta subyacente antes de que los endpoints de pago acepten la clave. Hay dos formas de poner saldo ahí:
Ruta¿Autónoma?Cómo funciona
DIEM por staking de VVVHaz staking de VVV en el Smart Contract de staking de Venice en Base. La asignación diaria de DIEM del monedero es proporcional a su parte en la piscina de staking. La cuenta necesita al menos 0,1 DIEM acumulado para que cualquier DIEM sea gastable. DIEM se renueva a las 00:00 UTC. Para aumentar el gasto diario, haz más staking de VVV.
Recarga en USD o cripto vía el dashboardNo (navegador)Inicia sesión en venice.ai con el mismo monedero (Sign-In-With-Ethereum) y añade créditos en Settings, API. Tanto Stripe (tarjeta) como Coinbase (cripto) están detrás de esa página y requieren un navegador. Los créditos no caducan.
Para un agente que se ejecuta sin supervisión, DIEM vía staking de VVV es la única ruta de financiación totalmente headless para una API key acuñada hoy. Si el gasto diario del agente excede su asignación de DIEM, las opciones realistas son: hacer más staking de VVV, o que un operador inicie sesión y recargue en USD o cripto.

Staking autónomo de VVV y generación de clave

Un agente verdaderamente autónomo puede gestionar su propio monedero de VVV en Base, hacer staking y acuñar su propia API key de Venice sin intervención humana. El flujo completo:
1

Adquiere VVV y ETH para gas

Envía VVV al monedero del agente (o haz que el agente realice un swap en Aerodrome o Uniswap), más una pequeña cantidad de ETH en Base para las dos transacciones de staking.
2

Haz staking de VVV

approve al contrato de staking en el token VVV, después stake(amount) en 0x321b7ff75154472B18EDb199033fF4D116F340Ff. El saldo de sVVV del monedero se actualiza atómicamente con el staking.
3

Acuña una API key

GET /api/v1/api_keys/generate_web3_key devuelve un JWT que expira 15 minutos después de su emisión. Firma el token sin procesar con el monedero de staking y luego POST la dirección, la firma y el token. Venice devuelve una API key vinculada a la cuenta de usuario derivada de ese monedero.
El minteo solo requiere un saldo de sVVV no nulo, así que 1 VVV en staking es suficiente para recibir una clave. Gastar con la clave es una cuestión separada, regida por la tabla de financiación anterior. Consulta Creación autónoma de API Key por agente para el recorrido completo con código y la referencia completa de errores.

Auth de monedero x402 en 30 segundos

Si tu agente ya tiene un monedero en Base o Solana, sáltate la API key por completo. El SDK venice-x402-client gestiona la firma Sign-In-With-X, recargas y seguimiento de saldo.
npm install venice-x402-client
import { VeniceClient } from 'venice-x402-client'

const venice = new VeniceClient(process.env.WALLET_KEY)

await venice.topUp(10) // sáltatelo si el monedero ya tiene saldo

const response = await venice.chat({
  model: 'kimi-k2-6',
  messages: [{ role: 'user', content: 'What is the latest block on Base?' }]
})
La misma auth de monedero funciona contra /crypto/rpc/{network} para lecturas y escrituras blockchain. Detalles completos del protocolo en la guía de x402.

Precios

El RPC cripto se factura en créditos de Venice. Cada respuesta incluye X-Venice-RPC-Credits (créditos cobrados) y X-Venice-RPC-Cost-USD (coste en dólares) para que tu agente pueda rastrear el gasto por solicitud.

Créditos base por cadena

Créditos baseCadenas
20Ethereum, Base, Optimism, Arbitrum, Polygon, Linea, Avalanche, BSC, Blast, Starknet
30zkSync Era

Ejemplos de coste

Precios observados para niveles standard, advanced y large:
LlamadaCréditosCoste en USD
eth_call en Ethereum (20 × 1x)20~$0.0000140
trace_transaction en Ethereum (20 × 2x)40~$0.0000280
trace_replayTransaction en Ethereum (20 × 4x)80~$0.0000560
eth_call en zkSync (30 × 1x)30~$0.0000210
Confía siempre en la cabecera de respuesta X-Venice-RPC-Cost-USD para el coste autoritativo. Los elementos con error en solicitudes por lote se facturan a una tarifa plana de 5 créditos cada uno.

Límites de velocidad

NivelSolicitudes por minuto
Standard100
Staff1.000
Al superarse, el endpoint devuelve 429 con las cabeceras de respuesta estándar X-RateLimit-*.

Gestión de errores

Respuestas HTTP comunes que tu agente debería gestionar:
EstadoSignificadoQué hacer
400Método JSON-RPC no admitido o sin mapear, o lote mal formadoVerifica el método contra la allowlist. El cuerpo de error nombra el método infractor.
400Replay de un Idempotency-Key con un cuerpo diferenteUsa una clave nueva para solicitudes distintas.
402Sin cabecera de auth (el cuerpo de la respuesta incluye authOptions con ambas rutas de auth admitidas), o sin créditos con una cabecera de auth válidaSi no hay auth: adjunta Authorization: Bearer ... o la cabecera x402 X-Sign-In-With-X. Si no hay créditos: con una clave Bearer, financia la cuenta (DIEM, USD o recarga vía dashboard); con auth x402, llama directamente a POST /api/v1/x402/top-up.
429Límite de velocidad alcanzado (100 req/min standard, 1.000 req/min staff)Respeta X-RateLimit-Reset y haz backoff. Agrupa hasta 100 llamadas por solicitud para amortizar el límite.
5xxFallo del nodo RPC upstreamReintenta con el mismo Idempotency-Key para evitar doble cobro.
Los errores por elemento en lote (p. ej., parámetros inválidos en una de N llamadas) vuelven dentro de una respuesta 200 OK con un campo error JSON-RPC en el elemento infractor. Esos elementos se facturan a una tarifa plana de 5 créditos cada uno.

No admitido

Estas categorías de métodos se rechazan intencionadamente:
  • Solo WebSocket (eth_subscribe, eth_unsubscribe): el proxy es solo HTTP. Usa polling en su lugar.
  • Filtros con estado (eth_newFilter, eth_getFilterChanges, etc.): el estado del filtro está anclado a un único backend y falla en un proxy con balanceo de carga. Usa eth_getLogs en su lugar.
  • Métodos con clave (eth_sign, eth_accounts, eth_mining): los proveedores alojados no guardan claves de usuario. Firma en el cliente y envía vía eth_sendRawTransaction.
  • Métodos no mapeados: cualquier cosa no permitida explícitamente devuelve 400. Contacta con soporte para solicitar adiciones.

Recursos

Referencia de la API Crypto RPC

Lista completa de métodos, precios y cabeceras de respuesta

Redes admitidas

Lista en vivo de slugs de red admitidos

Auth de monedero x402

Autentica y paga con un monedero de Base o Solana

API Key de agente autónomo

Acuña tu propia clave haciendo staking de VVV

Colección de Postman

27 ejemplos de Crypto RPC listos para ejecutar

Precios

DIEM, precios de créditos y opciones de pago