aurpal

滑点设置太高是不是亏了?换币成交那一刻多付的差价最多到哪

aurpal 编辑组 · 最近更新 2026 年 10 月
aurpal 指南标题卡:滑点设置太高是不是亏了?换币成交那一刻多付的差价最多到哪

设高了,不等于这笔就亏了。你在换币界面填的滑点容忍度,是一条底线,不是一笔费用:成交时到手的币只要不低于这条线,交易照常完成;低于它,整笔作废。

所以多付的差价有个顶,按你签名那一刻的报价算,最多少拿「报价 × 容忍度」这么多。举个例子,1 BNB 报价能换 600 USDT,容忍度 0.5%,最坏到手 597;拉到 5%,最坏是 570。中间这 27 USDT 不会每一笔都被拿走,可它一直敞着,谁有办法把成交价往下压,谁就吃得到。

真正让人吃亏的,是这段空间被用上的那几种情况:池子太浅,被人夹,或者币本身带税。下面挨个算,最后说怎么定自己的那个数。这里只讲链上换币(Swap)时的滑点设置,外汇、股票券商说的「滑点」是另一回事。以下内容根据官方资料核对,文中算例都标了「举例」。

填的是上限,不是每笔都扣

那它算不算手续费?不算。

PancakeSwap 的自动滑点文档给滑点容忍度下的定义是:交易被取消之前,你愿意接受的最大价格差。滑点本身,是报价和真实成交之间实际差出来的那一截。文档里举的例子是拿 100 CAKE 换 BNB,预期 1 CAKE 换 0.01 BNB,成交时每枚只换到 0.0098 BNB,少掉的这一点就是滑点;同一份文档还说,容忍度设 1% 而价格变动超过 1%,这笔就不会成交。

一个是「实际差了多少」,一个是「最多允许差多少」。填 5%,不代表钱包从你这笔里抽走 5%。实际差多少看成交那一刻,可能远小于你填的数,也可能一路顶到线上。

真正每笔都要付的是 gas,按次算,跟你填多少滑点没关系,后面「设太低也花钱」那一节再说。

这条底线写在哪:合约里的最少到手数

界面上那个百分比,最后会变成交易里的一个具体数字。拿 Uniswap V2 路由合约的公开源码看,换币函数 swapExactTokensForTokens 的参数里有一项叫 amountOutMin,意思是最少要换到多少。函数里有这样一行:

require(amounts[amounts.length - 1] >= amountOutMin, 'UniswapV2Router: INSUFFICIENT_OUTPUT_AMOUNT');

算出来的到手数比 amountOutMin 少,整笔交易回滚,币一枚都不换。PancakeSwap V2 用的是同一套写法,报错名换成了 PancakeRouter: INSUFFICIENT_OUTPUT_AMOUNT,它的排障页把原因写成两种:容忍度太低,或者流动性太低。

反过来读这行代码:合约只认这一条线,线以上的任何价格它都放行,不会替你挑一个更好的。还是 1 BNB 报价 600 USDT 的例子,几档容忍度对应的底线如下。

容忍度最少到手(USDT)比报价最多少拿(USDT)
0.5%5973
1%5946
3%58218
5%57030
12%52872

表是本站按「报价 ×(1 − 容忍度)」举例推算的,600 USDT 是举例价格,不是行情,也没算 gas。12% 那一行看着离谱,可换带税的币时真有人填到这么高,报错对照那篇就举过要设到 12% 以上才买得进的例子。

设高了,那段空间会被谁用掉

报价和成交之间隔着一小段时间。这段时间里,有两种情况会把成交价往你的底线方向推。

池子浅。池里的币少,别人一笔买卖就能把价格推开一截,你这笔换得多,自己也会把价格推开。PancakeSwap 排障页里「Price Impact too High」那条提示,给的原因就是流动性低,办法是一次少换一点,或者把容忍度调高。后一个办法,调高只是让交易能过,成交价并不会因此变好。

被夹。这就是常说的三明治攻击。Trust Wallet 学院那篇讲得很直接:攻击者先抢在你前面买入,把价格抬上去,等你按更差的价格成交后再卖出,赚中间的差。那篇里有一句话我们觉得最该记住,大意是容忍度设得越大,攻击者可能赚到的就越多。

回头对照上面那行合约代码,道理一样:底线以上都算成交,你把底线放到 570,被压到 571 的那一笔在合约眼里完全正常。多付的那部分没有扣款记录,也没人退。

那几个点,可能是代币税

有些币换不出去,把容忍度一路往上拉,拉到五六个点终于成交了。这几个点里,很可能大半不是滑点。

PancakeSwap 的 Swap FAQ 说,BNB Smart Chain 上不少代币的合约自带转账税,收上去用来销毁、进国库之类。税会让实际进出的数和你签名时同意的数对不上,交易就失败。FAQ 的意思是:如果有 5% 的交易税,滑点至少要设到 5%,再加上正常的交易滑点,比如 5.5% 到 6%。

