什麼是 Paymaster?(ERC-4337)
在帳戶抽象中,paymaster 是一種智能合約,可以實現靈活的 gas 政策,例如允許去中心化應用程式為使用者代付操作費用(即以區塊鏈原生貨幣支付 gas 費),或接受以 ERC-20 代幣(例如 USDC)支付 gas 費,取代區塊鏈原生貨幣。
paymaster 智能合約是在以太坊改進提案(EIP) 4337 中提出的,它會與其他帳戶抽象基礎設施(例如 bundler 和 entry point 智能合約)整合,以補償它們墊付執行使用者操作所需的 gas 費用。
在 Ethereum 及主流 L2 上為任何 web3 應用程式加入嵌入式錢包 使用 Embedded Accounts 與我們垂直整合的帳戶抽象基礎設施,其中包含高效能的 Gas Manager API (ERC-4337 paymaster)。
來自 Alchemy University 的 Paymaster 說明影片
何時應該使用 paymaster?
使用 paymaster 主要有兩個原因:為其他帳戶的交易代付 gas 費,或以 ERC-20 代幣支付 gas 費,而非區塊鏈網路的原生貨幣。這種 ERC-20 paymaster 可以是應用程式自己的代幣,也可以是穩定幣,例如 USDC。
1. 用於贊助交易的 paymaster
web3 應用程式和錢包開發者選擇使用贊助型 paymaster 的原因包括:讓新使用者更容易參與 web3、鼓勵特定平台的使用者行為、免付 gas 費鑄造 NFT、免付 gas 費部署錢包,以及其他許多使用情境。
要使用 paymaster 贊助交易,web3 開發者需要建立政策,定義哪些使用者操作可以被贊助,他們所使用的 paymaster 合約會在 entry point 合約中存入一定數量的加密貨幣,用於扣除被補貼交易的 gas 費用,接著啟用該政策。
定義 paymaster 贊助政策的規則有哪些?
為了控制誰可以使用 paymaster 贊助的交易,開發者可以定義規則來管理每個應用程式及每個發送者(例如請求贊助使用者操作的使用者)的支出與使用者操作數量、允許或拒絕存取贊助的使用者操作,並設定政策開始、結束和過期的條件。
- 最大支出 - 政策可支出的最大金額(以美元計)
- 每個發送者的最大支出 - 政策可支出的最大金額(以美元計)
- 每個使用者操作的最大支出 - 每個使用者操作可支出的最大金額(以美元計)
- 最大交易數量 - 政策可贊助的全域最大交易數量
- 每個發送者的最大交易數量 - 每個發送者的個別最大交易數量
- 發送者允許清單 - 定義有權使用 paymaster 的帳戶的規則
- 發送者封鎖清單 - 定義無權使用 paymaster 的帳戶的規則
- 政策開始時間 - 政策開始的時間
- 政策結束時間 - 政策結束的時間
- 政策過期 - 政策可支出的最大金額(以美元計)
注意: 以上是使用 Alchemy 的 Gas Manager Coverage API 時可設定的 gas 政策規則。其他符合 ERC-4337 規範的 paymaster 可能支援更多或更少的規則。
開發者可以使用 paymaster 存取金鑰,以程式化方式建立、啟用及管理靈活的 gas 贊助政策。若要手動管理政策,開發者可以在 Gas Manager 儀表板中建立。
Alchemy 的 gas manager coverage API 如何管理贊助使用者操作的存款?
Alchemy 的 Gas Manager Coverage API 合約已在每條支援的區塊鏈上,向全域 entrypoint 合約存入原生貨幣。當開發者透過我們的 Gas Manager 建立 gas 政策時,我們會追蹤他們用於支付 gas 費用的原生貨幣數量。
在每個月底,使用 Alchemy 建構的團隊會收到一張帳單,內容為其政策所涵蓋的 gas 費用總額,外加該金額 8% 的費用。此費用會透過其 Alchemy 帳戶中的付款方式支付。
Alchemy 的 gas manager coverage API 相關費用是多少?
贊助交易的 gas 費用對 Enterprise 客戶採用客製化收費,對 Growth Tier 客戶收取 8%,而免費使用者則無需付費,因為贊助交易僅限測試網使用。
Alchemy 的贊助型 paymaster 合約部署在哪些網路上?
Alchemy 已在 Ethereum、Arbitrum、Optimism、Polygon 上部署贊助型 paymaster 合約。以下是主網部署地址及其 Etherscan 連結:
- Ethereum - 0x4Fd9098af9ddcB41DA48A1d78F91F1398965addc
- Polygon - 0x4Fd9098af9ddcB41DA48A1d78F91F1398965addc
- Arbitrum - 0x4Fd9098af9ddcB41DA48A1d78F91F1398965addc
- Optimism - 0x4Fd9098af9ddcB41DA48A1d78F91F1398965addc
Alchemy 的贊助型 paymaster 合約部署在哪些測試網上?
Alchemy 已在 Sepolia 上部署贊助型 paymaster 合約。以下是測試網部署地址:
2. 用於以 ERC-20 代幣支付 gas 費的 paymaster
dapp 和錢包開發者選擇使用 ERC-20 paymaster 的原因包括:為應用程式自己的 ERC-20 代幣增加實際用途、為擁有各種數位資產的使用者提供更多彈性,讓他們能以價值不會波動的穩定幣支付,而不受 ETH、MATIC、OP、ARB 等原生貨幣價格波動影響,以及其他許多特定應用情境。
根據 ipaymaster 介面,paymaster 有哪些類型?
paymaster 具有多種功能,例如贊助交易以及讓使用者以 ERC-20 代幣支付 gas 費,根據 IPaymaster 介面,這兩種功能分別被稱為 verifying paymaster(驗證型 paymaster) 和 token (deposit) paymaster(代幣存款型 paymaster)。
1. Verifying paymaster(驗證型 paymaster)
verifying paymaster 類型用於由鏈下服務決定是否應贊助交易費用的情況。舉例來說,如果使用者想以法定貨幣及信用卡付款,使用者操作的發送者會先將款項送到外部簽署者,如果此步驟成功,paymaster 就會驗證該操作,並確認會涵蓋交易費用。
2. ERC-20 paymaster
deposit paymaster 類型用於 gas 費用需以 ERC-20 代幣支付的情況。開發者指定 ERC-20 代幣,以及可使用贊助使用者操作的智能合約錢包地址。例如,某個 web3 dapp 想使用自己的 ERC-20 代幣,來支付前 1000 名使用者的交易費用。
雖然 deposit paymaster 允許以 ERC-20 代幣贊助費用,但交易的實際成本仍以 ETH 支付,並從 paymaster 存放在 entry point 合約中的存款餘額扣除。postOp() 函式中的邏輯會根據某個預言機(oracle)提供的報價,從發送者那裡收取相應數量的 ERC-20 代幣,以對應所需支付的 ETH 費用。
paymaster 如何運作?
paymaster 透過與 entry point 合約互動來運作,藉此涵蓋被贊助的使用者操作費用,並補償代替發送者執行使用者操作的 bundler。
對於每個使用者操作:
- 在發送者的錢包上呼叫 validateOp
- 如果使用者操作有 paymaster 地址,呼叫 validatePaymasterOp
- 捨棄未通過 validatePaymasterOp 呼叫的使用者操作
- 對每個使用者操作,在發送者的錢包上呼叫 executeOp
- 追蹤代替發送者執行該使用者操作所花費的 gas 數量
- 將 ETH 轉給 bundler,用以支付其代替發送者執行使用者操作所花費的 gas
- 如果使用者操作有 paymaster 欄位,paymaster 會使用其合約中存入的 ETH 支付給 bundler
- 如果使用者操作沒有 paymaster 欄位,該 ETH 會由發送者的錢包補償
以下圖表說明 paymaster 的運作方式:

