x402-card 是一个虚拟卡技能,用于为智能体创建一次性虚拟借记卡(Visa/Mastercard),支付方式为 BSC 链上的 USDT,通过 x402 HTTP 支付协议完成。
用途 该技能在用户表达创建、管理或查询虚拟卡,或想了解可用卡购买/操作什么时触发。它通过全局命令 x402-card 提供完整的虚拟卡生命周期管理,包括创建卡、查询状态、钱包余额查看、充值、gas 补充和提现。
主要能力
- 创建一次性虚拟卡:使用 x402 协议,在 BSC 上以 USDT 支付创建虚拟卡。
- 查询卡状态:通过订单号查询卡的状态、余额和使用情况。
- 钱包管理:查看本地钱包 USDT 余额与地址;通过 WalletConnect 从主钱包充值 USDT;提现资金到主钱包;补充 BNB 作为 gas。
- 自动充值:创建卡时若 allowance 不足且本地钱包无 BNB,会自动通过 WalletConnect 转账 0.0003 BNB 用于 approve gas;若 USDT 不足,会自动转账 USDT。
使用方式 一次性安装: npm install -g @aeon-ai-pay/x402-card@latest 升级:npm update -g @aeon-ai-pay/x402-card
常用命令: x402-card setup --check # 预检查 / 自动创建钱包 x402-card setup --show # 显示配置 x402-card create --amount <usd> --poll # 创建虚拟卡 x402-card status --order-no <orderNo> # 查询卡状态 x402-card wallet # 查看本地钱包余额 x402-card topup --amount <usdt> # 充值 USDT(WalletConnect,1 次确认) x402-card gas [--amount <bnb>] # 为本地钱包充值 BNB(WalletConnect,用于 approve/withdraw) x402-card clean # 卸载技能,清除缓存 x402-card withdraw [--to <addr>] [--amount <usdt>] # 提现资金
配置存储在 ~/.x402-card/config.json(文件权限 600)。本地钱包私钥由 CLI 自动生成,不向用户索取私钥。
典型流程
- 预检查:无论用户意图如何,先运行 x402-card setup --check。CLI 读取配置文件,若缺少 privateKey 则本地生成并保存,返回 JSON 包含 ready、created、mode、address、mainWallet、serviceUrl、amountLimits。
- 创建卡:金额需在 amountLimits.min ~ amountLimits.max 范围内。执行 x402-card create --amount <usd> --poll。CLI 内部依次进行参数校验、获取支付要求、检查 allowance 与 USDT 余额、必要时发起 WalletConnect 充值、approve 授权、EIP-712 签名(无 gas)、服务端提交转账。--poll 最多轮询 42 次。
- 查询状态:x402-card status --order-no <orderNo>,可加 --poll 轮询至终态。
- 钱包管理:查看余额、充值、提现、补充 gas。
适用场景
- 智能体需要一次性虚拟卡进行支付或购买。
- 用户希望查询虚拟卡状态、余额和使用情况。
- 用户需要管理本地钱包资金,包括充值 USDT、提现、补充 BNB gas。
限制与注意事项
- BSC USDT 不支持 EIP-3009,客户端必须先完成一次 approve 授权(链上交易),实际 USDT 转账由服务端执行。
- 提现需要 BNB 作为 gas,与创建卡(无 gas)不同,提现是本地钱包直接发起链上 ERC20 转账,需自行支付 BNB gas(建议 >= 0.0005 BNB)。
- 涉及 WalletConnect 的命令(create、topup、gas)必须在前台同步运行,不能后台运行,等待用户确认最长 5 分钟。
- 不自动重试充值/签名失败;不轮询状态超过 42 次;不编造 amountLimits,始终使用 setup --check 返回的 min/max。
- 私钥仅存储在本地,无法恢复;提现前应备份配置文件。
- 不支持导入用户自己的私钥;如需自定义,可手动编辑 ~/.x402-card/config.json。
- 输出模板和关键短语有严格的逐字一致性要求,禁止翻译、改大小写、缩写、添加装饰、拆分或合并行、使用同义词。
- 全局禁止行为:不向用户索取私钥;未经用户确认金额不执行 create 或 topup;不记录或显示完整私钥;不跳过 setup --check 直接执行其他命令;不在后台运行 WalletConnect 流程;失败后不自动重试;不编造 amountLimits。