首页 / swap 教程 / 第一次链上 swap 教程

链上 Swap 操作:额度、报价、滑点与回执

钱包里有 USDC,却在兑换时又弹出一份授权,这是第一次 swap 最容易犹豫的地方。先弄清它允许谁动哪一种代币,再看交易会换回什么。两次请求都要读,没有哪一步可以闭眼确认。

发布:2026-05-06更新:2026-09-12
授权兑换谁可以动哪种代币?付出什么,收到什么?两份请求都要核对
权限与交易结果分别检查。实际流程也可能使用 Permit、批量请求或已有额度。
approve 与 swap 没有普遍的风险排名。前者可能留下可继续使用的支出权限,后者可能直接执行错误交易。判断要看真实合约、额度、接收资产与调用内容,不能只看按钮名字。

链上交易可能造成全部相关资产损失。以下为操作原理说明,不是投资建议或安全保证。见免责声明。

兑换时发生什么?

DEX 兑换把输入资产交给合约执行,再按路线取得输出资产。它可能经过流动性池、聚合路由或其他执行方式。界面给出的预计到账是报价,不是承诺已经成交。

先核对网络与两种代币的合约地址。同名代币可能不是同一资产,同一品牌的代币也可能分布在不同网络。只看符号或图标,无法证明买到的是预期资产。

我会把“最终至少收到多少”放在确认前看,而不是只盯着大号报价。还要看接收账户、价格影响和费用:即使交易链上成功,也可能成功地执行了一笔你不想要的交易。

滑点、Gas 与 deadline 分别管什么?

滑点限制

滑点容忍度限定你愿意接受的价格变化。例如纯算术示意:报价为 100 个输出单位,允许减少 1%,相应下限就是 99 个单位。具体协议如何显示最低到账,应看当前请求。这里的数字不是建议参数。

没有适用于“所有稳定币”或“所有新币”的固定滑点档位。流动性差、价格跳动大时,提高容忍度可能让成交更糟。看不懂大幅价格影响就先不交易,别为了消除报错一路放宽。

Gas

手续费与网络和执行工作有关。钱包提交前显示估计值或上限,最终扣费看回执;不能把费用上限当作已经支付的金额。某些 L2 还包含数据发布等费用,不要只拿一个 gas price 乘法去解释所有网络。

Arbitrum 的常规交易用 ETH 支付 Gas,不是用 ARB,也不能仅靠 USDC 余额完成所有操作。若采用代付或用代币支付费用的功能,须核对该功能当前是否支持本次请求和实际收取什么。

Deadline

某些兑换合约用 deadline 拒绝太晚执行的请求。它不同于链上交易自动过期:交易仍可能被打包后因超期失败并产生 Gas。不要把 pending 当作“等几小时就一定作废”。

授权要看代币、spender 与额度

ERC-20 approve设置某个 spender 的额度,授权本身不转移代币。后续调用可以在允许范围内使用它。标准额度没有通用的自动到期时间,但会被使用、改写或撤销,实际行为也需看代币实现。

第一次操作不一定刚好有“approve + swap”两笔交易。已有额度、原生资产输入、Permit、Permit2 或批量流程都会改变请求数量。按实际弹窗逐项解释,不要把教程里的按钮数量当作安全标准。

核对完整 spender 地址与官方部署信息,不能用缩略地址的前几位确认。默认优先只给本次需要的额度,但精确授权不是零风险:这笔额度仍然能被恶意对象使用,错误兑换本身也会损失资产。知名协议同样需要核对,不自动获得无限授权例外。

Permit2 官方说明区分一次性签名转账与限时额度。若出现无需 Gas 的签名,要继续读权限、nonce 和期限,不能当成普通确认。

Synapse 未连接钱包的兑换界面,显示网络与输入输出资产
2026 年 9 月公开界面截图,金额未输入,没有实成交价;只是字段位置示意。 官方来源。

第一次操作的核对顺序

以 EVM 网络上的代币兑换为例