ipaymaster 介面中包含哪些函式?
IPaymaster 介面是每個 paymaster 合約應遵循的藍圖,以符合提案的規範。它定義了兩個函式:validatePaymasterOp() 和 postOp()。
1. validatePaymasterUserOp()
validatePaymasterUserOp() 是一個函式,供記憶體池節點、bundler 及 entry point 合約使用,以確認 paymaster 合約同意贊助該筆交易的費用。validatePaymasterUserOp() 會在使用者操作的 paymasterAndData 欄位中被提及。
validatePaymasterUserOp() 函式接受待驗證的使用者操作的位元組表示法、其 ID,以及最大成本。它會回傳一個名為「context」的 bytes32 變數,該變數接著會被傳遞給 postOp() 函式。
2. postOp()
postOp() 函式定義了在使用者操作成功驗證後應執行的動作。舉例來說,如果使用者操作的發送者想以 ERC-20 代幣支付費用,entry point 會在操作完成後呼叫 postOp(),並傳達實際使用了多少 gas。
postOp() 函式只有在 validatePaymasterUserOp() 所產生的「context」不是 null 時才可被呼叫。
bundler 如何防止惡意 paymaster 發動 DoS 攻擊?
ERC-4337 規範描述了一套 paymaster 信譽評分與節流系統,讓 ERC-4337 bundler 能夠避免執行來自惡意 paymaster 的使用者操作。
由於 paymaster 的儲存空間會在使用該 paymaster 的同一批交易中所有操作間共用,因此其中一個 validatePaymasterOp 的行為,可能會導致該批次中使用同一 paymaster 的其他多筆使用者操作驗證失敗,形成阻斷服務攻擊(Denial-of-Service attack, DoS)。
為了避免惡意 paymaster 建立多個自身實例(即 Sybil 攻擊),paymaster 被要求質押 ETH。paymaster 的質押金永遠不會被罰沒,且可隨時提領;質押金的存在是為了要求潛在攻擊者鎖定一筆非小額的資金,以此嚇阻惡意行為。
使用 paymaster 對開發者有哪些好處?
paymaster 的好處包括增加 gas 政策的靈活性、簡化新使用者的 web3 上手體驗,以及為交易增添更多可程式化的能力。
1. 吸引新使用者
開發者利用 paymaster 的一項好處,是讓新使用者更容易參與 web3。目前建立外部擁有帳戶(Externally Owned Account, EOA)錢包、為其存入區塊鏈原生代幣、再鑄造 NFT 的流程相當複雜,過程中有許多環節可能讓使用者中途放棄。
paymaster 有助於減少為錢包存入原生貨幣以完成鏈上交易(例如鑄造 NFT、認領使用者名稱,或使用錢包報名活動)所帶來的阻礙。
2. 提升使用者體驗
開發 web3 產品的開發者可以透過 paymaster,加入支援以平台原生貨幣支付 gas 費的功能,藉此提升應用程式的使用者體驗。
3. 激勵使用者行為
想要成長的 Web3 新創公司可以透過 paymaster 受益,例如為重度使用者代付平台費用、鼓勵使用者試用新產品,以及爭取使用者參與行銷活動的意願。
如同智能合約錢包的優勢一樣,paymaster 也能以許多不同方式為 web3 開發者帶來好處。如今最具創新精神的 web3 公司,正不斷尋找實作 paymaster 的新方法,以改善產品與 web3 使用者體驗。
如何開始使用 paymaster API
Alchemy 的 paymaster 已在 Ethereum、Polygon、Optimism 及 Arbitrum 主網上線。若要開始使用符合 ERC-4337 規範的 paymaster 贊助交易,並建立靈活的 gas 政策,請參閱我們的 Gas Manager API,以及建立 paymaster 政策的快速入門指南。
常見問題
ERC-4337 中的 paymaster 是什麼?
paymaster 是 EIP-4337 中提出的一種智能合約,可實現靈活的 gas 政策,讓應用程式能為使用者贊助 gas 費,或接受以 ERC-20 代幣支付,取代區塊鏈的原生貨幣。
開發者何時應該使用 paymaster?
paymaster 適合用於贊助 gas 費以改善使用者上手體驗、允許以 ERC-20 代幣或 穩定幣(例如 USDC)支付,以及激勵 web3 平台上特定的使用者行為。
paymaster 的兩種主要類型是什麼?
這兩種類型分別是 verifying paymaster,它使用鏈下服務來決定是否贊助交易;以及 ERC-20 paymaster,它讓使用者可以用 ERC-20 代幣支付 gas 費,而 paymaster 則負責支付實際的 ETH 費用。
paymaster 如何與 EntryPoint 合約互動?
EntryPoint 會在驗證階段呼叫 validatePaymasterUserOp() 以確認贊助意願,並在執行完成後呼叫 postOp(),以處理帳務並從 paymaster 存入的 ETH 準備金中扣除代幣。
paymaster 必須實作哪些函式?
paymaster 必須實作 validatePaymasterUserOp() 以驗證贊助協議,以及 postOp() 以處理執行後的邏輯,例如從使用者處收取 ERC-20 代幣以支付 ETH 費用。
Alchemy 的 gas manager 如何處理贊助交易的計費?
Alchemy 會預先向 EntryPoint 合約存入原生貨幣,並每月向客戶開立帳單,內容為所涵蓋的 gas 費用總額,Growth Tier 客戶另加收 8% 的費用,Enterprise 客戶則採用客製化定價。
開發者可以設定哪些 gas 贊助政策?
開發者可以設定全域及每個發送者的最大支出限額、交易數量限制、發送者允許清單與封鎖清單,以及政策的開始/結束時間,藉此控制 paymaster 的使用方式。
相關總覽
錢包2026年9月2日
Agent 錢包:AI agent 的 session 與權限模型
AI agent 如何在不持有私鑰的情況下,取得範圍受限、可撤銷的錢包存取權限:session、委派簽署與即時撤銷。
錢包2026年7月29日
別再把私鑰貼到 Cursor:如何讓你的 coding agent 擁有錢包
讓你的 coding agent 擁有錢包,卻不用把私鑰交給它。了解 Alchemy CLI agent wallets 如何透過限定範圍的 sessions,讓 agent 不必在 .env 中存放私鑰也能交易。
錢包2026年6月24日
什麼是加密貨幣 Bundler?
加密貨幣 Bundler 會將多筆交易或操作合併為一次鏈上提交,涵蓋批次處理、MEV、rollups、代幣發行與帳戶抽象化等場景。

打造區塊鏈魔法
Alchemy 結合最強大的 Web3 開發者產品與工具,並提供資源、社群與卓越的支援。