agentwallets.si
← 返回博客

独立解读

x402:Agent 如何为一次 API 请求付款?

项目资料 · x402 ↗
文章图解 · 概念示意
01付款要求02签署凭证03验证与结算

Agent 正在帮你做市场研究,找到一个天气与物流数据接口:查询一次需要付 0.01 美元。传统做法可能是注册账号、录入银行卡、购买额度、再保存 API Key。如果 Agent 只需要查询一次,这一串准备工作可能比数据本身还费事。

x402 想解决的,就是让服务端能够在请求中告诉客户端「访问这份资源需要怎样付款」,并让兼容的客户端以程序化方式响应。它是一套支付交互协议,不是一个钱包,也不保证每一次付款都适合用它。

下文的金额和 API 都是假设示例。流程依据公开规范整理,没有进行支付实测。资料查阅日期:2026 年 10 月 28 日。

一次付费请求是什么样?

sequenceDiagram participant A as Agent / 客户端 participant S as 数据服务端 participant W as 钱包或签名器 participant F as 验证与结算方 A->>S: ① 请求付费数据 S-->>A: ② 402 + 付款要求 A->>W: ③ 选择支持的方式并准备支付信息 W-->>A: 返回签署后的支付载荷 A->>S: ④ 携带支付信息再次请求 S->>F: ⑤ 验证及按方案结算 F-->>S: 返回结果 S-->>A: ⑥ 按交付条件返回数据及支付结果

Agent 首先正常请求数据。服务端返回 HTTP 402 Payment Required,同时提供付款要求。客户端选择自己能够处理的选项,准备支付载荷,再带着它请求资源。服务端自己处理或委托 facilitator(验证与结算服务方)处理。该方是一个角色,可以由服务端自己承担,不一定是第三家公司。x402 HTTP 规范、Solana 官方实现说明

这里的“再次请求”是协议交互的一部分;它并不代表任何网络错误都可以盲目重试。不同 scheme(支付机制)对何时验证、何时结算、何时交付可能有不同要求。验证与结算说明

服务端提出的要求,客户端要看什么?

项目 例子 为什么重要
金额和资产 0.01 美元计价的指定稳定币 看得懂总支出和实际支付资产
收款方 指定收款地址 避免只看金额,忽略钱要付给谁
网络 指定区块链和网络 钱包、服务端、处理方需要支持同一网络
支付机制 例如 exact 决定如何构造和验证付款
服务内容 一次查询或一份文件 付款和实际交付应能对应

x402 V2 的 HTTP 传输使用 PAYMENT-REQUIRED、PAYMENT-SIGNATURE 和 PAYMENT-RESPONSE 等标头。旧版使用不同名称;接入时要核对版本与双方支持的网络、资产和 scheme,不能只看「支持 x402」。V2 HTTP 规范

它解决了什么,又留下什么?

对数据服务商,x402 提供了将付款要求放进资源请求流程的共同格式。对开发者,它有机会减少一次性小额调用时的账户和预付流程。但实际成本仍包括网络费、支付处理成本、换汇以及客户端集成成本;是否比订阅便宜,要按服务和用量计算。

x402 不自动决定 Agent 是否有权购买,也不替你检查数据质量。用户预算、收款对象限制、签名密钥管理、退款、重复付款处理及交付质量,都需要产品和服务方另行设计。收到签名载荷也不等于资金已经不可逆地结算;判断要看对应 scheme 和处理结果。

如果你要把它接到实际业务,先问五个问题:客户端支持什么版本?双方是否支持同一资产、网络和 scheme?谁承担费用?验证或结算失败时服务是否会交付?超时后如何查询结果并避免重复购买?

延伸阅读

下一篇:MPP:机器之间如何协调支付?