跳转到主要内容
Venice 通过单个凭证同时为您的 agent 提供推理能力(230+ 模型)和区块链访问能力(10 条 EVM 链加 Starknet)。您的 agent 可以思考、签名并发送交易,而无需在推理和 RPC 提供商之间周旋多个账户。

一个凭证,两大超能力

使用单个 API 密钥(或钱包)同时进行 LLM 推理和 JSON-RPC 调用。

支持 11 条链

Ethereum、Base、Arbitrum、Optimism、Polygon、Linea、Avalanche、BSC、Blast、zkSync Era 和 Starknet(主网加测试网)。

质押 VVV 实现无人值守资金注入

在 Base 上质押 VVV 以每日赚取 DIEM,这是为已铸造 API 密钥提供资金的唯一完全无人值守路径。也可以通过仪表板进行 USD 和加密货币充值。

通过 x402 实现无密钥认证

Agent 可以使用钱包签名进行身份验证,并以 USDC 在 Base 或 Solana 上支付。

为什么选择 Venice 作为链上 agent 的方案?

能力您的 agent 可获得什么
推理通过一个 OpenAI 兼容端点访问 230+ 文本、图像、视频、音频和嵌入模型
Crypto RPC到 10 条 EVM 链加 Starknet(主网和测试网)的 JSON-RPC 2.0 代理
身份验证标准 API 密钥或 x402 钱包认证(不需要 Venice 账户)
资金自主:通过 VVV 质押获取每日 DIEM。浏览器:通过仪表板 USD 或加密货币充值
批处理单次请求最多 100 个 JSON-RPC 调用,可跨链并行
幂等性使用 Idempotency-Key 头实现安全重试

身份验证

选择与您的 agent 运行方式匹配的认证方法。
方法最适合工作原理
API 密钥服务端 agent、固定部署Authorization: Bearer <key> 头。在 venice.ai/settings/api 获取密钥。
x402 钱包自主、原生加密或短期 agent钱包签署 Sign-In-With-X 消息,使用 Base 或 Solana 上的 USDC 按请求付费。无需 Venice 账户。请参阅 x402 指南
两种方法在 Venice credit 中共享相同的速率限制和计费。
真正自主的 agent 可以通过在 Base 上质押 VVV 来铸造自己的 API 密钥。请参阅 Autonomous Agent API Key Creation

Crypto RPC 快速上手

将任何 JSON-RPC 2.0 方法发送到 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
  }'
响应:
{ "jsonrpc": "2.0", "id": 1, "result": "0x1" }
响应头包括 X-Venice-RPC-Credits(收取的 credit)、X-Venice-RPC-Cost-USD(美元成本)和 X-Request-ID(关联 ID)。

支持的网络

系列主网测试网
Ethereumethereum-mainnetethereum-sepoliaethereum-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
使用 GET /crypto/rpc/networks 获取实时的权威列表。

方法层级

方法分为三个 credit 层级。总成本 = baseCredits[chain] × methodTier
层级倍数示例
Standard1xeth_calleth_getBalanceeth_blockNumbereth_sendRawTransactioneth_getLogseth_getTransactionReceipteth_estimateGas
Advanced2xtrace_blocktrace_calltrace_transactiondebug_traceCalldebug_traceTransaction
Large4xtrace_replayBlockTransactionstrace_replayTransactiontxpool_content
完整列表和定价详情见 Crypto RPC API 参考

Agent 配方

需要进行链上读写的 AI agent 的常见模式。

读取钱包的原生代币余额

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

读取 ERC-20 代币余额

使用 eth_call 调用 balanceOf(address) 选择器。data 字段是 4 字节选择器(0x70a08231),后跟左填充到 32 字节的钱包地址。最简单的方法是让库进行编码:
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,
  }),
})
上面的合约地址是 Base 上的 VVV。可将其换成任何 ERC-20 合约。

发送已签名的交易(完整生命周期)

Venice 永不持有您的私钥。agent 通过 RPC 读取收集 tx 参数,使用 viemethers 等库在本地签名,然后通过 Venice 中继原始十六进制。
1

