費用與安全
滑點與買賣價差是什麼?換幣時滑點容忍度該怎麼設
換幣時實際到手比報價少,或交易直接失敗,多半和滑點有關。這篇分清楚買賣價差、價格衝擊與滑點,用同一時間的鏈上資金池與交易所盤口數據比較多付的比例,並說明滑點容忍度的保護作用與設定順序。
換幣時,畫面上寫著「預計收到 0.3679 ETH」,實際到手卻少了一點;或是交易直接失敗,只留下一筆被扣掉的網路手續費。這兩種狀況都和滑點有關。這篇說明滑點和買賣價差各是什麼、兩者和「價格衝擊」差在哪,以及在錢包或去中心化交易所換幣時,滑點容忍度該怎麼設才不會多付、也不會一直失敗。
三個容易混在一起的名詞
- 買賣價差:同一時刻,最低賣價和最高買價之間的距離。它在你下單前就存在,是「立刻買進又立刻賣出」一定會損失的部分。
- 價格衝擊:你的單子本身把價格推動了多少。在交易所盤口,是市價單逐檔往上吃;在資金池,是你放進去的幣改變了池內兩種幣的比例。單子越大、流動性越薄,衝擊越大。
- 滑點:從你看到報價、按下確認,到交易真正執行之間,價格又變了多少。區塊鏈上的交易要排隊等打包,這段時間其他人的交易會先改變價格。
Uniswap 官方文件對這兩件事的區分很清楚:價格衝擊是自動做市機制本身必然產生的,滑點則是「交易送出後、還在等待執行時可能發生的價格變化」。
在交易所盤口下市價單的價差與逐檔成交,已經在市價單與限價單的差別與真實成本用實際盤口算過;這篇把重點放在鏈上換幣,因為滑點容忍度這個設定只在這裡會碰到。
同一時間、同一筆金額:資金池和盤口差多少
我在 2026-09-29 09:44(UTC)讀取以太坊上 Uniswap v2 USDC/WETH 資金池的即時儲備(合約 0xB4e16d0168e52d35CaCD2c6185b44281Ec28C9Dc,當時約 1,053 萬 USDC 與 3,885 WETH),用它的恆定乘積公式算出不同金額換 ETH 的實際均價;同一時間也拉下 Kraken ETH/USD 的前 500 檔賣單,模擬市價買單逐檔成交。

幾點讀法:
- 資金池那一欄的 0.302% 大部分是固定的 0.3% 兌換費,小額時真正的價格衝擊幾乎是零;到 10 萬美元,衝擊本身已接近 0.95%,50 萬美元則超過 4.7%。
- 盤口那一欄沒有含交易手續費,只是成交均價比最佳賣價多出的比例。同一時間 ETH/USD 的最佳買賣價是 2,716.24/2,716.63 美元,價差約 0.014%。
- 這個資金池只是鏈上眾多 ETH 流動性來源之一,實際的換幣介面常會把單子拆到多個池子,所以不能據此說「鏈上一定比較貴」。它說明的是:同一顆幣,在不同地方、不同金額下,多付的比例可以差上百倍,下單前看一眼報價細節是值得的。
滑點容忍度到底在保護什麼
換幣介面上的「滑點容忍度」(Slippage tolerance)不是手續費,也不是你一定會多付的錢,而是一條底線:成交結果比報價差超過這個比例,整筆交易就自動取消。
Uniswap 開發者文件列出換幣時的三個保護參數:

- 最少收到數量:你付出固定數量,換回的幣少於這個數字,交易就失敗。介面上常顯示為「最少收到」(Minimum received)。
- 最多支付數量:你要換到固定數量,需要付出的幣多於這個數字,交易就失敗。
- 截止時間:交易拖太久才被打包,超過期限就不執行,避免用早已過時的價格成交。
滑點容忍度就是用來算第 1、2 項的。用上面同一個資金池舉例,拿 1,000 USDC 換 ETH,報價約 0.367893 ETH:
| 滑點容忍度 | 最少收到 | 和報價相比,最多可能少拿 |
|---|---|---|
| 0.5% | 0.366053 ETH | 約 0.0018 ETH(約 5 美元) |
| 3% | 0.356856 ETH | 約 0.0110 ETH(約 30 美元) |
設得越寬,交易越容易成功,但你同意承受的最壞結果也越差。
為什麼不要隨手把容忍度調到很高
Uniswap v2 的官方說明直接點出風險:交易在確認前是公開可見的,有人可以搶先送出一筆交易把價格推高,讓你的交易以較差的價格成交,再反向交易把價格拉回來獲利(常被稱為「三明治攻擊」)。文件也提到官方介面的滑點容忍度預設是 0.5%。
容忍度就是這類操作能從你身上拿走的上限。設成 10%,等於告訴對方「我可以接受少拿一成」。
換幣前的設定順序
- 先看「價格衝擊」而不是只看容忍度。介面若顯示價格衝擊超過 1%,代表這筆金額相對流動性太大,應該拆小筆、換路由,或改到流動性更好的地方換。
- 主流幣、穩定幣從預設值開始。多數介面預設 0.5% 或自動模式,先不要動。
- 交易失敗再小幅調整。一次調 0.5 個百分點,而不是直接拉到 5% 以上;也可以先等網路不擁擠時再試。
- 確認「最少收到」的數字你能接受。這個數字才是你真正的底線,比百分比直觀。
- 注意失敗也要付網路手續費。交易被取消時,換幣沒有發生,但已消耗的 Gas 不會退還;Gas 怎麼估算可以看Gas 費與網路手續費的計算方式。
- 大額交易考慮改用盤口限價單。在交易所掛限價單,價格由你決定,不需要猜容忍度;掛單和吃單的費率差異整理在Maker 與 Taker 如何影響手續費。
在交易所「快速兌換」時要看什麼
交易所的一鍵兌換功能通常不會顯示滑點容忍度,而是直接給一個鎖定幾秒的報價。這時要比的是報價和當下盤口中間價的差距:用報價除以同一交易對的中間價,超出的部分就是你為了方便多付的成本,其中已經包含價差。金額小時差距通常不大;金額大或幣種冷門時,改用盤口限價單往往比較划算。
常見問題
滑點一定是讓我多付錢嗎? 不一定。等待期間價格也可能往對你有利的方向走,這時成交結果會比報價好。容忍度只限制「變差」的幅度。
交易顯示失敗,錢會不會不見? 換幣失敗時,原本要換出的幣會留在錢包裡,只有已用掉的網路手續費不會退。到區塊瀏覽器用交易雜湊值查看狀態,會顯示為失敗或回滾。
穩定幣互換也需要設滑點嗎? 需要,但通常可以設很小。穩定幣之間的價格本來就很接近,若介面顯示明顯的價格衝擊,要先確認是不是選到流動性很小的池子或假冒的代幣合約。
買賣價差可以避免嗎? 不能完全避免,只能選價差小的市場,或用限價單掛在自己這一側等對手方成交。
本文數據為單次快照:資金池儲備讀自以太坊主網合約 getReserves,盤口來自 Kraken 公開 Depth 介面,擷取時間 2026-09-29 09:44–09:48(UTC),實際數字請以你交易當下為準。保護參數與預設容忍度的說明引用自 Uniswap「Understanding Swaps」與 Uniswap v2 Pricing。本文僅說明交易機制,不構成投資建議。