跳到内容

如何使用 MetaMask Agent Wallet 兑换和跨链转移代币:9 个关键技巧

您的智能体可通过一句话完成代币兑换或跨链桥接。了解它如何根据报价、滑点、路由等信息进行填充。

12 分钟
如何使用 MetaMask Agent Wallet 兑换和跨链转移代币:9 个关键技巧

MetaMask Agent Wallet 通过 mm swap 命令集在同一链上兑换代币,并跨链桥接代币。交易者用自然语言告诉 Agent 进行交易或转移代币,Agent 将请求路由到相应命令,完成获取报价、比较路由和执行操作。与 Agent Wallet 上的永续合约交易不同——后者只有抵押品存入是 MetaMask 检查的 EVM 交易——兑换或桥接本身就是交易,这改变了交易者需要提前指定的内容,以及 MetaMask 钱包级别控制实际检查的内容。

这种交接方式,正是 Agent 驱动的交易与点击界面操作的区别所在。一句话可能隐含了大量关于滑点容忍度、路由和目标链的未明确假设。本文将详细介绍值得明确说明的细节。

本文是一份交易机制指南,而非兑换入门教程。关于滑点的原理及如何设置容忍度,请参阅什么是滑点。关于市价单与限价单的比较,包括滑点容忍度如何成为最接近 AMM 限价单的等价物,请参阅加密货币订单类型。关于 DEX、聚合器和钱包原生兑换的区别,请参阅2026 年最佳加密货币兑换平台。关于钱包类别本身,请参阅什么是 Agentic 钱包和Agentic 钱包的工作原理。关于如何调整抵押品存入规模,以及了解 MetaMask 在不同资产类别中实际检查交易的哪个步骤,请参阅如何使用 MetaMask Agent Wallet 交易永续合约。

兑换功能全解析

以下是兑换或桥接工作流所依赖的命令。了解这些功能,有助于更准确地表达请求,确保结果符合预期。

你向 Agent 发出的请求

执行的命令

功能说明

"将 0.1 ETH 兑换为 USDC"

mm swap quote

对同链兑换进行报价,不提交交易

"将 10 USDC 从 Base 桥接到 Arbitrum"

mm swap quote --to-chain-id

对跨链路由进行报价,不提交交易

"显示所有路由,按费用排序"

mm swap quote --all-quotes

返回所有已排序的候选路由

"按照该报价执行"

mm swap execute --quote-id

提交之前报价的交易

"兑换,无需确认"

mm swap quote --yes

报价后立即执行,跳过确认步骤

"查看该兑换的进度"

mm swap status --quote-id

检查执行状态

来源:MetaMask Agent Wallet 命令参考

基于以上基本了解,以下是使用 MetaMask Agent Wallet 兑换和桥接代币(包括代币化股票和其他资产,通常称为现实世界资产或 RWA)的 9 条实用建议。

1. 先获取报价,将"不可用"视为正常结果

mm swap quote 对交易进行报价,不提交交易。mm swap execute 也可以直接接受相同的兑换参数,在一次调用中完成报价和执行,但单独先运行报价是更安全的默认做法:这是在签署任何内容之前查看价格、路由和费用的唯一方式。当底层桥接或 DEX 聚合器找不到路由时,CLI 不会抛出硬错误——它会返回一个软性的 kind: "unavailable" 结果,附带 reason(例如 AMOUNT_TOO_LOW、SLIPPAGE_TOO_HIGH 或 NO_QUOTES)、message 和 hint。

这一区别对于根据提示行动的 Agent 至关重要。不可用的报价是一个可以处理的结果——Agent 可以放宽滑点、调整金额或尝试不同的代币——而不是需要原样反馈的失败。唯一的例外是瞬态 QUOTE_RETRY 信号,这是一个真正的硬错误,值得按原样重试。无论如何,Agent 绝不应在报价返回不可用或已过期后伪造或重用 quoteId 来调用 execute;执行步骤会干净地失败,但不会基于猜测提交任何交易。

2. 设置滑点容忍度,而非依赖默认值

