跳转到主要内容
控制 Base 上钱包的 AI agent 可以在无需人类参与的情况下铸造自己的 Venice API 密钥。agent 获取 VVV、质押它、用钱包签署 Venice 发布的短期验证 token,然后将签名后的 token 回传以获得绑定到质押钱包的全新 API 密钥。 本指南从端到端介绍整个流程,并涵盖密钥铸造后用于实际支付推理的资金选项。

前置条件

  • agent 控制的 Base 上的 EVM 钱包(私钥保存在环境变量或密钥管理器中)。
  • Base 上少量 ETH 用于 gas(质押需要两笔交易:approve 然后 stake)。
  • 任意非零数量的 VVV 用于质押。铸造端点仅要求钱包具备非零 sVVV 余额,因此 1 VVV 足以铸造密钥。请参阅为推理付费了解实际调用付费端点需要什么。
使用专用的 agent 钱包,而不是金库钱包。该钱包的私钥会签署每个 Venice token 请求,因此其影响范围应保持最小。

步骤

1

获取 VVV

将 VVV 发送到 agent 的钱包,或让 agent 在 DEX(如 AerodromeUniswap)上兑换。Base 上的 VVV 代币合约:0xacfE6019Ed1A7Dc6f7B508C02d1b04ec88cC21bf
2

向 Venice 质押 VVV

将 VVV 质押到 Venice 质押智能合约 0x321b7ff75154472B18EDb199033fF4D116F340Ff。这需要两笔交易:
  1. 在 VVV 代币上调用 approve(spender, amount),其中 spender 是质押合约。
  2. 在质押合约上调用 stake(amount)
Smart Contract Staking
当第二笔交易确认时,钱包的 VVV 余额减少,其 sVVV 余额相应增加。铸造端点读取 sVVV 余额以确认钱包已质押。
3

请求验证 token

调用 GET /api/v1/api_keys/generate_web3_key 以获取由 Venice 签发的短期 token。此端点无需身份验证。
响应包含 token 字段。该 token 在签发 15 分钟后过期,因此请尽早签名并提交。
4

用质押钱包签署 token

用持有质押 VVV 的钱包签署原始 token 字符串。这是对 token 字节的标准 personal_signethers.Wallet.signMessage(token)viemaccount.signMessage({ message: token }) 都会产生正确的签名。
5

铸造 API 密钥

将地址、签名和 token 以及您想要的密钥类型 POST 到同一端点。
必填字段:addresssignaturetokenapiKeyTypeINFERENCEADMIN)。可选字段:descriptionexpiresAtconsumptionLimit(限制此密钥的总支出,以 usdvcudiem 计)。成功时响应包含铸造的 apiKey 字符串。将其存储在 agent 的密钥存储中,并作为正常的 Bearer token(Authorization: Bearer <key>)使用。

端到端示例

下面的示例使用来自环境变量的真实钱包,而不是随机生成的钱包。随机钱包没有质押的 VVV,铸造将被 Wallet has no staked VVV on Base 错误拒绝。

错误参考

端点返回具体、可操作的错误消息。在 agent 中映射这些错误,以便它可以决定是重试、请求新 token 还是停止。

为推理付费

铸造密钥与能够用它调用付费端点是两回事。新铸造的密钥可以正确认证,但在钱包的账户具有可花费余额之前,无法调用付费端点(如 /chat/completions)。 铸造的密钥按以下优先顺序从用户账户花费:DIEM,然后是捆绑额度,然后是 USD。 如果 agent 需要完全 crypto 原生、无头的资金路径,最干净的选项是:
  1. 质押更多 VVV,使每日 DIEM 分配覆盖 agent 的支出。铸造的密钥会自动接入。
  2. 使用 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 密钥指南

适用于希望通过仪表板铸造密钥的用户。