代幣授權是什麼?Approve、Allowance 與撤銷授權教學

2026/10/28 14:45
代幣授權是什麼?Approve、Allowance 與撤銷授權教學
未命名設計 (3)

作者|桑幣區識編輯團隊
發布|2026/10/28
更新|2026/10/28

第一次在去中心化交易所交換代幣,錢包可能先跳出「Approve」,之後才讓你確認交換。這兩個步驟分別做了什麼?為什麼離開網站,權限還可能繼續存在?

代幣授權是讓指定地址或合約,依代幣規則動用你部分資產的機制。它可以讓交易、借貸等應用運作,但授權的對象、額度與有效條件,都需要看清楚。

本文以 Ethereum 與 EVM 網路常見的 ERC-20 模式為主,介紹如何授權、查詢與撤銷,也會說明 Permit、Permit2 及 NFT 權限的差異。其他網路或新型帳戶的權限設計,不能直接套用全部細節。

代幣授權是什麼?

在常見 ERC-20 模式中,持有人可以呼叫代幣合約的 approve,為某個 spender 設定可使用額度;spender 再依規則透過 transferFrom 轉移代幣。

這裡的 spender 是獲准動用資產的地址,常見為應用使用的合約。實際權限記錄在代幣合約中,不是只存在網站的登入狀態。

因此,授權前至少要確認:在哪條網路、哪個代幣合約、自己的哪個帳戶、哪個 spender,以及多少額度。

延伸閱讀:智能合約是什麼。

Approve、Allowance、Spender 與 Revoke 有何不同?

名稱意思使用時怎麼看
Approve設定授權額度的操作同意讓哪個地址使用哪個代幣
Allowance目前允許使用的額度不是餘額,也不等於已經花費
Spender被授權動用資產的地址核對合約地址,不能只看顯示名稱
transferFrom依代幣規則代為轉移常見於交換或存入應用的流程
Revoke撤銷既有權限的通稱ERC-20 常見做法為把額度設為 0

授權不是把私鑰交給對方。它是在特定合約規則下給予權限;對方可能不必再請你簽署新的交易,就能在有效權限內動用資產。

連接錢包、授權、簽名與轉帳有什麼不同?

操作主要效果是否等於轉出代幣
連接錢包讓應用取得你同意提供的帳戶資訊與請求操作的管道單純連線不是代幣轉出
ERC-20 Approve設定 spender 的額度一般不是當下交換,但會建立使用權限
訊息簽名產生對某份資料的簽章可能只是登入,也可能承載資產權限
轉帳/交換執行實際資產移動或應用操作依交易內容決定

「簽名不用付 Gas」不等於沒有資產效果。安全判斷要看簽了什麼,而不是只看錢包按鈕寫 Sign、Approve 還是 Confirm。

延伸閱讀:錢包簽名是什麼?登入、交易簽署與 Permit 釣魚辨識教學

為什麼 Swap 常需要先授權?

假設你要透過某個交易合約,用 100 USDC 換成另一種代幣。合約需要依你的付款指示取用 USDC,才能完成交換。

常見流程分成:

  1. 連接正確帳戶與網路。
  2. 為應用需要的 spender 設定 USDC 額度。
  3. 等待授權生效,再確認實際交換。
  4. 查看交換結果與剩餘授權。

若既有額度已足夠,或應用採用其他簽署與交易組合,畫面不一定每次出現兩筆獨立交易。

授權成功也不保證交換成功;交換仍可能因報價、滑價、期限或其他條件失敗。此時原本授權可能仍有效。

延伸閱讀:DEX 去中心化交易所教學、USDC 完整介紹。

指定額度與無限授權怎麼選?

假設你有 1,000 枚某代幣,這次只需要使用 100 枚。

設定大致效果取捨
授權 100 枚額度配合當次需求日後使用可能需重新授權
授權 500 枚留有後續操作空間有效可用額度較高
無限/極大額度通常設定遠高於餘額的數值減少重複設定,但擴大持續權限

一般標準額度會在 transferFrom 花費後扣減,但部分代幣實作對最大額度有不同處理,不能假設每次使用後都會自動歸零。

