编程 HTTP 402 微支付协议拆解:agent 按次付费怎么落地

2026-09-08 06:13:09

x402:HTTP 原生微支付,让 AI agent 按次付费

x402 复用 HTTP 402 Payment Required 状态码:服务在交付资源前先要求付款。自主 agent 把它当普通 HTTP 响应处理——从钱包拿支付 URL、在 Base 上签一笔最小 USDC 转账、带上支付证明头重试请求。流程保持在标准请求/响应模型内:没有新协议,只是一个约定

为什么微支付对 agent 重要

agent 常要调外部 API(数据源、LLM、图像生成器、其他 agent)。当调用有成本(如 $0.005/token)时,你要:原子性(拿到资源才付钱,拿不到就不付)、无状态(不为每家厂商管长会话和 API key)、兼容(复用现有 HTTP 客户端栈)。

传统 API-key 计费解决前两点,但迫使你管理 secret、限流处理、和一张与按次使用对不上的月账单。x402 翻转模型:服务器在需要时请求付款,客户端(你的 agent)即时提供

六步流程

步骤角色动作
1ClientGET /translate,无 auth 头
2Server需付费 → 402 + X-Payments-Required(JSON:金额、token、链、nonce)
3Client解析载荷,构造最小 ERC-20 转账,钱包签名(Base 上的 USDC)
4Client提交交易到 RPC(或用 relayer)→ tx hash(Base 上 1–2 块约 2 秒)
5ClientX-Payment: <txHash> 重试原请求;server 链上验证金额与 nonce,通过返回 200 + 资源
6Server可选缓存已验 tx hash 防重放;payload 的 nonce 保证每次请求唯一

唯一新头:X-Payment(客户端→服务器)和 X-Payments-Required(服务器→客户端)。其余全是标准 HTTP/1.1 或 HTTP/2。文内有 Python + httpx + web3.py 的最小可运行示例。

实践建议

  • 需要原子、无状态、兼容现有栈的按次计费,x402 比 API-key 账单模型更贴合 agent 场景;
  • nonce 防重放 + 链上验证是安全底线:服务器不能只信客户端自报的 tx hash;
  • 快速确认(1–2 块)才适合实时推理管线;等几分钟确认的链不匹配 agent 场景。

来源:x402 Explained: HTTP-Native Micropayments for AI Agents (With Real Code) - DEV Community

复制全文 生成海报 AI HTTP 支付 协议

推荐文章

程序员茄子在线接单