在 Node.js API 中集成 x402 协议实现机器间微支付

通过在 Express 应用中注入 x402 中间件,实现 API 级别的实时计费,允许开发者在 Base L2 链上通过 USDC 接收每单调用的微小金额支付。

为什么需要这个技能

在构建 AI Agent 服务或 MCP(Model Context Protocol)服务器时,传统的按月订阅模式难以覆盖高频且不稳定的 API 调用成本。x402 协议允许实现“按次付费”的机器间(M2M)经济模型。

通过此技能,你可以快速将 API 接口转化为盈利点,无需自己从零开发复杂的区块链支付验证逻辑,直接利用封装好的 Wrapper 实现请求拦截与支付结算。

适用场景

  • API 商业化:需要为现有的 Express API 添加付费墙。
  • MCP 货币化:为新创建的 MCP 服务器增加基于 USDC 的使用门槛。
  • 机器间经济:构建允许其他 AI Agent 支付微小费用以获取高质量数据的服务。

核心工作流

1. 环境安装

在项目中安装必要的依赖库:

npm install x402-express ethers

2. 配置与注入

导入 Wrapper 并初始化配置。注意:RELAYER_PRIVATE_KEY 必须拥有足够的 Base L2 Gas 费,因为服务器将作为 Relayer 处理结算。

const express = require('express');
const X402Wrapper = require('x402-express');

const app = express();

const x402 = new X402Wrapper({
    rpcUrl: "https://mainnet.base.org",
    privateKey: process.env.RELAYER_PRIVATE_KEY, // 必填:用于结算的 Relayer 私钥
    recipient: process.env.MY_WALLET_ADDRESS     // 必填:收益接收地址
});

// 设置支付金额,例如 "20000" 代表 0.02 USDC(USDC 为 6 位精度)
app.get('/api/premium', x402.requirePayment("20000"), (req, res) => {
    // 只有支付通过后才会执行此逻辑
    res.json({ data: "高价值信息", receipt: req.paymentTx });
});

3. 架构要点

  • 请求头验证:客户端 Agent 需在 Payment-Signature 请求头中发送 Base64 编码的 JSON(包含 from, nonce, signature 等)。
  • 原子结算:服务器端调用 M2MCentEscrow.settle() 完成链上结算。这意味着消费者无需支付 Gas 费,由服务提供方(Relayer)承担,从而降低支付门槛。

下载和安装

下载 x402-express-wrapper 中文版 Skill ZIP

解压后将目录放入你的 AI 工具 skills 文件夹,重启工具后即可使用。具体路径参考内附的 USAGE.zh.md

你可能还需要

暂无推荐