以下是检查顺序,不是一笔已经执行的交易。实际输出、手续费、按钮和确认时间由当前钱包与路线决定;不提供虚构成交价、钱包版本或交易哈希。

  1. 选择已支持的网络。从钱包和网络官方资料核对,不要根据哪个网络便宜就直接发币过去。
  2. 检查输入资产与 Gas。确认目标链上的代币余额、合约、最低操作额和费用资产。测试金额应足够完成流程,但损失后能承受。
  3. 从核实的入口打开兑换。例如手动核对 Uniswap 应用。不要把搜索广告或社群转发当作域名证据。
  4. 填入自己决定的小额。核对输出代币、接收账户、预计到账、最低到账、价格影响及全部费用。
  5. 逐份检查授权或签名。看清 token、spender、额度和期限。不理解请求时取消,不要猜测。
  6. 确认授权状态后再兑换。若授权需要上链,查看回执是否成功。前一步失败时不要重复提交一串请求。
  7. 再次核对兑换内容。报价可能已经变化;当前弹窗与前面预览不一致时重新评估。
  8. 确认真实到账。用钱包提供的区块浏览器链接核交易状态和资产流向,而不只看“成功”提示。方法见区块浏览器字段说明。
  9. 检查是否仍有不需要的额度。如需撤销,预留费用并等撤销交易确认。

剩余授权不会因为关网页而消失

断开网站连接只停止该网站的会话访问,不等于撤销链上 allowance。使用 Revoke.cash 等已核实工具时,先看它支持的网络和权限类型,再逐链查看。工具不是全链、全权限扫描保证。

不再需要的授权可以撤销。看到 Unknown 标签,表示工具没有识别信息,不能直接断言“这就是钓鱼”;但在查明前不应继续使用。也别因标签是熟悉项目就长期不检查。

撤销通常需要该链的 Gas。把多个撤销安排在同一天不会自动降低每笔费用,是否存在批量功能要看工具和账户支持。若怀疑恶意授权,应立即处理,不用等例行日期。未使用的 Permit 等签名还可能有独立处置要求,见授权与撤销说明。

五种容易走偏的做法

只为省 Gas 就换链

先确认交易所、钱包、资产和应用都支持同一条链。低费用网络也可能有最低额、桥接成本和执行风险,没有“总成本必低于某个金额”的保证。

把 unlimited 当成省事默认项

省下一次未来授权,换来的是更大的长期额度。先想清楚本次需要多少,而不是先问能不能少点一下。

相信一个熟悉的名称

网址、代币符号与合约标签都可能被仿冒。核对真实域名和完整地址,不要背一个缩略地址当白名单。

觉得钱包内置兑换就一定安全

路由可能涉及第三方池子和合约。内置入口不免除你核对输出资产、最小到账和权限的责任。

失败后直接提高所有参数

先找回执中的失败原因。扩大滑点或 Gas Limit 不一定解决问题,还可能扩大损失或重复失败。pending、reverted 和未广播是不同状态。

常见问题

滑点设多少合适?

没有通用比例。检查当前流动性、价格影响和最低到账,只接受自己能承受的变化。不能为了让交易成功而盲目放宽。

approve 是什么意思,为什么 swap 之前还要单独一笔?

它给特定 spender 一种 ERC-20 代币的额度。是否需要单独交易取决于已有额度、输入资产和所用协议,并非每次 swap 都固定有两笔。

Gas 费太高时能取消交易吗?

未广播的请求可以拒绝。已广播但尚未确认的 EVM 交易可尝试钱包提供的同 nonce 替换功能,不保证抢先成功;已确认的交易不能取消。pending 不会按固定时间自动失效。

什么是「三明治攻击」,如何防?

攻击者围绕你的兑换安排交易,利用价格变化获利。关注价格影响与可接受的最低到账;受保护的交易通道要先核对网络支持和限制,也不保证消除全部 MEV 风险。

swap 失败但 Gas 被扣了,钱去哪了?

EVM 交易若回滚,该笔执行中的状态变更通常撤回,但已经消耗的 Gas 仍计费;此前独立成功的授权仍可能保留。先看失败回执再决定怎样处理。

待处理交易的替换条件可对照 MetaMask 官方说明。按钮与可用方式随账户和版本变化。