该 Facilitator 由 WTF Academy 提供,当前聚焦 BSC 与 USD1 的稳定支持。
快速集成(服务端)
import { X402Server } from "x402x-server";
import { Facilitator } from "x402x-facilitator";
import { createPublicClient, http } from "viem";
import { bsc } from "viem/chains";
const client = createPublicClient({ chain: bsc, transport: http() });
const facilitator = new Facilitator({
recipientAddress: process.env.RECIPIENT_ADDRESS!, // app.x402x.ai 获得
baseUrl: "https://facilitator.x402x.ai", // 默认:WTF Facilitator
});
const server = new X402Server({ client, facilitator });
示例:创建与处理支付
// USD1(BSC)示例地址(18 decimals)
const USD1 = "0x8d0D000Ee44948FC98c9B98A4FA4921476f08B0d";
// 1) 创建支付要求(自动检测或指定 paymentType)
const requirements = await server.createRequirements({
asset: USD1,
maxAmountRequired: "1000000000000000000", // 1 USD1
description: "Premium API",
});
// 2) 处理支付(parse → verify → settle)
const result = await server.process(req.headers["x-payment"] as string, requirements);
if (!result.success) return res.status(result.status).json(result.response);
// 3) 返回资源
return res.json({ data: "ok", payer: result.data.payer, txHash: result.data.txHash });
查询支持能力
const supported = await facilitator.supported();
// { kinds: ["eip3009","permit","permit2"], networks: ["bsc", ...] }(示例)
注意事项
- 仅在 BSC 链上工作;当前 Token 为 USD1
- 使用 EIP-7702 收款地址(见:Payment Platform)
- 生产环境建议使用
waitUntil: "confirmed" 并记录 txHash