Paymaster Types

Explore different Paymaster patterns in ERC-4337, from whitelists to token gas payments.

Paymasters in ERC-4337 can be implemented in various ways depending on how gas is sponsored and what validation logic is required. Below are the most common patterns.


βœ… Whitelist Paymaster

Simplest model. The Paymaster maintains a list of allowed users or operations.

Use case: Free gas for early users, partners, or test campaigns.

How it works:

  • Checks the sender address or calldata

  • Accepts or reverts in validatePaymasterUserOp

  • Optionally restricts frequency or nonce range


πŸ” Verifying Paymaster (Off-Chain Signed)

Requires an off-chain component to approve each transaction.

Use case: Controlled sponsorship via API, rate limits, user-specific logic

How it works:

  • User gets a signed message from a backend

  • paymasterAndData includes the signature and metadata

  • Contract verifies the signature before approving sponsorship

This model is extensible and secure β€” popular in production wallets.


πŸ’° ERC-20 Paymaster (Token-Paying)

Lets users pay for gas in an ERC-20 token, which the Paymaster converts to ETH.

Use case: Gasless UX for apps where users hold tokens but no ETH

How it works:

  • Contract checks token balance or transfer approval

  • Performs a token-to-ETH swap off-chain or via internal pool

  • Uses ETH deposit in EntryPoint to cover the gas

Caution: swaps can be complex and require slippage/timing protection.


🧩 Hybrid and Custom Patterns

  • Quota-based Paymasters: Allow N txs per user/day

  • Multi-condition checks: Combine whitelist + signatures

  • Action-specific Paymasters: Only subsidize known callData

The Paymaster model is extremely flexible. The key constraint is ensuring validatePaymasterUserOp() remains safe, bounded, and deterministic.


βœ… Summary

Paymasters enable powerful UX flows, from gasless onboarding to pay-in-token systems. Choose a pattern based on your app’s risk tolerance, business model, and infrastructure capabilities.

Last updated