获取下一个 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}'
使用 "pending",这样背靠背的发送不会冲突。
2

获取 gas price

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}'
对于 EIP-1559 链,倾向于使用 eth_feeHistory 计算 maxFeePerGasmaxPriorityFeePerGas
3

估算 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

本地签名

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,                  // from step 1
  gas,                    // from step 3
  maxFeePerGas,           // from step 2 (fee history)
  maxPriorityFeePerGas,   // from step 2 (fee history)
  to: '0xRecipient',
  value: 0n,
  data: '0x...',
})
5

通过 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}'
在中继时始终设置 Idempotency-Key,这样网络抖动也不会重复广播。
6

轮询接收凭证

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}'
每隔几秒轮询一次,直到 result 非空。检查 result.status"0x1" = 成功)。
每次 eth_sendRawTransaction 调用都会在服务端记录 tx 哈希、网络、请求 ID 和调用用户 ID。签名负载本身不会保留。此审计追踪的存在是为了使被泄露密钥用于非法中继的情况可以追溯到负责账户。

批量多个调用(多链组合检查)

在一个请求中发送最多 100 个 JSON-RPC 对象。每个都独立验证和计费。
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 }
  ]'
对于多链读取(每条链一次调用),向不同的 {network} 端点发起并行请求。

使用幂等性实现安全重试

Idempotency-Key 头设置为匹配 [A-Za-z0-9_-]{1,255} 的任意字符串。Venice 以 (user, key) 为键将响应缓存 24 小时。重放返回缓存结果,带有 Idempotent-Replayed: true 且不收取费用。
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
  }'
这对于交易中继至关重要,否则网络抖动可能导致您的 agent 重复广播同一笔 tx。

为 agent 的 API 密钥注入资金

agent 拥有 Venice API 密钥后,底层账户需要有可用余额,付费端点才会接受该密钥。有两种方式注入余额:
路径是否自主?工作原理
通过 VVV 质押获取 DIEM在 Base 上的 Venice 质押智能合约 中质押 VVV。钱包的每日 DIEM 分配额与其在质押池中的份额成比例。账户需要累计至少 0.1 DIEM 才能消费。DIEM 在 UTC 00:00 刷新。要增加每日消费,可质押更多 VVV。
通过仪表板进行 USD 或加密货币充值否(浏览器)使用相同的钱包登录 venice.ai(Sign-In-With-Ethereum),然后在 Settings、API 中添加 credit。Stripe(信用卡)和 Coinbase(加密货币)都在该页面之后,并且需要浏览器。Credit 永不过期。
对于无人值守运行的 agent,通过 VVV 质押获取 DIEM 是目前为已铸造 API 密钥提供资金的唯一完全无人值守路径。如果 agent 的每日消费超过其 DIEM 分配,现实选项是:质押更多 VVV,或让操作员登录并使用 USD 或加密货币充值。

自主 VVV 质押和密钥生成

真正自主的 agent 可以在 Base 上管理自己的 VVV 钱包、质押它,并铸造自己的 Venice API 密钥,无需任何人为介入。完整流程:
1

获取 VVV 和用于 gas 的 ETH

向 agent 的钱包发送 VVV(或让 agent 在 AerodromeUniswap 上交换),外加少量 Base 上的 ETH 用于两次质押交易。
2

质押 VVV

在 VVV 代币上 approve 质押合约,然后在 0x321b7ff75154472B18EDb199033fF4D116F340Ff 上调用 stake(amount)。钱包的 sVVV 余额随质押原子性更新。
3

铸造 API 密钥

GET /api/v1/api_keys/generate_web3_key 返回一个在发行 15 分钟后过期的 JWT。使用质押钱包对原始 token 进行签名,然后将地址、签名和 token POST 回去。Venice 返回一个绑定到由该钱包派生的用户账户的 API 密钥。
铸造只需要非零的 sVVV 余额,因此质押 1 个 VVV 就足以获得密钥。使用密钥进行消费是另一回事,由上面的资金表管理。 请参阅 Autonomous Agent API Key Creation 获取带代码和完整错误参考的完整演练。