mm swap quote 接受 --slippage 参数,范围为 0 到 100 的百分比,省略时默认为 0.5%。该默认值是一个合理的折中方案,但它仍然是一个适用于所有交易的默认值,不考虑代币的流动性。

正如什么是滑点所述,严格的容忍度可以防止不利成交,但在波动条件下会导致更多报价直接失败;而宽松的容忍度成交更可靠,但价格更差。对于 ETH 兑 USDC 等深度流动性交易对,使用 0.5% 的默认值是合理的;而对于流动性较差的代币,最好明确指定容忍度(无论方向如何),而不是沿用一个从未针对该代币设计的数值。

3. 跨链桥接需要指定目标链,且 refuel 有特定的失败场景

添加 --to-chain-id 是将同链兑换转变为跨链桥接的关键;省略时,目标链默认为源链。--to-address 允许输出发送到签名者自己钱包以外的地址,但仅适用于跨链路由——当源链和目标链相同时,该参数无效。

--refuel 将少量目标链原生 Gas 打包到跨链报价中,适用于交易者在目标链上尚无 Gas 代币的情况。该参数为可选项,仅适用于跨链场景,且有一种特定的失败方式:当目标代币本身就是目标链的原生 Gas 资产时使用该参数(例如,将 ETH 桥接到 Arbitrum ETH),会返回 NO_QUOTES。类似"将 USDC 从 Base 桥接到 Arbitrum,并确保我在那里有一些 ETH 可用"的请求,正好描述了这个参数的用途;而直接桥接到链的原生代币的请求则不需要该参数,添加后反而会失败。

4. 有目的地比较路由,然后执行特定路由

--all-quotes 返回所有已排序的候选路由,并标记推荐路由,按 --strategy 排序(逗号分隔的 cost、speed、impact、output;默认为 cost,speed)。比较路由后执行特定 --quote-id 是一个两步流程,且是有意为之:--all-quotes 不能与 --yes 组合使用,因此要求查看所有路由同时跳过确认的请求,是在要求 CLI 在同一次调用中无法完成的两件事。

报价记录在 24 小时后会自动清除,因此今天值得比较的路由,下周可能已无法执行。

5. 无 Gas 执行和批量授权自动发生,无需手动请求

当钱包的原生余额不足以支付 Gas 时,mm swap execute 会自动通过使用 EIP-7702 的无 Gas 中继路由符合条件的含 Gas 报价,从兑换的代币本身扣除中继费用。这没有对应的参数;这是 CLI 自动对符合条件的报价应用的回退机制,而非对每笔低 Gas 兑换的保证。

另外,在符合条件的链和账户上,CLI 使用 ERC-7821 批量执行将 ERC-20 授权和交易合并为一次原子调用,响应中会以 route: "erc7821" 标注。当批量处理不可用时,CLI 会回退到顺序提交。这两种行为都无需在请求中指定,但在查看实际执行结果时值得了解——批量无 Gas 兑换和两步付 Gas 兑换都可以满足同一请求,响应字段是区分两者的依据。 注意:无 Gas 执行可能导致更高的费用。

6. Guard Mode 检查的是兑换本身,而非单独的步骤

这与 Agent Wallet 上的永续合约交易模式相反——后者开仓或平仓 Hyperliquid 头寸发生在链下,只有抵押品存入才是 MetaMask 评估的 EVM 交易。兑换或桥接没有这种分离:mm swap execute 直接将交易作为 EVM 交易提交,因此它是 Guard Mode 滚动 24 小时流出限额计量的交易,也是 MetaMask 威胁扫描以及网络、地址和代币白名单直接评估的对象。

一笔 2,000 美元的兑换在确认的那一刻,就会作为 2,000 美元的流出计入滚动限额,无论是同链交易还是跨链桥接。如果超出限额,或威胁扫描标记该交易,任务将暂停在 AWAITING_MFA 状态,等待双因素身份验证批准——QR 码登录时为 MetaMask Mobile 推送通知,浏览器登录时为电子邮件链接——在有人响应之前,Agent 无法继续操作。这适用于服务器钱包模式;交易模式不适用于自带钱包的设置。实际意义在于:兑换请求中的规模控制,与钱包已执行的规则并无二致,不像永续合约存款那样是独立的习惯——兑换金额本身就是 Guard Mode 监控的数字。