这样算下来,6% 里有 5% 是合约按规则收走的,留给行情波动的只剩一个点左右。区分这两样有个很实际的用处:同一个钱包换下一枚不带税的币时,别还顶着 6% 去换。那等于平白多敞开了五个点,正好落进上一节说的那种情况。

FAQ 也建议换之前先去项目方那里问清楚有没有税。更极端的,合约本身限制卖出,部分骗局币就是这样,容忍度怎么调都换不出去。这类币的样子见 怎么认出假 BNB:BEP-20 骗局那些套路。

设太低也花钱:失败照扣 gas

反过来压得太低,交易容易失败。PancakeSwap 自动滑点文档写得清楚,交易失败也照样消耗 gas。

在 BNB Chain 上这笔钱不大。BscScan Gas Tracker 2026 年 10 月 12 日的快照里,Standard 档 0.05 Gwei,一笔 Swap 约 0.008 美元(快照值,以钱包确认页实时显示为准,查证于 2026 年 10 月);PancakeSwap FAQ 的说法是 BSC 上的 gas 通常在几美分到一美元之间。钱包里得留着原生 BNB 付这笔,留多少可以看gas 费该留多少 BNB那篇,也可以拿 gas 费估算工具 算。

失败之后看到 INSUFFICIENT_OUTPUT_AMOUNT 这类报错、该先改哪一项,交易失败常见报错那篇有对照表,这里不重复。

自动滑点那个数是怎么算出来的

不少人从来没手动改过,用的是自动值。PancakeSwap 文档公开了它的算法:

自动滑点(%)=(gas 成本,美元)÷(换到的币的价值,美元)× 100%

结果限制在 0.5% 到 5.0% 之间(区间和默认值以 PancakeSwap 文档当期为准,查证于 2026 年 10 月)。按它的说明,这个功能已默认打开,只在 BNB Chain、Ethereum 这类 L1 上支持;不支持的网络沿用你上一次的设置,从没设过就是 0.5%。

代进刚才那个 0.008 美元的快照值举例:换出 100 美元的币,算出来 0.008%,落到下限 0.5%;换出 1 美元,是 0.8%;换出 0.2 美元,就到了 4%。金额越小,给的空间越大。

原因还在上一节:失败一次照扣 gas,一笔只值几毛钱的换币,失败一次的 gas 占比就很高,宁可多留点空间让它一次过。反过来,换得越多,同样的百分比对应的绝对金额越大,自动值就压到 0.5%。

这个公式里只有 gas 和金额两个数。币带不带税,它不知道。

从「最少拿到多少」倒推自己的数

本站不给「什么币填几个点」的表。行情、池子深浅、币带不带税,每一笔都不一样,一张表管不过来。我们的看法是先别盯着百分比,先想清楚这一笔最少拿到多少才算没白换。

还用 600 USDT 的报价举例:你觉得少于 591 就不想换了,那容忍度就是(600 − 591)÷ 600 = 1.5%。币带 5% 的税,就在这个基础上把税加进去。百分比看着都小,换成币数才知道疼不疼,3 个 USDT 和 30 个 USDT 是两种心情。

金额大、池子浅的时候,PancakeSwap 给的办法是一次少换一点,而不是一味调高容忍度。

怕被夹,还有一个方向:Trust Wallet 学院提到,有的平台允许把交易私密提交,有的 DEX 在文档里也提供这类通道,标明用来避开抢跑和三明治攻击。这类通道一般要改钱包的 RPC 设置,改 RPC 本身有风险,用不用、用哪家,你自己判断,本站不推荐具体产品。

最后一点:这笔交易一旦上链成交,差价就定下来了,撤不回;没成交的,币还在你钱包里,只是那笔 gas 花掉了。

本文对照的资料(均于 2026 年 10 月 12 日打开核对):PancakeSwap:Auto Slippage(英文)、PancakeSwap:Swap FAQ(英文)、Uniswap V2 路由合约源码;另参考 PancakeSwap 文档排障页、Trust Wallet 学院《What are sandwich attacks in DeFi》(页面标注更新于 2026-07-17)和 BscScan Gas Tracker 当天快照。

本文是一般性科普,不构成投资建议,也不推荐任何 DEX、代币或 RPC 通道。表中价格与结果都是举例推算;你那一笔的实际报价、最少到手数和 gas,以确认交易时钱包与前端页面的显示为准。链上交易一旦发出无法撤回,确认前请核对代币合约地址和数量。


接着看

链上交易失败 out of gas 怎么办?常见报错对照 · 无常损失是什么:BNB 放进池子,撤出来为什么少了 · 钱包里的 WBNB 是什么 · gas 费估算(工具)

文中数字只取当天的官方页面并写明日期,拿不准的直说以官方为准。全站唯一一条币安邀请链接在注册教程里。署名:aurpal 编辑组