前置条件
- agent 控制的 Base 上的 EVM 钱包(私钥保存在环境变量或密钥管理器中)。
- Base 上少量 ETH 用于 gas(质押需要两笔交易:
approve然后stake)。 - 任意非零数量的 VVV 用于质押。铸造端点仅要求钱包具备非零 sVVV 余额,因此 1 VVV 足以铸造密钥。请参阅为推理付费了解实际调用付费端点需要什么。
步骤
1
2
向 Venice 质押 VVV
将 VVV 质押到 Venice 质押智能合约 
当第二笔交易确认时,钱包的 VVV 余额减少,其 sVVV 余额相应增加。铸造端点读取 sVVV 余额以确认钱包已质押。
0x321b7ff75154472B18EDb199033fF4D116F340Ff。这需要两笔交易:- 在 VVV 代币上调用
approve(spender, amount),其中spender是质押合约。 - 在质押合约上调用
stake(amount)。

3
为钱包请求挑战消息
调用 响应包含 挑战消息在签发 15 分钟后过期,且仅可使用一次——首次用它铸造密钥时即被消耗。每铸造一个密钥都需重新请求。
GET /api/v1/api_keys/generate_web3_key?address=<wallet address> 以获取短期的 EIP-4361(Sign-In with Ethereum)挑战消息。此端点无需身份验证,但挑战消息会绑定到你传入的地址,只能由该钱包兑换。message、nonce 和 expiresAt:4
用质押钱包签署挑战消息
用持有质押 VVV 的钱包原样签署
message 字符串。这是标准的 personal_sign。ethers.Wallet.signMessage(message) 和 viem 的 account.signMessage({ message }) 都会产生正确的签名。请勿重新格式化、重新换行或重新生成该消息。Venice 会针对其签发的确切字节验证签名,并独立复核其中的 domain、URI、Chain ID、声明文本和地址。5
铸造 API 密钥
将地址、签名和挑战消息以及您想要的密钥类型 必填字段:
POST 到同一端点。address、signature、message、apiKeyType(INFERENCE 或 ADMIN)。可选字段:description、expiresAt、consumptionLimit(限制此密钥的总支出,以 usd、vcu 或 diem 计)。成功时响应包含铸造的 apiKey 字符串。将其存储在 agent 的密钥存储中,并作为正常的 Bearer token(Authorization: Bearer <key>)使用。端到端示例
下面的示例使用来自环境变量的真实钱包,而不是随机生成的钱包。随机钱包没有质押的 VVV,铸造将被Wallet has no staked VVV on Base 错误拒绝。
错误参考
端点返回具体、可操作的错误消息。在 agent 中映射这些错误,以便它可以决定是重试、请求新挑战消息还是停止。为什么挑战消息绑定钱包且仅可使用一次
挑战消息是人类可读的 EIP-4361 消息,而非不透明的 token,并提供三项保护。若某个钱包在你自己的 agent 之外被要求签署此类消息,这些保护尤为重要:- 地址绑定。 挑战消息载明其签发对应的钱包。一方获取的挑战消息无法由另一个钱包签署并兑换。
- 一次性 nonce。 Venice 在服务端跟踪 nonce,并在首次成功铸造时消耗它。一个签名恰好铸造一个密钥,因此被截获的签名无法重放以获取更多密钥。
- 可读声明。 该消息明确说明签名将授权创建 Venice API 密钥,因此 MetaMask 等钱包界面会向签名者展示其正在批准的内容,而不是一段二进制数据。
为推理付费
铸造密钥与能够用它调用付费端点是两回事。新铸造的密钥可以正确认证,但在钱包的账户具有可花费余额之前,无法调用付费端点(如/chat/completions)。
铸造的密钥按以下优先顺序从用户账户花费:DIEM,然后是捆绑额度,然后是 USD。
如果 agent 需要完全 crypto 原生、无头的资金路径,最干净的选项是:
- 质押更多 VVV,使每日 DIEM 分配覆盖 agent 的支出。铸造的密钥会自动接入。
- 使用 x402 钱包流程 代替 API 密钥。 通过 x402,agent 每个请求签署一个 Sign-In-With-X 消息,通过
POST /api/v1/x402/top-up在 Base 或 Solana 上直接用 USDC 充值,并按请求付费。x402 USDC 余额绑定到钱包,而非用户,因此它不会以余额形式出现在铸造的 Bearer 密钥下,但它确实让同一钱包以编程方式为推理付费。
相关资源
Crypto 与 Agents
将 Venice 同时用作自主 agent 的模型提供商和区块链 RPC 层。
x402 钱包身份验证
在 Base 或 Solana 上用 USDC 按请求付费,无需 API 密钥。
生成 Web3 API 密钥端点
铸造端点的端点参考。
标准 API 密钥指南
适用于希望通过仪表板铸造密钥的用户。