30 秒内了解 x402 钱包认证

如果您的 agent 已经有 Base 或 Solana 钱包,可以完全跳过 API 密钥。venice-x402-client SDK 处理 Sign-In-With-X 签名、充值和余额跟踪。
npm install venice-x402-client
import { VeniceClient } from 'venice-x402-client'

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

await venice.topUp(10) // skip if the wallet already has balance

const response = await venice.chat({
  model: 'kimi-k2-6',
  messages: [{ role: 'user', content: 'What is the latest block on Base?' }]
})
相同的钱包认证适用于 /crypto/rpc/{network} 进行区块链读写。完整的协议详情见 x402 指南

定价

Crypto RPC 以 Venice credit 计费。每个响应都包含 X-Venice-RPC-Credits(收取的 credit)和 X-Venice-RPC-Cost-USD(美元成本),以便您的 agent 跟踪每个请求的消费。

各链基础 credit

基础 credit
20Ethereum、Base、Optimism、Arbitrum、Polygon、Linea、Avalanche、BSC、Blast、Starknet
30zkSync Era

成本示例

观察到的 standard、advanced 和 large 方法层级的定价:
调用Credits美元成本
Ethereum 上的 eth_call(20 × 1x)20~$0.0000140
Ethereum 上的 trace_transaction(20 × 2x)40~$0.0000280
Ethereum 上的 trace_replayTransaction(20 × 4x)80~$0.0000560
zkSync 上的 eth_call(30 × 1x)30~$0.0000210
始终以 X-Venice-RPC-Cost-USD 响应头作为权威成本。批量请求中出错的项目按每项 5 credit 固定计费。

速率限制

层级每分钟请求数
Standard100
Staff1,000
超出时,端点返回 429 和标准的 X-RateLimit-* 响应头。

错误处理

您的 agent 应处理的常见 HTTP 响应:
状态含义应对方式
400不支持或未映射的 JSON-RPC 方法,或批量格式错误根据白名单验证方法。错误正文会指明违规方法。
400使用不同正文重放 Idempotency-Key对不同请求使用新的密钥。
402完全没有 auth 头(响应正文包含 authOptions 列出两种支持的 auth 路径),或带有有效 auth 头但 credit 不足如果无 auth:附加 Authorization: Bearer ... 或 x402 X-Sign-In-With-X 头。如果 credit 不足:使用 Bearer 密钥时,为账户注入资金(DIEM、USD 或仪表板充值);使用 x402 auth 时,直接调用 POST /api/v1/x402/top-up
429达到速率限制(standard 100 req/min,staff 1,000 req/min)尊重 X-RateLimit-Reset 并退避。每个请求最多批量 100 个调用以分摊限制。
5xx上游 RPC 节点故障使用相同的 Idempotency-Key 重试以避免重复扣费。
每项批量错误(例如 N 个调用中的某一个参数无效)会在 200 OK 响应内返回,违规项带有 JSON-RPC error 字段。这些项按每项 5 credit 固定计费。

不支持

这些类别的方法被有意拒绝:
  • 仅 WebSocketeth_subscribeeth_unsubscribe):代理仅支持 HTTP。请改为轮询。
  • 有状态过滤器eth_newFiltereth_getFilterChanges 等):过滤器状态绑定到单个后端,在负载均衡代理上会失效。请改用 eth_getLogs
  • 持有密钥的方法eth_signeth_accountseth_mining):托管提供商不持有用户密钥。在客户端签名并通过 eth_sendRawTransaction 提交。
  • 未映射的方法:任何未列入白名单的方法都返回 400。如需添加,请联系支持。

资源

Crypto RPC API 参考

完整方法列表、定价和响应头

支持的网络

支持网络 slug 的实时列表

x402 钱包认证

使用 Base 或 Solana 钱包进行认证和支付

自主 Agent API 密钥

通过质押 VVV 铸造您自己的密钥

Postman Collection

27 个可立即运行的 Crypto RPC 示例

定价

DIEM、credit 定价和支付选项