Skip to main content

概述

x402x-fetch 扩展原生 fetch,当遇到 HTTP 402 (Payment Required) 时,自动解析服务端返回的支付要求、创建签名(Permit / EIP-3009 / Permit2),并携带 X-Payment 头重试原请求。

核心特性

  • ✅ 无缝集成:兼容原生 fetch API
  • 🔐 多种授权:EIP-3009 / EIP-2612 Permit / Permit2
  • 🌐 多链支持:内置常见 EVM 链,支持自定义
  • 🛡️ 安全保护:最大金额上限、签名校验

安装与依赖

依赖(版本示例):

快速开始

一行包装

完整示例

参数说明

  • walletClient:用于签名
  • maxValue:最大允许支付金额(强烈建议设置)
  • paymentRequirementsSelector:多选项时自定义选择

工作流程

典型用途

  • 访问付费 API / 内容
  • 多端一致体验(浏览器 / Node)

API 参考(精简)

支持的 paymentTypeeip3009 | permit | permit2

多链支持

你可以直接使用链名称 / viem Chain 对象 / 自定义配置来创建签名器:

使用示例

GET

POST(带 body)

自定义 Headers

错误处理与金额保护

读取支付响应头

最佳实践

  • 为生产设置合理的 maxValue
  • 统一封装日志与错误分类,便于排障
  • 浏览器环境请走钱包连接(不要暴露私钥)

相关资源

  • 源代码:https://github.com/WTFLabs-WTF/x402x/tree/main/typescript/packages/x402x-fetch
  • 问题反馈:https://github.com/WTFLabs-WTF/x402x/issues