本頁內容
  1. 先分清楚:用量上限、實際用量與單價
  2. Max Fee 是上限,不一定是成交單價
  3. 同一筆假設交易,算出兩個不同金額
  4. 交易失敗,為什麼還可能付 gas 費?
  5. 看交易收據,別把估算當成實際費用
  6. 常見問題
  7. 資料來源與適用範圍
  8. 繼續了解相關概念

Gas Limit 是一筆交易最多能用多少 gas;Gas Price 則是每單位 gas 的價格。要知道最後付了多少執行費,不能只看其中一個數字,而要用「實際計費的 gas 用量 × 實際單價」計算。[1][4]

本文只說明以太坊主網(Ethereum Mainnet)的執行費,包含 EIP-1559 的費用上限。這不是即時 gas 報價或錢包設定建議,也不能直接當成其他網路的總費用公式。

先分清楚:用量上限、實際用量與單價

欄位代表什麼單位
Gas Limit(gas 用量上限)這筆交易最多可使用的 gas 數量gas
Gas Used(實際用量)這筆交易實際計費的 gas 數量gas
Effective Gas Price(實際單價)每單位 gas 實際支付的價格通常顯示為 gwei/gas
Max Fee Per Gas(每單位費用上限)EIP-1559 交易允許的最高單價gwei/gas
執行費實際用量 × 實際單價換算後以 ETH 表示

Gas 是衡量運算工作量的單位,不是另一種代幣。Gwei 才是 ETH 的計價單位:1 gwei = 0.000000001 ETH,也就是十億分之一 ETH。本文的 Gas Limit 指單筆交易的用量上限,別和限制整個區塊用量的「區塊 gas 上限」混在一起。[1]

Max Fee 是上限,不一定是成交單價

EIP-1559 交易的實際單價,取決於所在區塊的基礎費用(base fee)、交易的優先費上限(max priority fee),以及每單位費用上限(max fee)。在交易符合納入區塊的有效性條件時,計算方式如下:[2]

實際單價 = 基礎費用 + min(優先費上限,每單位費用上限 − 基礎費用)

Min 的意思是取兩者較小的值。每單位費用上限至少要涵蓋基礎費用,但滿足這項條件,不代表交易一定會被納入區塊,也不保證執行成功。上限與實際收費之間未用到的差額,不會變成另一筆手續費。傳統交易使用 gas price 欄位,而不是這一組 EIP-1559 費用上限。[2]

同一筆假設交易,算出兩個不同金額

假設一筆一般 EIP-1559 交易使用下列數值。所有數字都是教學例子,不是可直接照抄的設定,也不是對網路費用的預測。

項目假設數值
交易 gas 用量上限60,000 gas
實際計費用量40,000 gas
基礎費用12 gwei/gas
優先費上限2 gwei/gas
每單位費用上限20 gwei/gas

先算實際單價:12 + min(2,20 − 12)= 14 gwei/gas。

實際執行費

0.00056 ETH

40,000 gas × 14 gwei/gas

實際用量 × 實際單價

Gas 費用上限

0.0012 ETH

60,000 gas × 20 gwei/gas

用量上限 × 單價上限

同一組假設數值,上限不等於實際扣款。右側只計算 gas 費用,不包含交易另外轉出的 ETH。
  • 執行費:40,000 × 14 = 560,000 gwei = 0.00056 ETH。
  • 由兩項上限算出的 gas 費用上限:60,000 × 20 = 1,200,000 gwei = 0.0012 ETH。

第二個金額不是交易收據上的實際費用,也不包含交易本身轉出的 ETH(transaction value)。EIP-1559 的餘額檢查要求帳戶足以支付「轉出的 ETH + Gas Limit × Max Fee Per Gas」,不能只看 gas 費用上限。[2]

交易失敗,為什麼還可能付 gas 費?

狀態變更被撤銷,不代表已經做過的運算也沒發生。合約可以透過 REVERT 中止執行並撤銷變更,而不耗盡所有剩餘 gas。這和 out-of-gas(gas 不足)例外不同:後者會耗盡分配給該次失敗執行的 gas。因此,失敗交易的用量不一定剛好等於整筆交易的 Gas Limit。[3]

還要分清楚「已執行但失敗」與「尚未納入區塊就被拒絕」。無效交易若在執行前被拒絕,不會只因為錢包顯示錯誤,就產生鏈上 gas 費。[1]

這些區別用來解讀費用,不能單憑它們診斷某筆交易失敗的原因,也不是重新送出交易的建議。

看交易收據,別把估算當成實際費用

以太坊交易收據會分開列出 gasUsed、effectiveGasPrice 和 status。gasUsed 只屬於這一筆交易;cumulativeGasUsed 則是同一區塊從第一筆交易累計到這一筆的用量。若拿累計值來算單筆費用,可能把前面交易的用量也算進去。尚待處理的交易,還沒有執行收據。[4]

閱讀時,依序確認四件事:

  1. 看到的是執行後的收據,還是執行前的費用估算?
  2. status 顯示成功還是失敗?
  3. 計算時用的是「這一筆」的 gasUsed,乘上 effectiveGasPrice 嗎?
  4. 單價的單位是 wei 還是 gwei?最後顯示的是 ETH,還是另外換算的法幣金額?

算出 gas 費,也還沒算完整筆交易的所有成本。平台費用與其他入出金成本,需要另外比較,詳見預測市場費用指南。費用數字也不能告訴你一項請求授予了哪些權限;相關概念可參考代幣授權與可動用額度指南。

常見問題

把 Gas Limit 調低,就能少付手續費嗎?

不能這樣理解。Gas Limit 限制的是可用數量,不是每單位價格;實際執行費仍要看 gasUsed × effectiveGasPrice。可用 gas 不足時,交易可能無法通過驗證,或在執行過程中失敗。兩種情況是否產生鏈上費用不同。[1][4]

Max Fee Per Gas 會全額收取嗎?

不一定。它是單價上限,不是實際單價。本例的上限是 20 gwei/gas,實際單價則是 14 gwei/gas;再乘上實際計費用量,才得到執行費。[2]

只要交易失敗,就一定扣完 Gas Limit 嗎?

不是。REVERT 與 gas 不足例外的處理不同,執行前遭拒也不等於已消耗鏈上 gas。要先辨認失敗發生在哪個階段,再看收據中的實際用量。[1][3]

0.0012 ETH 的費用上限包含轉帳金額嗎?

不包含。它只是本例的 Gas Limit × Max Fee Per Gas;交易另外轉出的 ETH 要分開計算。餘額必須足以支付這兩部分。[2]

可以用 cumulativeGasUsed 計算這筆手續費嗎?

不應把它當成單筆用量。它包含同一區塊截至這筆交易的累計 gas,可能也包含前面交易的用量。單筆執行費應使用該筆收據的 gasUsed 與 effectiveGasPrice。[4]

資料來源與適用範圍

資料查核日期:2026 年 10 月 23 日。這是查核日期,不是下列文件的發布日期。本文沒有連接錢包或送出交易。

  1. Ethereum:燃料與費用,用於 gas、單位與執行前拒絕的說明。
  2. EIP-1559:交易費用機制(英文),用於有效性、費用上限與餘額計算。
  3. EIP-140:REVERT 指令(英文)。
  4. Ethereum JSON-RPC:eth_getTransactionReceipt(英文)。

繼續了解相關概念

想查其他費用或交易名詞,可以瀏覽文章列表,或搜尋你正在遇到的問題。