ARTICLE DETAIL

资讯详情

深耕网站建设、视觉设计与SEO优化的一线实战洞察。

用 x402 把任意第三方 API 包装成可付费端点:项目创意与实践指南

用 x402 把任意第三方 API 包装成可付费端点:项目创意与实践指南 用 x402 把任意第三方 API 包装成可付费端点项目创意与实践指南【免费下载链接】x402A payments protocol for the internet. Built on HTTP.项目地址: https://gitcode.com/GitHub_Trending/x4/x402PROJECT-IDEAS.md 导读本文基于仓库根目录的 PROJECT-IDEAS.md 展开核心观点是——第三方 API 不需要原生支持 x402你只需用十几行代码把任何 API 或爬虫包装在一个薄薄的 x402 服务后面AI Agent 就能通过 HTTP 402 协议原生付费调用。读完本文你将掌握x402 的包装即付费核心模式、如何按三步流程贡献并申请最高 $3k 的微资助、仓库内可直接复用的服务器与 MCP 集成构建路径以及从金融 Agent 到购物 Agent 的十余个落地创意。一、核心思想一切 API 都可以被 x402 包装x402 是一个构建在 HTTP 之上的互联网原生支付协议见 README.md。它解锁了长期被保留的HTTP 402 Payment Required状态码让付费才能访问资源这件事可以完全在 HTTP 层表达而无需账号、订阅或传统支付通道。PROJECT-IDEAS.md 开篇就点明了整个项目创意库的前提并非下面列出的所有第三方 API 今天都原生支持 x402——这完全没关系。把你需要的任何 API 或爬虫包装在一个薄薄的 x402 服务器后面大约十几行代码然后让 Agent 通过协议付费。这句话的工程含义是x402 的接入成本由资源服务器卖家承担而对客户端的约束几乎为零——任何 HTTP 客户端只要会读PAYMENT-REQUIRED头、会签名一个PaymentPayload就能付款。仓库文档 docs/core-concepts/client-server.md 对两者的职责做了明确划分Client发起请求 → 读取 402 响应中的支付要求 → 构造签名支付负载 → 带上PAYMENT-SIGNATURE头重试Resource Server资源服务器声明支付要求 → 验证支付负载 → 结算交易 → 返回资源。全程无状态、无会话。因此把一个现成 API天气、搜索、KYC、LLM 推理、商品数据……包装成 x402 端点本质上就是套一层支付中间件。x402 协议中的典型交互流程如下该流程图出自 README.md 的 Typical x402 flow 章节一次完整的付费访问大致经历客户端发起请求 → 资源服务器以402 Payment Required回应并附带PAYMENT-REQUIRED头Base64 编码的PaymentRequired对象包含金额、币种、网络、收款地址→ 客户端选择一种(scheme, network)组合构造并签名PaymentPayload→ 重试请求并携带PAYMENT-SIGNATURE头 → 资源服务器本地验证或委托 facilitator 的/verify端点验证 → 通过后履行请求并通过 facilitator 的/settle端点上链结算 → 最终以200 OK返回资源同时通过PAYMENT-RESPONSE头返回结算结果。三个核心头的语义可参见 docs/core-concepts/http-402.mdHeader方向含义PAYMENT-REQUIRED服务器 → 客户端Base64 编码的PaymentRequired声明可接受的 scheme、价格、网络与收款地址PAYMENT-SIGNATURE客户端 → 服务器Base64 编码的PaymentPayload客户端已授权支付的凭证PAYMENT-RESPONSE服务器 → 客户端Base64 编码的SettlementResponse结算成败的结构化反馈这正是所有项目创意的共同底座你包装的是收取能力不是支付能力。下面的每一个想法本质都是找一种值得付费的 API 调用 用十几行代码套上支付中间件。二、如何参与贡献三步流程与微资助PROJECT-IDEAS.md 给出了非常明确的贡献方式任何人都可以按以下三步参与选择或自建项目。可以从下文的创意列表中挑一个也可以完全自创。搭建包装层Stand up a wrapper。构建一个调用目标 API 并暴露付费端点的小型 HTTP 服务或 MCP Server。用视频证明Show, dont tell。录制一段不超过 2 分钟的视频展示 Agent 或真人正在使用你的服务并在 X 上 coinbaseDev。资助机制项目方为能解锁新需求或新供给、且已在主网真实上线的项目提供最高 $3k 的影响型微资助impact-based micro-grants。这意味着一篇文章式的构想并不够——资助评审看重的是真正跑起来的包装服务。如果你有想法但不确定是否符合资助范围可以在仓库提 issue 说明你要包装的 API项目方会协助界定范围。三、从零搭建第一个 x402 包装服务卖家路径用十几行代码包装一个 API并非修辞——仓库文档 docs/getting-started/quickstart-for-sellers.mdx 展示了最小集成确实是安装依赖 → 挂一个支付中间件 → 声明受保护路由三步。下面以 Node.js Express 为例完整示例在 examples/typescript/servers/express。3.1 安装依赖npm install x402/express x402/core x402/evm x402/svm对应其他技术栈Go 使用go get github.com/x402-foundation/x402/goPython 使用pip install x402[fastapi]Solana 支持追加x402[svm]。3.2 挂载支付中间件并声明路由import express from express; import { paymentMiddleware, x402ResourceServer } from x402/express; import { ExactEvmScheme } from x402/evm/exact/server; import { ExactSvmScheme } from x402/svm/exact/server; import { HTTPFacilitatorClient } from x402/core/server; const app express(); // 你的收款钱包地址 const evmAddress 0xYourEvmAddress; const svmAddress YourSolanaAddress; // 测试网 facilitatorBase Sepolia Solana Devnet const facilitatorClient new HTTPFacilitatorClient({ url: https://x402.org/facilitator }); app.use( paymentMiddleware( { GET /weather: { accepts: [ { scheme: exact, price: $0.001, network: eip155:84532, // Base Sepolia payTo: evmAddress, }, { scheme: exact, price: $0.001, network: solana:EtWTRABZaYq6iMfeYKouRu166VU2xqa1, // Solana Devnet payTo: svmAddress, }, ], description: Weather data, mimeType: application/json, }, }, new x402ResourceServer(facilitatorClient) .register(eip155:84532, new ExactEvmScheme()) .register(solana:EtWTRABZaYq6iMfeYKouRu166VU2xqa1, new ExactSvmScheme()), ), ); app.get(/weather, (req, res) { // 这里调用你包装的第三方 API例如天气数据服务 res.send({ report: { weather: sunny, temperature: 70 }, }); }); app.listen(4021, () { console.log(Server listening at http://localhost:4021); });这里的关键结构是RouteConfig——它就是包装声明的完整接口定义见 docs/getting-started/quickstart-for-sellers.mdxinterface RouteConfig { accepts: Array{ scheme: string; // 支付方案exact 或 upto price: string; // exact 为固定价upto 为客户端授权的最大金额 network: string; // CAIP-2 格式网络标识如 eip155:84532 或 solana:EtWTRAB... payTo: string; // 你的钱包地址 }; description?: string; // 资源描述对 Agent 可读 mimeType?: string; // 响应 MIME 类型 extensions?: object; // 可选扩展如 Bazaar 发现层 }3.3 两种支付方案exact 与 upto包装不同的 API 对应不同的计费方式exact默认客户端支付固定价格适用于成本事先已知的端点一次数据查询、一份报告、一次 KYC 检查。支持 EVM、SVM、Stellar、Aptos 及全部官方 SDK。upto客户端授权一个最大金额但服务器只按实际用量结算。适用于按 token 计费的 LLM 生成、按耗时计费的计算任务、按字节计费的数据传输。当前仅在 EVM 网络Permit2可用。使用upto只需两处改动路由配置中scheme: upto此时price表示授权上限并在处理器中调用setSettlementOverrides指定实际结算金额完整示例见 examples/typescript/servers/uptoapp.get(/api/generate, (req, res) { const maxAmountAtomic 100000; // 10 cents6 位小数 USDC 的原子单位 const actualUsage /* 按实际 LLM token / 计算量计算 */; setSettlementOverrides(res, { amount: String(actualUsage) }); res.json({ result: 生成内容..., usage: { actualChargedAtomic: String(actualUsage) } }); });setSettlementOverrides的amount支持三种格式原始原子单位如1000即结算 1000 个原子单位、授权最大值的百分比如50%最多两位小数向下取整、美元价格如$0.05按注册 scheme 的代币精度换算取整。解析后的金额必须小于等于授权上限若为0则不上链、不扣费。3.4 验证你的包装端点包装完成后用一条 curl 即可验证支付门禁是否生效curl http://localhost:4021/weather—— 服务器返回402 Payment Required并在PAYMENT-REQUIRED头中携带 Base64 编码的支付要求使用兼容客户端如 docs/getting-started/quickstart-for-buyers.mdx 中描述的买家 SDK完成签名携带PAYMENT-SIGNATURE头重试请求服务器经 facilitator 验证通过后返回真实的 API 响应。从源码结构看仓库在 go/http、python/x402/http 与 typescript/packages/http 下为 Express、Fastify、Hono、FastAPI、Flask、Gin、Echo、net/http 等主流框架都提供了等价中间件包装逻辑与上述 Express 示例完全同构你完全可以选择自己熟悉的技术栈。四、项目创意详解从支付时刻到建议 APIPROJECT-IDEAS.md 的核心篇幅是一个分类清晰的创意库。每一个创意都按统一的三元组描述做什么What it does、支付时刻Payment moment、建议包装的 APISuggested APIs。下面完整继承并逐项展开帮助你评估哪些创意最容易落地。4.1 Unstoppable Agent不停止的 Agent做什么一个通过 x402 按需购买推理能力或工具调用的打不死的 Agent——只要有钱包它就能持续获取算力。支付时刻每次 API 调用。建议包装的 API任意你喜欢的模型、去中心化托管提供商。扩展玩法把它和其他 Agent 放进同一个沙箱让它们共同组成一个 x402 化的社会可以运行各种有趣的实验。这是最能体现 x402 机器对机器微支付优势的场景Agent 的每次工具调用都是一次独立、自动、无账号的微支付天然契合exact方案。4.2 Financial Agents金融类 AgentWealth-Manager Trading Bot财富管理交易机器人做什么执行算法交易并汇报业绩昨天我赚了 x%。支付时刻每次数据抓取、每笔交易手续费可流式结算。建议包装的 APIMessari、代币价格数据、网络搜索、Firecrawl 等网页抓取服务。这里每笔交易手续费提示了upto方案的用武之地交易机器人消耗的 API 数据量难以预先固定按实际用量结算更为合理。Prediction-Market Oracle预测市场预言机做什么Agent 通过抓取线上共识事实为任意预测市场裁定结果。支付时刻结算时的裁定费。建议包装的 API网络搜索与网页抓取。Rapid KYC/AML Checker快速 KYC/AML 检查器做什么花 $0.25 筛查一个钱包地址是否命中制裁名单或风险启发式规则。支付时刻每次检查的固定费用。建议包装的 APIChainalysis、TRM或你自己的启发式规则。这是最典型的 flat per-check fee固定单价场景——一次调用、一个价格、一个结算用exact方案几行代码即可包装。4.3 Commerce Agents电商购物类 AgentPurchase-With-Crypto Shopper加密购物者做什么Agent 装满购物车通过 Coinbase Commerce 或 Crossmint 结账。支付时刻单次结账可选按次收取比价/抓取费。建议包装的 APIFirecrawl 抓取、Crossmint / Flxpoint 电商 API、面向长尾站点的浏览器自动化。Agentic Commerce Proof-of-ConceptAgent 电商概念验证做什么端到端的商户结账流程由 Agent 通过 x402 完成支付。购物场景特别适合把抓取比价与最终支付拆成两个收费端点前一个按次收取微小的抓取费后一个在结账时一次性结算。4.4 Knowledge Services知识与服务类Bounty-Hunter Agent赏金猎人 Agent做什么扫描开放赏金任务、完成任务、领取奖励。支付时刻入场费按工作量的流式计算付费。建议包装的 APIBountycaster、基础网页抓取、图像生成、代码沙箱。One-Off Code Review Marketplace一次性代码评审市场做什么任何开发者高亮代码段支付 $5 获取专家评审。支付时刻评审包交付时的固定费用。Consultant Agent顾问 Agent做什么找到专家、预约通话、自动付费。支付时刻预付预约费。建议包装的 APICal.com、Twilio、XTMP 消息、LinkedIn 搜索。Dynamic Endpoint Shopper动态端点购物者做什么Agent 发现一个 MCP 注册表为其中的服务付费并串联多次调用结果。支付时刻对每个被发现的端点按调用付费。建议包装的 APIToolbox MCP registry 目标 MCP。这个创意与下文第五节高度契合MCP Server 本身就是 x402 包装的极佳载体Agent 可以发现即付费即使用。Real-Time Fact Checker实时事实核查器做什么记者高亮一条声明Agent 查找佐证来源并按页付费。支付时刻按页检索付费。建议包装的 APIExa Search、Browserbase 快照。Pay-As-You-Learn Tutor按需付费的辅导老师做什么每解释一条命令收费 1 美分会话结束时出具明细账单。支付时刻会话结束的逐项计费——这是upto方案按实际用量结算的教科书级场景。Weather-Triggered Donations天气触发捐赠做什么当气温跌破阈值或发布龙卷风警报时Agent 自动向本地组织捐款。支付时刻条件触发即支付。Facebook-Marketplace Buyer二手市场买家做什么Agent 协商并购买本地二手商品。支付时刻达成协议时的定金取货时的尾款。建议包装的 API网页抓取、Browserbase / Stagehand 对话、以图搜图。Bounty Poster赏金发布者做什么Agent 把自己无法完成的任务外包出去自动发布赏金。支付时刻每条赏金的挂单费。建议包装的 APICraigslist API 或 Bountycaster。五、把包装层做成 MCP Server让 Claude 直接调用付费工具PROJECT-IDEAS.md 在贡献流程中明确允许HTTP 服务或 MCP Server作为包装形式。仓库文档 docs/guides/mcp-server-with-x402.md 提供了完整的 MCP 集成指南官方示例位于 examples/typescript/clients/mcp。5.1 架构Claude Desktop ──▶ MCP Server (x402 client) ──▶ x402 付费 API │ │ │ │ 1. 调用工具 │ 2. GET /weather │ │ │ 3. 402 支付要求 ◀─────│ │ │ 4. 签名支付 │ │ │ 5. 带支付重试 ─────────▶│ │ │ 6. 200 数据 ◀────────│ │ 7. 返回结果 ◀────────│ │MCP Server 作为桥梁Claude 调用工具时MCP Server 通过x402/axios的支付包装层自动完成检测 402 → 解析PAYMENT-REQUIRED要求 → 用已注册 scheme 签名 → 带PAYMENT-SIGNATURE重试 → 返回付费数据的完整握手全程无需人工干预。5.2 环境变量与 Claude Desktop 配置MCP 包装服务通过环境变量注入钱包与目标端点来源docs/guides/mcp-server-with-x402.md变量说明必填EVM_PRIVATE_KEYEVM 钱包私钥0x 前缀EVM 与 SVM 至少其一SVM_PRIVATE_KEYSolana 钱包私钥base58 编码EVM 与 SVM 至少其一RESOURCE_SERVER_URL付费 API 的 Base URL是ENDPOINT_PATH具体端点路径如/weather是在 Claude Desktop 配置中注册该 MCP Server仓库内的参考配置见 examples/typescript/clients/mcp 的 README{ mcpServers: { demo: { command: pnpm, args: [--silent, -C, 绝对路径/examples/typescript/clients/mcp, dev], env: { EVM_PRIVATE_KEY: 持有 Base Sepolia USDC 的钱包私钥, RESOURCE_SERVER_URL: http://localhost:4021, ENDPOINT_PATH: /weather } } } }5.3 两种 MCP 客户端接入方式官方示例 examples/typescript/clients/mcp/index.ts 同时提供了两条路径simple 模式推荐使用createx402MCPClient工厂函数一行完成配置见 examples/typescript/clients/mcp/simple.tsconst x402Mcp createx402MCPClient({ name: x402-mcp-client-demo, version: 1.0.0, schemes: [ { network: eip155:84532, client: new ExactEvmScheme(evmSigner) }, { network: eip155:84532, client: new UptoEvmScheme(evmSigner) }, ], autoPayment: true, onPaymentRequested: async context { const price context.paymentRequired.accepts[0]; console.log(Payment required: ${price.amount} (${price.asset}) on ${price.network}); return true; // 授权支付 }, });调用付费工具时callTool返回结果会附带paymentMade标记与paymentResponse含交易哈希让 Agent 和上层应用都能拿到可审计的支付凭证。advanced 模式手动组装x402/axios的x402Client与wrapAxiosWithPayment按eip155:*/solana:*分别注册 EVM、SVM scheme适合需要精细控制签名与请求逻辑的场景见 examples/typescript/clients/mcp/advanced.ts。六、上线主网前的最后几步创意要想拿到已上线主网的资助资格需要在 docs/getting-started/quickstart-for-sellers.mdx 描述的测试网基础上做四处切换更换 facilitator URL从测试网https://x402.org/facilitator切换到生产 facilitator仓库文档给出的示例为https://api.cdp.coinbase.com/platform/v2/x402或 PayAI Facilitator。更换网络标识符CAIP-2x402 v2 使用 CAIP-2 格式标识网络网络CAIP-2 标识符Base Mainneteip155:8453Base Sepolia测试网eip155:84532Solana Mainnetsolana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdpSolana Devnet测试网solana:EtWTRABZaYq6iMfeYKouRu166VU2xqa1注册主网 scheme将server.register的网络参数切换为主网标识多网络则同时注册 EVM 与 SVM scheme。更新收款钱包并小金额试跑先小额测试、确认款项到账、再逐步放量。另外若想让你的包装端点被买家与 Agent 发现可以在路由配置中加入 Bazaar 扩展extensions.bazaar.discoverable: true及输入/输出 Schema支持 Bazaar 的 facilitator 会通过/discovery/resources端点向全生态目录化你的服务——详见 docs/extensions/bazaar.mdx这会让动态端点购物者这类创意真正跑通发现 → 付费 → 使用的闭环。七、超出清单之外的想法PROJECT-IDEAS.md 最后特别说明如果想法不在清单里项目方是灵活的——直接在 issue 里提出你的想法说明你计划包装的 API项目方会协助你界定范围。结合本文第三节的包装四步与第五节的 MCP 路径任何一次值得付费的 API 调用都可以快速原型化选好目标 API → 用十几行中间件代码包装 → 挂一个测试网 facilitator → 录制 2 分钟演示视频。这正是 x402 生态最鼓励的贡献方式先用最小成本让一个付费端点跑起来再谈资助与规模化。【免费下载链接】x402A payments protocol for the internet. Built on HTTP.项目地址: https://gitcode.com/GitHub_Trending/x4/x402创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表