x402
x402 ↗ 是一种围绕 HTTP 402(Payment Required)构建的支付标准。服务返回带有支付指令的 402 响应,客户端以编程方式付款 — 无需账户、会话或 API 密钥。
工作原理
- 客户端请求资源 —
GET /resource。 - 服务器返回
402 Payment Required,带有包含 Base64 编码支付详情的PAYMENT-REQUIRED头:价格、接受的代币、网络和商家地址。 - 客户端构造一个签名的支付负载,并使用
PAYMENT-SIGNATURE头重试请求。 - 服务器验证支付负载 — 直接验证或通过调用 facilitator — 并在链上结算交易。
- 服务器返回资源,带有包含结算确认的
PAYMENT-RESPONSE头。
关键组件
客户端
客户端是任何请求付费资源的实体:人工操作的应用、AI agent 或编程服务。客户端只需要一个加密钱包 — 无需管理账户、凭据或会话 token。
服务器
服务器在 402 响应中定义支付要求,验证传入的支付负载,结算交易,并提供资源。x402 SDK 和 facilitator 自动处理大部分这些工作。
Facilitator
Facilitator 是一个可选但推荐的第三方服务,它抽象了区块链交互。服务器不直接连接到节点,而是委托两个操作:
POST /verify— 在服务器满足请求之前,确认客户端的支付负载有效。POST /settle— 将已验证的支付交易提交到区块链。
Facilitator 不持有资金。它代表服务器验证并广播客户端预签名的交易。https://x402.org/facilitator 是由 Coinbase 运营的公共 facilitator,用于所有 Cloudflare 示例。在不同网络上有多个 facilitator ↗可用。
支付方案和网络
x402 使用支付方案定义在给定网络上构建和结算支付的方式。
| 方案 | 网络 | 描述 |
|---|---|---|
| exact ↗ | EVM, Solana, Aptos, Stellar, Hedera, Sui | 向商家地址转账固定金额的代币 — 在 EVM 上通常是 ERC-20 ↗ USDC。 |
| upto ↗ | EVM | 授权一个最大金额;实际收费在结算时根据资源消耗确定。 |
支持的网络包括 Base、Ethereum、Polygon、Optimism、Arbitrum、Avalanche、Solana、Aptos、Stellar 和 Sui。使用 base-sepolia 进行测试,可以从 Circle Faucet ↗ 获得免费的测试 USDC。
为资源收费
HTTP 内容 使用 Worker 代理对 API、网页和文件进行门控
MCP 工具 使用 paidTool 按工具调用收费
为资源付款
Agents SDK 使用 withX402Client 包装 MCP 客户端
Coding tools OpenCode 插件和 Claude Code hook
SDK
| 包 | 安装 | 用途 |
|---|---|---|
| x402-hono | npm install x402-hono | 用于 Worker 服务器的 Hono 中间件 |
| @x402/fetch | npm install @x402/fetch | 自动处理支付的 fetch 包装器 |
| @x402/evm | npm install @x402/evm | EVM 支付方案支持 |
| agents/x402 | 包含在 agents 中 | 支持 x402 支付的 MCP 客户端 |
相关
- x402.org ↗ — 协议规范
- x402 GitHub ↗ — 开源 SDK
- x402 examples ↗ — 完整的可用代码
- Pay Per Crawl — Cloudflare 原生货币化