SuperAPI AI 工具集

zerion-uniswap-x402

智能体与模型

查看项目

更新于 10-16 04:22

技能介绍

用途

本技能用于支付 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>

工作流程

  1. 按链检查代理钱包余额

zerion positions $WALLET

确认哪条链上有足够流动性。如果目标链上余额充足,跳到第 4 步——/pay-with-any-token 会自行获取资金。

  1. (可选)用 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 会自行获取资金。两条路径都可行——预先桥接提供显式控制;若资金已就绪,跳过更简单。

  1. 验证余额(仅路径 A)

zerion portfolio $WALLET

在继续之前,确认桥接已完成且目标链余额充足。

  1. 支付 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 头寸。