7. 超时后不要盲目重新执行

兑换可能在交易哈希生成之前因双因素身份验证而暂停,进入附带轮询 ID 的 AWAITING_MFA 状态。如果 MFA 轮询在无 Gas 中继环节或顺序服务器钱包环节超时,会显示为 RELAY_TIMEOUT 或 JOB_TIMEOUT,两者都附带相同的恢复提示:运行 mm wallet requests watch 获取哈希,在原始任务可能仍在完成时不要再次调用 execute。

在该窗口期内重新运行 execute,有可能导致第二次重复提交,而非解决问题。批准待处理请求并监控任务,才是正确的恢复路径。

8. 兑换没有模拟运行——比较报价是最接近的替代方案

与 mm perps open 不同——后者接受 --dry-run 参数在不签署的情况下验证订单——mm swap execute 没有等效的预览模式。最接近模拟兑换的方式是请求报价,对于非常规操作,可以拉取 --all-quotes 查看完整的候选路由集,然后再决定执行哪一个。两者都不能严格替代模拟运行——报价可能过期,市场条件可能在报价和执行之间发生变化——但这是在签署任何内容之前发现错误请求的可用工具。

9. 报价前检查链和无 Gas 支持情况

mm chains list 返回每条链的 features 字段,其中包括该链是否支持 swap,以及表示无 Gas 中继是否可用的 relaySupported 标志。在报价前检查这些信息可以节省一次往返:针对不支持兑换的链发出报价请求,或假设无 Gas 执行会在不支持中继的链上生效,只会在事后才显示错误,而这本可以提前排除。

这与两个值得了解的兑换专属错误代码相对应:GASLESS_UNSUPPORTED 表示该链上中继不可用,INSUFFICIENT_GAS 表示钱包的原生余额不足以支付 Gas 且无 Gas 回退未生效。两者都可以追溯到 mm chains list 预先回答的同一个链支持问题。

Agent Wallet 在兑换方面的局限性

明确边界比暗示更广泛的功能更有价值。

目前没有内置的定期或定时兑换功能——没有原生的定投(DCA)功能,没有跨投资组合的自动再平衡,也没有中心化交易所可能提供的常设限价订单簿。每次 mm swap 调用都是一个单次报价和执行周期;任何定期操作都是按计划调用该周期的脚本或 Agent 循环,而非钱包功能。希望实现此类常设逻辑的交易者可以将其构建为插件——这是一项测试版功能,允许已安装的 npm 包在经过同意授权的能力范围内向 CLI 添加新命令——但这是一条自行构建的路径,而非内置功能。

除报价步骤所报告的内容外,没有跨 DEX 最优执行保证。--all-quotes 和 --strategy 会呈现排序后的候选路由,但排名反映的是报价时可用的路由,而非保证片刻后不会出现更优价格。

滑点保护是对可接受价格波动的上限约束,而非对底层交易本身是否合理的保护。满足滑点容忍度的兑换,仍可能以交易者事后不会选择的价格成交;容忍度只限制成交价格偏离报价的幅度。

关于使用 MetaMask Agent Wallet 进行兑换和跨链的常见问题

AI 翻译。可能包含错误。请务必核实信息。

评价此翻译

本文作者:

  • MetaMask

    MetaMask(前身为 Consensys Software Inc)是全球最大的自托管金融平台,为用户提供一站式服务,涵盖加密资产与传统资产的持有、消费、储蓄与增值。公司正在打造实现上述功能的消费级平台,将支付、储蓄、投资与数字资产整合于一体,带来无缝一体化的使用体验。MetaMask 脱胎于全球使用最广泛的自托管钱包,让用户直接掌控自己的资金与资产,覆盖约 190 个国家和地区。自 2016 年起,MetaMask 在以太坊的发展历程中扮演了举足轻重的奠基角色。如今,MetaMask 处于区块链经济的核心位置,致力于构建「开放货币」的操作系统,让每个人都能全面掌控自己的财务生活。

    阅读所有文章