x402支付协议

x402

链技术

知乎

cointelegraph

登链社区

什么是 x402

x402 是一个开放标准支付协议,由 Coinbase 主导开发。它的原理来自于 HTTP 中一个几乎被遗忘的状态码:402 Payment Required(需要付款)

在网际网络诞生早期,这个代码本是为「网上支付」而设,但多年来几乎没有人使用。而 Coinbase 让它重生,并赋予了它新的意义:机器的支付方式

简单来说:

当你请求一个网页内容或 API 时,服务器可以回复:“这段内容要价 0.01 美元,请先付款”,用加密钱包付款后,内容就立即解锁。重点在于请求方不止可以是人,还可以是网站、API、甚至 AI 代理(agent)都可以直接在 HTTP 层面请求付款。 打破了传统由人主导的 C2C、B2B、C2B 的支付场景,让 AI 支付成为现实

运作方式

  1. 你请求一项资源如 API、资料或影片内容。

  2. 伺服器回复一个 HTTP 402 Payment Required 讯息,并附上:应付金额、钱包地址、可接受的代币。

  3. 你使用钱包付款或自动化代理付款。

  4. 付款完成后,你再次发出相同请求,并附上付款证明,如 X-Payment header。

  5. 伺服器验证区块链上的付款纪录后,立即返回你所请求的内容。

为什么需要 x402

以下是官方解释:

1
2
3
4
5
- 机器对机器(M2M)支付(例如,人工智能代理)。

- 按次付费模式,如 API 调用或付费墙内容。

- 无需账户创建或传统支付轨道的微支付。

x402 v1 和 x402 v2

v1 把区块链支付嵌入 HTTP 协议,每次请求都走一遍链上流程,高频场景下手续费与延迟居高不下,且无法跨链、无法复用身份。

v2 在 v1 基础上,实现了:

  1. 会话复用,首次支付后建立“可重用会话”,后续调用只需本地验证,不再触发链上交易,降低了手续费

  2. 提供了一个统一的支付接口,可在多条区块链上支持稳定币和代币支付,包括 Base、Solana 等网络。

  3. 模块化付费墙(modular paywalls),使开发者能够更容易地集成和扩展后端支付逻辑,推动整个生态向更开放的方向发展。

  4. “按请求路由”的能力,支持将支付定向至特定地址、角色,或基于回调逻辑进行分发,从而实现更复杂的多步骤支付工作流。

x402 v2 支付头

  • PAYMENT-REQUIRED:从服务器→客户端,Base64 编码的 PaymentRequired 对象,包含接受的支付方案、价格、网络和目的地地址等详细信息。

  • PAYMENT-SIGNATURE: 从客户端→服务器,Base64 编码的 PaymentPayload 对象,客户端在收到 402 响应后重试请求时发送该头部,以证明他们已授权付款。

  • PAYMENT-RESPONSE:从服务器→客户端,Base64 编码的 SettlementResponse 对象,无论结算成功或失败,服务器都会返回该头部,提供关于支付结果的结构化反馈。

Facilitator 协调器

facilitator是可选但推荐的服务,能简化client与server之间核实和结算付款的过程。主要是代表服务器在区块链上结算付款、核实客户提交的付款有效载荷。工作流程如下:

  1. 客户端向资源服务器发送 HTTP 请求

  2. 资源服务器会以 402 支付状态和包含 Base64 编码支付需求的 PAYMENT-REQUIRED 头响应。

  3. 客户端创建支付载荷,将包含支付有效载荷 (Base64 编码,好比用户私钥签名的纸质支票!并非证明“我已经付了钱”,而是证明“我授权你从我的账户里拿走这笔钱”)的 PAYMENT-SIGNATURE 头部向资源服务器发送 HTTP 请求

  4. 资源服务器通过本地验证或通过 POST 将支付有效载荷和付款详情发送到Facilitator的 /verify 端点来验证该支付负载的有效性(让Facilitator验证支票的真实性)

  5. Facilitator根据支付有效载荷的方案和网络 ID 对对象进行验证,并返回验证响应。

  6. 如果验证响应有效,资源服务器会执行该请求的工作,客户端此时就可以享受服务了,无需等到钱到账。如果验证响应无效,资源服务器会返回带有 PAYMENT-REQUIRED 头部的 402 Payment Required 状态。

  7. 而后资源服务器要么通过直接与区块链交互来结算付款,要么通过 POST 支付载荷和付款详情给 Facilitator的 /settle 端点,Facilitator会替资源服务器处理复杂的链上操作:构造交易、支付Gas、广播交易、等待确认。

  8. Facilitator的根据支付有效载荷的方案和网络 ID 向区块链提交付款,等待付款在区块链上的确认,最后返回支付执行响应给资源服务器。

  9. 资源服务器返回给客户端带有包含结算响应的 REPLY(Base64编码的JSON)。成功则200 OK,失败则402并带有错误详情。

如果钱没到账,资源服务器不就亏了?

  • Facilitator扮演了支付担保人的角色,这个损失不是由服务器承担,而是由中间人承担。

  • x402 主要用于小额支付。即使真的出现极小概率的欺诈,服务器的损失也是非常有限的。

  • 如果真的发生了支付失败(比如签名无效、余额不足),中间人会记录下这个客户端的地址。服务器可以根据中间人的反馈,把这个客户端拉入黑名单,拒绝为其提供服务。

集市发现层:Bazaar

快速入门

x402 Bazaar 是 x402 生态系统的发现层,解决了买方能找到卖方的问题。

Bazaar 会提供 /discovery/resources 端点,客户端查询 /discovery/resources 端点以查找兼容x402的可用服务。

discovery/resources 端点

  • Coinbase

GET https://api.cdp.coinbase.com/platform/v2/x402/discovery/resources

  • PayAI

GET https://facilitator.payai.network/discovery/resources

为什么 x402 对 Web3 与 AI 很重要

x402 不只是支付协议,它更是「资料 × 价值」整合的关键桥梁。

在 Web3 的世界里,资讯可以自由流动,但「价值」的流通仍受限。 x402 的出现让两者得以融合。

- Web3 商业模式升级:内容创作者或 API 提供者能为每一次使用收费。

- AI 经济启动:AI 代理能自动为所需的资料或服务付款。

- 去平台化支付:不再依赖集中式平台,每个网站都能自设收费逻辑。

- 开启新型营收模式:从「订阅制」变为「即用即付」的自由经济。

这意味着未来的网络,将不仅传递资讯,也会同时传递价值。

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计