跳转到主要内容

概览

该 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

相关