简单理解 x402 支付协议

x402 支付协议是一种基于 HTTP 的链无关支付标准,利用现有的 402 Payment Required HTTP 状态码来指示资源访问需要付款。它旨在为客户端和服务器提供无需许可、安全、无 gas 费用的支付体验,并且集成简单。

基础概念

  • 资源:任何接受 HTTP/HTTPS 请求的网络资源,如网页、文件服务器、API 等。
  • 客户端:想要为资源付款的实体。
  • 资源服务器:提供 API 或其他资源的 HTTP 服务器。
  • 促进服务器:帮助验证和执行链上支付的服务器。

x402 协议的主要特点

  • 无需许可:客户端和服务器无需许可即可使用。
  • 无 gas 费用:客户端和资源服务器无需支付 gas 费用。
  • 简单集成:资源服务器只需一行代码,客户端只需一个函数。
  • 可扩展:支持不同支付流程和区块链。

x402 协议流程

  1. 客户端请求资源:客户端向资源服务器发送 HTTP 请求。
  2. 资源服务器响应:资源服务器返回 402 Payment Required 状态码和 Payment Required Response JSON 对象。
  3. 客户端选择支付方式:客户端从响应中选择一个支付方式,创建 Payment Payload。
  4. 客户端发送支付请求:客户端在 X-PAYMENT 头中包含 Payment Payload 发送请求。
  5. 资源服务器验证支付:资源服务器验证支付有效性,可能通过促进服务器。
  6. 促进服务器处理支付:促进服务器验证并在区块链上结算支付。
  7. 资源服务器返回资源:如果支付成功,资源服务器返回资源和 X-PAYMENT-RESPONSE 头。

示例代码

javascript 复制代码
// 使用 paymentMiddleware 接受数字美元
app.use(
  "/your-endpoint",
  paymentMiddleware("$0.10", "0x209693Bc6afc0C5328bA36FaF03C514EF312287C")
);

支付方案(Schemes)

  • exact 方案:转移固定金额,例如支付 1 美元阅读文章。
  • upto 方案:根据资源使用情况转移最多固定金额,例如生成 LLM 令牌。

运行示例

  1. 克隆示例仓库。
  2. 安装依赖。
  3. 分别运行促进服务器、资源服务器和客户端。
bash 复制代码
cd example
npm install
npm run facilitator
npm run resource
npm run client

测试

  1. 安装依赖。
  2. 创建 .env 文件并配置。
  3. 运行测试。
bash 复制代码
cd packages/typescript
npm install
npm run test
相关推荐
Shulex8 小时前
跨境电商 AI Agent 核心架构解析:从只读问答到自主执行的工程落地
人工智能·架构·智能客服·跨境电商
Sakura_j_h_9 小时前
EasyEDA PCB 快速设计Skills
c++·python·github
学长毕设9 小时前
基于springboot的食品仓库管理系统
java·spring boot·后端
钱工的门窗技术笔记9 小时前
室内极窄全景移门的支承路径与预留接口:轨道形式、型材壁厚口径与验收边界
物联网·架构·数据分析
码农小旋风9 小时前
Ray分布式计算引擎介绍
人工智能·架构
滴滴答答哒9 小时前
ASP.NET Core + FaceRecognitionDotNet 人脸识别实战:DI 单例、特征向量持久化与 1:N 比对
后端·asp.net
ZhengEnCi9 小时前
Agent 架构怎么选:从单 Agent 到多 Agent 编排的选型决策指南
算法·架构
星融元asterfusion10 小时前
工业网络升级实战:100G 双轨 Leaf-Spine 架构破解高并发出货网络瓶颈
网络·架构·spine
天远数科10 小时前
零信任架构实战:基于天远企业法人四要素高级版构建自动化供应商资质穿透核验网关
人工智能·架构·自动化
深蓝AI11 小时前
苹果智能入华拆解:八样首批功能、支持的机型、千问在三个入口的位置
人工智能·架构