概述
x402x-detector 用于自动识别 ERC-20 Token 的“免 Gas 支付能力”,覆盖 EIP-2612 Permit、EIP-3009、Permit2 等标准,并能处理常见代理模式(EIP-1967 / UUPS)。结果会永久缓存以获得毫秒级访问。
核心特性
- 🔍 全面检测:Permit / EIP-3009 / Permit2
- 🧭 代理处理:EIP-1967 / UUPS / 自定义 implementation
- ⚡ 高性能:首次 2-5s,命中缓存
<1ms - 🧰 简洁 API:
detect/getRecommendedMethod/initialize
安装
快速上手
示例
- 函数式 API(无缓存)
- TokenDetector 类(带缓存)
- 服务端集成(Express)
- 检测收款地址(EIP-7702 + settle)
创建
detect.ts,核心逻辑如下:查看完整示例代码(函数式 API)
查看完整示例代码(函数式 API)
检测细节
- Permit:
permit() / DOMAIN_SEPARATOR() / nonces(owner) - EIP-3009:
transferWithAuthorization()、authorizationState() - Permit2:
allowance(user, token, spender)
proxiableUUID() 等)
建议用法
- 启动预热:
detector.initialize([USDC, DAI, ...]) - 选择推荐类型:
detector.getRecommendedMethod(token) - 非标准代理合约需手动校验实现地址
API 参考(精简)
- 参数说明:
/parameters-responses/detector/parameters - 返回结构:
/parameters-responses/detector/responses
性能与优化
- 预热常用 Token:服务启动时
initialize([tokens]) - 并行检测:优先使用
initialize批量并行 - 按需检测:首次慢、后续快(命中缓存)
- 定期刷新:周期性对热门 Token 重新检测
相关资源
- 源代码:
https://github.com/WTFLabs-WTF/x402x/tree/main/typescript/packages/x402x-detector - 问题反馈:
https://github.com/WTFLabs-WTF/x402x/issues