什么是 x402?
x402 是一种把支付嵌入 HTTP 请求流程的协议,适合 API、数字内容和 AI Agent 可调用资源的按次付费访问。
基础概念
x402 是一种基于 HTTP 402 Payment Required 状态码的支付协议。服务端可以把某个 API、文件、数据源或 Agent 工具声明为付费资源;客户端第一次请求时,如果没有携带有效付款凭证,服务端会返回 402 响应,并在响应中说明价格、网络、资产、收款地址和资源范围。
客户端或 AI Agent 收到 402 后,可以按要求签署一笔标准化的链上支付授权,然后用同一个请求重试。服务端验证授权、确认金额和资源匹配,并完成结算后再返回真实内容。这样,支付逻辑可以直接嵌入 HTTP 请求流程,不需要额外跳转到收银台页面。
在 PolyPay 中,AI Agent 收款需要有效订阅,Pay-as-you-go 也可使用。套餐过期或未启用订阅后,已保存的资源配置和支付记录会保留为只读,但 verify/settle 运行时会被冻结,恢复有效订阅后自动恢复。
为什么适合 Agent 支付?
- 机器可读:价格、资产、网络和资源范围都在 402 响应里明确给出,Agent 可以自动理解并决定是否支付。
- 按次付费:适合数据 API、模型推理、报告生成、文件下载、MCP 工具调用等小额、高频资源。
- 无需账户预充值:Agent 可以在请求资源时即时授权付款,商户按资源规则完成结算。
- 和 HTTP 语义一致:未付款返回 402,付款成功返回原始业务响应,便于接入现有 API 网关和服务端路由。
一次 x402 请求如何完成?
- Agent 请求受保护资源,例如 GET /api/premium-data。
- 服务端 SDK 发现请求没有有效付款凭证,返回 HTTP 402,并通过 PAYMENT-REQUIRED 响应头提供付款要求。
- Agent 根据要求签署 USDC 授权,并通过 PAYMENT-SIGNATURE 请求头重试原请求。
- PolyPay 验证签名、资源、金额、有效期和 nonce,防止错付或重复结算。
- 验证通过后,PolyPay 提交链上结算,服务端返回原本的 API 数据,并通过 PAYMENT-RESPONSE 返回结算凭证。
核心概念
| 概念 | 说明 |
|---|---|
resource | 被保护的公开 URL。付款授权会绑定到这个资源,避免拿一个资源的付款去访问另一个资源。 |
method | 受保护资源的 HTTP 方法,例如 GET 或 POST。 |
amount | 用资产最小单位表示的支付金额。USDC 有 6 位小数,所以 $0.01 对应 10000。 |
payTo | 商户收款钱包地址,结算会进入该地址。 |
nonce | 一次性随机值,用于防止同一笔授权被重复结算。 |
和 PolyPay 的关系
PolyPay 提供 x402 facilitator、商户资源配置、SDK 中间件和支付记录管理。商户不需要自己实现签名校验、nonce 锁定和链上结算,只需要配置资源规则并在服务端路由中接入 SDK。