Meta DEX Aggregator 是一个「聚合器的聚合器」工具,用于在多个 DEX 聚合器之间比较报价,以寻找更优的兑换价格。它并行查询 ParaSwap、Odos、KyberSwap、Matcha/0x、CowSwap 五个聚合器,并通过 agent 工具调用 1inch,按扣除 gas 后的净输出排名,并在执行前进行安全检查。
【主要能力】
- 并行查询 5 个聚合器(ParaSwap、Odos、KyberSwap、CowSwap、Matcha/0x),并通过 agent 工具调用 1inch。
- 通过 1inch 执行市价单(--market-order)实现即时执行。
- 自动验证:兑换后余额检查(--auto-verify)。
- 重试逻辑:失败时回退到下一个最佳聚合器。
- CowSwap 轮询,用于 MEV 保护的批量拍卖订单。
- 跨链兑换:通过 LI.FI 和 1inch Fusion+。
- 历史记录以 JSONL 格式记录,用于趋势分析。
- 分析功能:胜出统计、价格趋势、滑点分析、CSV 导出。
- 报价监控:达到目标价格时发出提醒。
【安全特性】
- 价格影响:从 DefiLlama coins API(含 DexScreener 回退)获取公允市价,与报价输出比较。阈值:3% 警告、5% 高、10% 严重(阻止兑换)。
- Gas 调整排名:netOut = amountUsd - gasUsd,最佳路线不等于代币数量最多。
- MEV 保护标记:CowSwap 和 0x Gasless 被标记为 isMEVSafe,当 MEV 安全路线在最优价格的 0.5% 以内时予以推荐。
- 滑点警告:三明治风险 >1%、稳定币对 >0.05%、过低回滚风险。
- 异常值检测:报价比最优差 5% 以上标记为异常值。
- 兑换后验证:强制余额检查,偏差 >2% 时标记。
【使用方式】 首次使用步骤:
- 获取钱包地址:wallet_info()
- 检查余额:wallet_balance(chain="arbitrum")
- 设置钱包策略:wallet_propose_policy(...),用户需在 UI 中批准后兑换才能工作。注意:不要对 "method": "eth_sendTransaction" 使用空条件,应使用 "method": "*" 进行广泛授权。
- 之后按 报价 → 授权 → 执行 → 验证 的工作流程进行。
报价与安全检查:
- 并行获取 4 个聚合器报价(含安全检查):cd skills/meta-dex-aggregator/scripts && python3 meta_dex.py quote --chain base --from ETH --to USDC --amount 0.5 --slippage 0.5
- 通过原生工具获取 1inch 报价:oneinch_quote(chain="base", src="<from_addr>", dst="<to_addr>", amount="<amount_in_wei>")
- 合并结果并按排名展示,若 priceImpact.severity 为 high/critical 则警告并阻止兑换。
兑换前代币授权(ERC-20 源代币必需):
- 检查授权:oneinch_check_allowance(chain="arbitrum", token_address="0x...")
- 授权:oneinch_approve(chain="arbitrum", token_address="0x...")
- 原生 ETH(0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE)无需授权。
执行兑换:
- 市价单(推荐的 < $100 兑换):python3 meta_dex.py execute --chain arbitrum --from ETH --to USDC --amount 0.005 --market-order --wallet 0x... --slippage 2.0,随后通过 oneinch_swap 执行。
- 限价单(含自动验证):--aggregator kyberswap --verify --auto-verify --expected-out。
- 其他聚合器执行:通过 wallet_transfer 映射 tx 对象(to、amount、data、chain_id、gas_limit)。
- CowSwap 订单:基于订单而非交易,使用 EIP-712 签名,返回 orderType: "cowswap_order",包含 eip712Data,通过 wallet_sign_typed_data 签名后提交并轮询。
兑换后验证(强制):
- 记录兑换前后余额,使用 execute --verify 进行验证,返回 PASSED/FAILED 与 deviationPct。
- 未检查兑换后余额不得报告成功;偏差 >2% 需向用户标记。
- CowSwap 订单由 solver 异步成交(最长约 2 分钟)。
跨链兑换:
- 使用 xquote 比较跨链路线:python3 skills/meta-dex-aggregator/scripts/meta_dex.py xquote --src-chain arbitrum --dst-chain polygon --from ETH --to USDC --amount 0.5 --wallet $WALLET --slippage 3
- 来源:LI.FI(聚合 20+ 桥)与 1inch Fusion+(基于 intent 的原子交换)。
- 跨链默认滑点 3%,需展示预计到账时间与费用明细,并在执行后跟踪至目标链到账。
历史记录与分析:
- 每次报价自动记录到 skills/meta-dex-aggregator/logs/{chain}{FROM}{TO}.jsonl,追加写入。
- stats(胜出统计)、trend(价格趋势)、slippage(滑点分析)、export(CSV 导出)、monitor(报价监控)。
代币解析:
- resolve_token 返回置信度:trusted、exact、single、high 可自动使用;ambiguous 必须与用户确认,并提供候选列表。
链支持:ethereum、bsc、polygon、optimism、arbitrum、avalanche、gnosis、fantom、zksync、base、linea、scroll、sonic、unichain。
【限制】
- CowSwap 公共 API 有速率限制(429 时优雅跳过)。
- 1inch 需要 API 密钥,因此通过平台代理的 oneinch_quote 工具调用。
- Matcha/0x 需要在 .env 中配置 OX_API_KEY。
- 跨链为非原子操作,需跟踪状态并在目标链确认到账。
- 关于收费、价格等未在资料中说明的信息暂未提供。