English | 简体中文
x402x (x402-exec 的简称) 是一个为 x402 协议 设计的可编程结算框架,在原子交易中结合支付验证、基于 Hook 的业务逻辑和 Facilitator 激励。
可编程结算与真正的原子性 - 不仅仅是支付路由,而是一个完整的结算执行框架,在单个原子交易中组合支付验证、业务逻辑执行和 Facilitator 激励。
🔌 通过 Hook 实现无限扩展性
- 多方支付的收入分账
- 原子化的 NFT 铸造支付
- 积分奖励分发
- 任何你能想象到的自定义业务逻辑
💰 原生 Facilitator 费用支持
- 内置 Facilitator 费用机制,实现真正的无需许可 Facilitator
- 解决 x402 协议中的关键缺失功能
- 随时可提取累积费用
- 通过事件透明追踪费用
⚡ 最小化集成开销
- PaymentRequirements 中仅需 3 个额外字段
- 单次交易完成所有操作 - 无需 Multicall3 复杂性
- 客户端改动极小(仅需调整 nonce 计算)
- 向后兼容现有 x402 基础设施
🔄 原生幂等性与可观测性
- 通过 EIP-3009 nonce 内置重放保护
- 完整的事件日志用于对账和监控
- 基于上下文的结算追踪
✅ 收入分账 - 自动多方支付分配
✅ NFT 商务 - 原子化铸造支付与收入分账
✅ 会员计划 - 实时积分奖励分发
多层保护
- 密码学承诺验证防止参数篡改
- 不持币原则 - Router 余额始终为零
- 基于 OpenZeppelin 的重入保护
- CEI(检查-效果-交互)模式强制执行
- 35+ 测试用例覆盖边界情况
Client (EIP-3009 Signature)
↓
Facilitator
↓
SettlementRouter ──→ Hook ──→ Recipients
│ (分账/发货)
└→ Events (可观测性)
-
SettlementRouter:核心结算合约
- 消费 EIP-3009 授权
- 调用 Hook 执行业务逻辑
- 确保原子性和幂等性
-
TransferHook(内置):默认转账 Hook
- 简单转账与 Facilitator 费用支持
- 替代直接 ERC-3009 转账
- 最小 Gas 开销(~8k gas)
- 通用部署(每个网络一个实例)
-
ISettlementHook:Hook 接口
- 所有业务逻辑通过 Hook 实现
- 完全可扩展,支持任意场景
x402-exec/
├── contracts/ # Solidity 智能合约
│ ├── src/
│ │ ├── SettlementRouter.sol # 核心结算合约
│ │ └── interfaces/ # 合约接口
│ ├── examples/ # Hook 示例
│ ├── script/ # 部署脚本
│ ├── test/ # 合约测试
│ └── docs/ # 合约文档
├── examples/
│ ├── facilitator/ # 支持 SettlementRouter 的 Facilitator
│ └── showcase/ # 全栈演示应用
└── docs/ # 项目文档
如果你想在自己的项目中使用 x402-exec,请使用官方 x402 v2 包。详细说明请查看 第三方集成指南。
快速安装:
# 使用官方 x402 v2 包
npm install @x402/core @x402/evm @x402x/extensions
# 或使用 pnpm
pnpm add @x402/core @x402/evm @x402x/extensions在 package.json 中:
{
"dependencies": {
"@x402/core": "latest",
"@x402/evm": "latest",
"@x402x/extensions": "latest"
}
}
⚠️ 注意:x402 v1 已废弃。请使用官方 x402 v2 包配合@x402x/extensions进行集成。
# 安装 Foundry
curl -L https://foundry.paradigm.xyz | bash
foundryup
# 克隆项目
git clone https://github.com/nuwa-protocol/x402-exec.git
cd x402-execcd contracts
forge build
forge testcd contracts
./deploy-contract.sh [网络] [选项] # 先配置 .env 文件
# 示例(使用 CAIP-2 网络标识符):
./deploy-contract.sh eip155:84532 --all --verify # 在测试网部署所有内容 (Base Sepolia)
./deploy-contract.sh eip155:8453 --settlement --verify # 在主网部署 SettlementRouter (Base)
./deploy-contract.sh eip155:196 --hooks --verify # 部署内置 hooks (X-Layer)该 Facilitator 自动支持两种模式:
- 标准 x402 支付:直接 ERC-3009 转账
- SettlementRouter 支付:扩展结算与 Hook 执行
查看 Facilitator README 获取完整设置指南和运行说明,或查看 Facilitator 开发指南 了解如何扩展你自己的 Facilitator。
查看全栈演示应用:
- 位置:
examples/showcase/ - 场景:收入分账、NFT 铸造、积分奖励
- 技术栈:React + TypeScript + Viem
协议级 Hooks,每个网络部署一次,供所有项目使用:
- TransferHook:简单转账与 Facilitator 费用支持 (文档)
- 直接替代 ERC-3009 转账
- 最小 Gas 开销
- 无需 hookData
教学模板和参考实现,位于 contracts/examples/:
| 网络 | SettlementRouter | 状态 |
|---|---|---|
| Base Sepolia (测试网) | 0x817e4f0ee2fbdaac426f1178e149f7dc98873ecb |
✅ 活跃 |
| X-Layer 测试网 | 0xba9980fb08771e2fd10c17450f52d39bcb9ed576 |
✅ 活跃 |
| SKALE Base Sepolia | 0x1Ae0E196dC18355aF3a19985faf67354213F833D |
✅ 活跃 |
| BSC 测试网 | 0x1Ae0E196dC18355aF3a19985faf67354213F833D |
✅ 活跃 |
| Base 主网 | 0x73fc659Cd5494E69852bE8D9D23FE05Aab14b29B |
🎉 已上线 |
| X-Layer 主网 | 0x73fc659Cd5494E69852bE8D9D23FE05Aab14b29B |
🎉 已上线 |
| BSC 主网 | 0x1Ae0E196dC18355aF3a19985faf67354213F833D |
🎉 已上线 |
| Ethereum 主网 | - | 🚧 计划中 |
| 网络 | TransferHook | 状态 |
|---|---|---|
| Base Sepolia (测试网) | 0x4DE234059C6CcC94B8fE1eb1BD24804794083569 |
✅ 活跃 |
| X-Layer 测试网 | 0xD4b98dd614c1Ea472fC4547a5d2B93f3D3637BEE |
✅ 活跃 |
| SKALE Base Sepolia | 0x2f05fe5674aE756E25C26855258B4877E9e021Fd |
✅ 活跃 |
| BSC 测试网 | 0x2f05fe5674aE756E25C26855258B4877E9e021Fd |
✅ 活跃 |
| Base 主网 | 0x081258287F692D61575387ee2a4075f34dd7Aef7 |
🎉 已上线 |
| X-Layer 主网 | 0x081258287F692D61575387ee2a4075f34dd7Aef7 |
🎉 已上线 |
| BSC 主网 | 0x2f05fe5674aE756E25C26855258B4877E9e021Fd |
🎉 已上线 |
| Ethereum 主网 | - | 🚧 计划中 |
用于测试和参考的示例部署:
-
演示应用:https://demo.x402x.dev/
交互式演示,包含 3 种支付场景(推荐分账、NFT 铸造、积分奖励) -
示例 Facilitator:https://facilitator.x402x.dev
参考 Facilitator 实现(查看 Facilitator 指南)
💡 注意:这些是示例部署。生产环境请部署你自己的 Facilitator 并根据需求进行配置。
- 内置 Hooks 指南 - 使用 TransferHook 和其他内置 Hooks
- Facilitator 示例与设置 - 完整的 TypeScript 实现和设置指南
- Facilitator 开发指南 - 语言无关的集成指南,用于扩展你的 Facilitator
- Hook 开发指南 - 构建自定义 Hook 实现业务逻辑
- 合约 API 文档 - SettlementRouter 合约接口
- SettlementRouter 核心合约
- Hook 接口和示例
- TransferHook 内置实现
- 文档和指南
- 完整测试覆盖
- Gas 优化
- 安全审计
- 主网部署
欢迎贡献!请查看 贡献指南。
对于 AI 代理:在进行任何代码更改之前,必须阅读 开发工作流规则,其中定义了强制性的 Git 工作流实践。
Apache-2.0 License - 详见 LICENSE