用途
本技能用于支付 HTTP 402(x402)支付挑战。它结合 Zerion CLI 与 Uniswap 的 /pay-with-any-token 技能:先用 Zerion CLI 验证并可选地在各链之间调配资金,再通过 Uniswap 兑换,用任意代币完成 x402 付款。
范围仅限 x402,MPP/Tempo 不在覆盖范围内。
主要能力
- 使用 Uniswap 技能 /pay-with-any-token 支付 x402 HTTP 402 挑战,通过 Uniswap 兑换代币完成付款。
- 使用 Zerion CLI 按链检查代币余额(zerion positions <address>)。
- 可选地预先跨链桥接资金到签名钱包(zerion bridge ... --cheapest)。
- 付款前验证余额(zerion portfolio <address>)。
使用方式
前置要求
- Uniswap AI 技能:npx skills add Uniswap/uniswap-ai
- Zerion CLI:npx -y zerion-cli init -y --browser
- Zerion API key:export ZERION_API_KEY="zk_..."
- Uniswap API key:export UNISWAP_API_KEY="..."
- cast(Foundry):curl -L https://foundry.paradigm.xyz | bash && foundryup
- jq:brew install jq / apt install jq
- 一个可支付的 x402 兼容端点(参见 x402 文档)
钱包设置
关键点:/pay-with-any-token 使用 keystore 或 PRIVATE_KEY 环境变量所引用的钱包进行 EIP-3009 签名。Zerion CLI 单独管理自己的钱包。要让整个流程端到端可用,两者必须指向同一个私钥。
将 EVM 私钥导入 Zerion CLI:
zerion wallet import --evm-key
将同一私钥导入 cast(推荐——加密 keystore,环境变量中无明文):
cast wallet import <name> --interactive
Zerion CLI 通过 OpenWallet 加密私钥。使用 cast keystore 可让两层都保持加密,避免在环境中暴露原始私钥。
如果直接使用 PRIVATE_KEY:
export PRIVATE_KEY=0x... # 明文——仅在可信环境中使用
设置签名钱包地址:
export WALLET=<your-evm-address>
工作流程
- 按链检查代理钱包余额
zerion positions $WALLET
确认哪条链上有足够流动性。如果目标链上余额充足,跳到第 4 步——/pay-with-any-token 会自行获取资金。
- (可选)用 Zerion CLI 预先调配资金
两条路径,任选其一:
路径 A——用 Zerion CLI 预先桥接:
zerion bridge ethereum USDC 50 base USDC --to-address $WALLET --cheapest
资金到达目标链上的签名钱包。使用 --cheapest 以最小化桥接费用。
路径 B——跳过桥接: 让 /pay-with-any-token 通过其内部 phase 4a/4b 获取资金。无需 Zerion 桥接步骤。
如果预先桥接(路径 A),交易 API 的资金获取阶段不会运行。如果跳过(路径 B),/pay-with-any-token 会自行获取资金。两条路径都可行——预先桥接提供显式控制;若资金已就绪,跳过更简单。
- 验证余额(仅路径 A)
zerion portfolio $WALLET
在继续之前,确认桥接已完成且目标链余额充足。
- 支付 x402 挑战
在代理上下文中调用 Uniswap 技能:
/pay-with-any-token
该技能处理代币选择、兑换路由、EIP-3009 签名和付款提交。
参考行为
对照以下用例验证端到端行为: evals/suites/pay-with-any-token/cases/x402-detection-probe.md
任一侧的未来变更都应针对该评估用例进行测试。
适用场景
- 需要支付 x402 HTTP 402 支付挑战,且希望用任意代币而非特定代币付款。
- 签名钱包资金分散在多条链上,需要先检查余额或跨链调配资金后再付款。
- 希望显式控制资金调配(预先桥接)或让技能自行获取资金。
限制与常见阻塞
- 两个独立钱包——最常见的失败原因。确保 zerion wallet import --evm-key 与 cast keystore 或 PRIVATE_KEY 都引用同一私钥。
- 桥接后余额不足——桥接可能需要 1–3 分钟;在调用 /pay-with-any-token 前重新运行 zerion portfolio $WALLET 确认到账。
- 链错误——zerion positions 按链显示余额;确保签名钱包在 x402 端点要求的链上持有资金。
- 桥接交易待处理——运行 zerion history $WALLET 检查桥接交易状态。
- 缺少 jq 或 cast——/pay-with-any-token 需要两者;运行前先安装。
- 本技能仅覆盖 x402,MPP/Tempo 不在范围内。
相关技能
- zerion-uniswap-lp——使用 Zerion CLI 投资组合上下文规划 Uniswap LP 头寸。