若極大額度長期有效,未來再轉入同一帳戶的同種代幣,也可能在權限範圍內。這不代表授權一種代幣就能直接控制所有其他資產;範圍需依實際合約與其他權限判斷。

設定較小額度能限制部分曝險,但無法把惡意合約變成安全合約。首先仍要確認對象與操作合理。

Permit 是什麼?不付 Gas 的簽名也能授權嗎?

ERC-2612 定義的 permit,允許持有人透過簽署結構化資料,讓有效簽章被提交至代幣合約,以修改 allowance。它和直接由持有人送出 approve 交易的流程不同。

簽署者可能不在簽名當下支付 Gas,但資料之後仍可由他人提交上鏈。因此,簽名畫面需要核對 owner、spender、value、網路與合約,以及 nonce、deadline 等相關資訊。

Permit 的提交期限,不一定是授權額度本身的到期時間。以 ERC-2612 而言,deadline 限制的是簽章可被接受的時間;生效後的 allowance 不會只因這個期限經過就自動清零。

並非所有代幣都支援相同 permit 格式。已簽但尚未使用的訊息,也不一定會出現在一般鏈上授權清單中。

Permit2 和 Permit 有什麼不同?

Permit2 是另一套合約與簽名機制,不能直接等同 ERC-2612。使用者通常先透過代幣合約授權 Permit2,再依應用流程簽署相應權限。

Uniswap 官方文件將主要用途分為:

  • SignatureTransfer:以一次性簽名支援相應轉移。
  • AllowanceTransfer:設定帶有額度與期限的 spender 權限。

這表示可能同時存在「代幣對 Permit2 的底層授權」與「Permit2 內的應用權限」。撤銷時要看自己要關閉哪一層,不能只撤掉一個網站連線就認為全部失效。

同樣地,不能因為 Permit2 是常見基礎設施,就不核對實際簽署的 spender、額度與條件。

來源:Uniswap Permit2 官方文件。

NFT 的 Approve 與 SetApprovalForAll 一樣嗎?

不一樣。以 ERC-721 為例,approve 可針對單一 NFT 設定授權;setApprovalForAll 則是對該 NFT 合約中、由你持有的資產設定 operator 權限。

這種「全部」通常指特定收藏合約的資產,不是整個錢包所有代幣。撤銷操作也與 ERC-20 數量額度不同,不能直接套用相同畫面。

本文後續流程以一般 ERC-20 為例。若查到的是 NFT 或帳戶委派等權限,應依相應工具與官方說明核對。

如何查詢代幣授權?

可以使用錢包提供的權限頁面、對應網路的區塊瀏覽器 approval checker,或 Revoke.cash 等工具。

查詢一般可用公開地址進行,不需要輸入助記詞或私鑰。是否需要連接錢包,取決於工具與接下來要做的操作。

建議依序核對:

  1. 所在網路與持有資產的帳戶。
  2. 代幣合約與名稱是否對應真正資產。
  3. spender 地址與你曾使用的應用是否一致。
  4. 目前額度,而不只看過去的授權交易。
  5. 是否涉及 Permit2、NFT 或其他不同權限類型。

同一個地址在不同網路的授權,不能當作同一筆權限。清單沒有顯示某項目,也不代表所有未使用簽章或帳戶層權限都不存在。

如何撤銷授權?六步操作教學

步驟一:自行開啟可信工具

從已確認的官方入口進入,不透過陌生訊息裡的緊急撤銷連結。確認網址與所在網路。

步驟二:選擇正確帳戶與權限

先查清楚 token、spender 與額度。優先處理確定不再使用、無法辨識或相關應用已發生問題的權限;不必為了清理畫面而與陌生垃圾代幣互動。

步驟三:選擇撤銷或調整額度

一般 ERC-20 撤銷通常把 allowance 設為 0。若只是調整到較小額度,依代幣與工具流程處理;部分代幣可能要求先歸零,再設定新值。

步驟四:核對錢包提出的操作

確認是預期網路、代幣合約與 spender,並且額度降低或歸零。若工具要求把資產轉給陌生地址,或提高不相關的權限,先停止。

步驟五:支付所需網路費並等待生效

