SuperAPI AI 工具集

x402-facilitator

编程与开发

查看项目

更新于 10-16 00:24

技能介绍

用途:该技能指导 LLM 开发者把链上支付接入应用,基于 x402 协议与 facilitator 相关包。x402 复用 HTTP 402 Payment Required:服务端在无支付时返回 402 及支付要求(金额、代币、收款方),客户端签名链下授权后重发请求,facilitator(中继方)验证签名并提交链上交易,买方无需 ETH 付 gas。支付发生在 HTTP 层,无需账户、OAuth 或计费门户。

主要能力与场景:一是卖方按请求收费,服务端返回 402,验证并结算后再交付资源,可用 @x402/express(或 @x402/hono、@x402/next)中间件,也可手动实现;二是买方(智能体)付费调用其他服务,用 @x402/fetch 包装 fetch 自动处理 402,EIP-7702 支付需实现 SchemeNetworkClient,用 viem 签名 EIP-712 意图与 EIP-7702 授权。

支付机制:EIP-7702(eip7702)支持任意 ERC-20(USDT、DAI)与原生 ETH;ERC-3009(exact)仅支持 USDC 及带 transferWithAuthorization 的代币,配置最简单。两者对买方均免 gas。若同时接受 USDC 与 USDT,可注册两种 scheme,卖方在 accepts 数组列出,买方按余额选择。

自托管与公共 facilitator:Coinbase CDP 等公共 facilitator 开箱支持 exact(ERC-3009/USDC),仅需此能力时无需 @facilitator/server。需要接受任意 ERC-20 或原生 ETH、持久化 nonce 跟踪与结算审计、完全控制中继方与验证逻辑时,才需自托管 facilitator。

Delegate 合约:EIP-7702 依赖 Delegate.sol,通过 CREATE2 在 Ethereum(1)、Optimism(10)、BNB Chain(56)、Polygon(137)、Base(8453)、Arbitrum(42161)、Avalanche(43114) 上地址均为 0xD064939e706dC03699dB7Fe58bB0553afDF39fDd;其他链需自行部署。

集成步骤:确定卖方/买方场景;选择支付机制;确认目标链已部署 Delegate 合约;使用 EIP-7702 时安装运行 @facilitator/server 并指向链 RPC,为中继钱包充值 ETH,生产环境配置数据库;实现卖方 402 逻辑或中间件,定义支付要求并接入 verify 与 settle;实现买方,安装 @x402/fetch 与 viem,实现 SchemeNetworkClient 或使用 @x402/evm 的 ExactEvmScheme,用 wrapFetchWithPaymentFromConfig 包装 fetch;最后端到端测试并核对链上转账。

EIP-712 域:name 为 Delegate,version 为 1.0,verifyingContract 必须是买方 EOA 地址而非 Delegate 合约地址,因为 EIP-7702 下委托代码以买方账户身份运行。

常见陷阱:viem 的 signAuthorization 字段映射需兼容 contractAddress/address 与 yParity/v;EIP-7702 下无需 ERC-20 approve();verifyingContract 写错是 InvalidSignature 首要原因;手动改 deadline 测试过期会得到 InvalidSignature 而非 Expired;ETH 支付 asset 设为 0x0000000000000000000000000000000000000000 并使用 EthPaymentIntent,amount、to、nonce、deadline 仍必填;Anvil 本地测试需 --hardfork prague;exact scheme 需 extra.name 与 extra.version 匹配 USDC 的 EIP-712 域;中继方需 ETH 付 gas,可查看 /info 端点余额。

限制:资料未提供具体收费、价格与效果数据;未列出的链需自行部署合约。