費用與轉帳檢查

代幣授權(Token Approval)是什麼?如何檢查並撤銷錢包的舊授權

在 swap 網站點過一次「Approve USDT」,那筆授權不會自己到期。本文說明代幣授權與一般轉帳的差別、unlimited 授權的風險,以及用 Revoke.cash 或區塊瀏覽器查出自己地址上還有哪些授權、怎麼撤銷、撤銷要付多少 gas。

代幣授權(Token Approval)是什麼?如何檢查並撤銷錢包的舊授權

一旦在某個 swap 網站或 DeFi 應用上點過「Approve」,那筆授權就會一直留在鏈上,不會因為你關掉網頁、換了裝置或幾個月沒用而自動失效。很多人以為自己早就「退出」了那個網站,其實合約仍然保有從你地址轉走代幣的權限。

授權和一般轉帳不是同一回事

如果你只是把 USDT 從交易所提到自己的錢包、或從錢包轉給朋友,過程中不會產生任何授權。ERC-20 代幣的普通轉帳是你自己呼叫 transfer,錢直接從你的地址出去,沒有第三方參與。

授權(approve)只在你要讓別的合約代你動用代幣時才會出現:在去中心化交易所換幣、在借貸協議存入資產、在跨鏈橋把 USDC 送到另一條鏈上,都需要你先簽一筆 approve 交易,告訴代幣合約「允許某個地址最多從我這裡轉走 N 枚」。之後那個合約就能在額度內隨時取用,不必再問你一次。

這個設計本身是必要的,問題出在額度和時間:多數介面預設申請的是 **unlimited(無上限)**額度,而且授權沒有到期日。

Revoke.cash 首頁,說明該工具用於檢視與撤銷代幣授權,右側示意圖顯示 Approvals 清單與 Revoke 按鈕

unlimited 授權的實際風險

授權本身不會立刻讓你損失任何東西——沒有人因為「存在一筆授權」就被扣款。風險是後置的:只要那個被授權的合約日後出現漏洞、被攻擊者接管,或它本來就是惡意合約,持有授權的一方就能在你完全不操作的情況下,把額度內的代幣轉走。

所以判斷標準很單純:

  • 額度:unlimited 代表「錢包裡現在有多少、以後再轉進來多少,都可能被動用」,有限額度則最多只能動到那個數字。
  • 用途:還在固定使用的協議,保留授權是合理的;一年前只用過一次的網站,沒有理由繼續保留。
  • 對象:授權給的是一個合約地址。若你根本不記得簽過、或那個合約已被標記為有問題,應優先處理。

另外要提醒一點:有些釣魚手法不走 approve,而是請你簽一段看起來無害的訊息(例如 Permit 類型的離線簽名),效果同樣是給出轉移權限。簽任何東西之前先看清楚錢包彈窗上的內容,這和核對收款地址、防範剪貼簿替換是同一類基本功。

怎麼查自己地址上有哪些授權

查詢是純讀取操作,不需要連接錢包,也不需要輸入助記詞,只要把自己的公開地址貼進去就能看。

常用的兩個入口:

  1. Revoke.cash(revoke.cash):支援多條鏈,把地址或 ENS 名稱貼進搜尋框即可。
  2. 區塊瀏覽器內建的授權檢查:以太坊用 Etherscan 的 Token Approvals 頁面,BNB Chain 用 BscScan,TRON 用 Tronscan 帳戶頁的 Approvals 分頁。

下圖是把一個公開地址貼進 Revoke.cash 後看到的授權清單:

Revoke.cash 的授權清單頁面,表格欄位依序為資產、類型、已授權額度、風險金額、被授權合約、最後更新時間與 Revoke 按鈕,其中兩筆 WETH 授權額度顯示為 Unlimited

要看的欄位有幾個:

  • Approved Amount(已授權額度):顯示 Unlimited 的就是無上限授權。
  • Value at Risk(風險金額):以目前餘額換算,這筆授權實際能被動用的價值。餘額是 0 時這裡也會是 0,但授權仍然存在——日後再轉錢進來,風險就回來了。
  • Approved Spender(被授權方):合約地址或協議名稱。認不出名字的,拿地址到區塊瀏覽器上查,方法和核對 USDT、USDC 官方合約地址一樣:看它在官方文件或瀏覽器上是否有可信的標記。
  • Last Updated(最後更新):時間很久遠又沒在用的,優先清掉。

多鏈錢包要逐條鏈切換檢查。同一個 0x 開頭的地址在以太坊、BNB Chain、Polygon 上都存在,授權卻是各鏈獨立的——這點和同一個 0x 地址在多條 EVM 網路上通用的原理一致。

撤銷授權要付手續費

撤銷不是在網站上按個鍵就算數,它本身就是一筆鏈上交易:把額度改成 0,要你用錢包簽名並支付該鏈的手續費。

  • 以太坊主網上撤銷要付 ETH gas,網路壅塞時單筆可能不便宜;
  • BNB Chain、Polygon、Arbitrum 等鏈上成本通常低很多;
  • TRON 上則消耗能量(Energy),能量不足時會燒掉 TRX。

實務上的做法是:先把風險金額高、或對象可疑的授權撤掉;額度很小、對象明確的可以等到 gas 便宜時再一併處理。要怎麼判斷現在值不值得送交易,可以參考以太坊 gas 偏高時該等待還是換鏈裡讀 gas 的方法。

還有一個以太坊上 USDT 特有的狀況:它的合約不允許把授權額度從一個非零值直接改成另一個非零值,必須先改成 0 再重新設定。所以你可能會看到「要簽兩筆交易」的提示,這是合約設計如此,不是工具出錯。

避免在撤銷這一步被騙

搜尋「撤銷授權」時很容易點到仿冒站。幾個固定習慣可以擋掉大部分問題:

  • 網址手動輸入或存成書籤,不要從搜尋廣告或聊天群的連結進去;
  • 任何工具都不會需要你的助記詞或私鑰,被問到就是詐騙;
  • 正常的撤銷只會跳出一筆 approve(額度 0)的交易,如果錢包彈窗要你簽的是轉帳或看不懂的訊息,直接取消;
  • 對來路不明的「安全檢測」「資產救援」客服一律不理,這類話術和錢包紀錄裡出現頭尾相同的陌生地址屬於同一套騙局邏輯。

可以固定做的檢查

把這件事變成習慣比一次大掃除有用:

  1. 每隔一段時間(例如三個月),把自己常用的幾個地址分別貼到授權檢查工具上看一遍;
  2. 用完一次性的網站後,當場就把剛簽的授權撤掉;
  3. 金額較大的資產放在一個不連接任何網站的地址,只用另一個小額地址去互動;
  4. 看到授權介面預設 unlimited 時,若工具允許自訂額度,就改成這次實際需要的數量。

純粹收發穩定幣的人其實很少會產生授權;真正要留意的是曾經在 swap、跨鏈橋或空投網站上點過 Approve 的地址。若你對整個轉帳流程還不熟悉,可以先看USDT、USDC 跨鏈轉帳完全指南,把網路、費用和地址核對的基本步驟整理清楚,再回頭處理授權。

本文僅供教育用途,不構成投資或法律建議。