一般鏈上撤銷需要交易費;工具本身也可能有批次或付費功能,實際以當時報價為準。未上鏈、失敗或尚未生效的操作,不能當作撤銷完成。

步驟六:重新查詢狀態

確認對應額度已降低或歸零。日後再次使用同一服務,可能需要重新授權。

上述為依官方文件整理的通用流程,未替讀者實際連接錢包、簽名或操作資產。

來源:MetaMask 撤銷授權說明、Uniswap 撤銷指引。

斷開連線、刪掉 App 或餘額歸零,授權會失效嗎?

一般不會因此自動失效。網站連線與鏈上 allowance 是不同狀態,關閉頁面、刪除瀏覽器擴充或斷開連線,不會直接修改代幣合約記錄。

餘額歸零也不表示額度已撤銷。若之後轉入相同代幣,既有權限仍可能影響這些資產。

相反地,撤掉某個 spender 的特定代幣額度,也不等於已關閉所有其他 spender、其他網路或 NFT 權限。

撤銷授權能追回被盜資產嗎?

不能把撤銷當成退款。它主要是限制未來透過相關權限發生的資產移動,不會自動追回先前已轉出的資產,也無法保證搶在惡意花費前確認。

若只是曾對可疑 spender 授權,可核對並撤掉對應權限;若私鑰或助記詞已外洩,攻擊者可能自行簽署新的操作,單靠撤銷就不足以恢復控制安全。

兩種情況的處理不同,應保留交易資料,透過可信官方管道確認,不再把備份交給所謂追回服務。

與這種授權問題不同,地址投毒主要誘導複製錯誤收款資訊,不能只撤銷代幣額度就解決所有誤轉問題。

代幣授權常見問題 FAQ

Approve 就是已經換幣了嗎?

一般不是。它通常先設定使用額度,交換或存入是後續操作,也可能依應用設計合併流程。

斷開錢包連線會撤銷授權嗎?

不會自動撤銷既有鏈上額度,需另外處理相應權限。

無限授權會把所有幣都授權出去嗎?

一般 ERC-20 額度針對特定網路、代幣、持有人與 spender;不是自動涵蓋所有資產。但其他權限可能另外存在。

授權過的代幣餘額歸零,還需要檢查嗎?

需要依後續用途評估。餘額為零不表示額度歸零,之後存入相同代幣仍可能受到既有權限影響。

不用付 Gas 的簽名一定安全嗎?

不是。Permit 等簽名可能承載資產使用權限,之後由其他人提交上鏈。

Permit 的 deadline 到期後,授權一定消失嗎?

不一定。ERC-2612 的 deadline 是簽章提交期限,不能直接當成已生效 allowance 的到期日。

撤銷授權需要費用嗎?

一般鏈上操作需要網路費,批次或付費工具還可能有服務費。查詢與真正提交撤銷應分開看。

撤銷一次就能保護整個錢包嗎?

不能。需要分網路、代幣與 spender 核對;私鑰外洩、未使用簽章與其他帳戶權限,也不是單筆撤銷就能全面處理。

資料來源

*本文由桑幣區識編輯團隊依據官方資料及公開資訊整理,內容僅供資訊與教育用途,不構成投資建議。

join Zombit

加入桑幣的社群平台,跟我們一起討論加密貨幣新資訊!

桑幣區識 Zombit

桑幣筆記 Zombit 為專業的區塊鏈財經自媒體,利用自身的金融和區塊鏈知識,提供區塊鏈相關的時事新聞、專題專欄、新手教學和趨勢週報...等,協助大眾吸收正確的資訊,並和社群朋友站在一起,互相扶持成長。

桑幣熱門榜

關閉廣告 關閉廣告
zombie

桑幣正在徵文中,我們想要讓好的東西讓更多人看見!
只要是跟金融科技、區塊鏈及加密貨幣相關的文章,都非常歡迎向我們投稿
投稿信箱:[email protected]

為提供您更多優質的服務與內容,本網站使用 cookies 分析技術。若您繼續閱覽本網站內容,即表示您同意我們使用 cookies,關於更多相關隱私權政策資訊,請閱讀我們的隱私權及安全政策宣示。