What a paymaster kit does

In the ERC-4337 account abstraction standard, a paymaster kit is a smart contract that pays gas fees on behalf of a user operation. This allows your application to sponsor transaction costs, removing the need for users to hold native tokens to interact with your dApp. By absorbing these fees, you lower the barrier to entry, making onboarding smoother for new users who are unfamiliar with crypto wallets.

It is important to distinguish this technical role from other industries. In entertainment, a paymaster might refer to a rate guide or payroll service. In general business, it can describe a person or entity disbursing payments. In web3 development, however, the term has a specific, narrow definition: a contract that facilitates user operations (UserOps) by covering the gas required to execute them on-chain.

The primary function of a paymaster kit is to validate user requests and submit them to the bundler. When a user initiates a transaction, the paymaster contract verifies that the request meets your criteria—such as having completed a specific action or holding a certain token balance. If the conditions are met, the paymaster signs the transaction and covers the gas cost, allowing the user to interact with the contract without paying anything upfront.

Choose your sponsorship model

Selecting the right paymaster architecture determines how users interact with your application and how your backend handles transaction costs. The ERC-4337 standard defines three primary sponsorship models, each suited to different onboarding strategies. Use the comparison below to evaluate cost, complexity, and user experience before implementing.

ModelWho Pays GasImplementation EffortUser Experience
SponsorshipProject (ETH/USDC)LowZero friction; user pays nothing
ERC-20User (Token)MediumUser approves token spend; no ETH needed
VerifyingUser (ETH)HighUser pays gas; project validates intent

Project-Sponsored (Sponsorship)

In this model, the project pays all gas fees for user operations. This is the most effective method for new user onboarding because it removes the barrier of acquiring native cryptocurrency. Users can sign transactions without holding any funds. Implementation is straightforward: the relayer or backend signs the transaction or pays for it via a smart contract. This approach aligns with the "gasless" experience users expect from Web2 applications.

ERC-20 Paymaster

The ERC-20 model allows users to pay gas fees using an ERC-20 token, such as USDC or DAI, rather than the native chain token. This requires users to hold the specific token but eliminates the need for ETH. Implementation is moderately complex because the smart account must support token approvals and the paymaster must handle the token transfer logic. This model is ideal for applications where users already hold stablecoins or where the project wants to subsidize only a portion of the gas cost.

Verifying Paymaster

The Verifying model delegates gas payment to the user but uses the paymaster to validate transaction signatures off-chain or on-chain. This reduces the risk of replay attacks and allows the project to enforce specific rules before the transaction is submitted to the mempool. While this does not sponsor gas, it simplifies the user experience by handling signature verification logic. It is best suited for high-security applications where the project needs to audit or approve transactions before they are broadcast.

When choosing a model, prioritize the user's current state. If users are new and lack ETH, Sponsorship or ERC-20 are necessary. If users are experienced and security is paramount, Verifying may be the better fit. Many projects combine models, using Sponsorship for onboarding and ERC-20 for power users.

Integrate the paymaster contract

Use this section to make the Paymaster Kit decision easier to compare in real life, not just on paper. Start with the reader's actual constraint, then separate must-have requirements from details that are merely nice to have. A practical choice should survive normal use, maintenance, timing, and budget. If a recommendation only works in an ideal situation, call that out plainly and give the reader a fallback path.

  • Verify the basics
    Confirm the core specs, condition, and fit before comparing extras.
  • Price the downside
    Look for the repair, maintenance, or replacement cost that would change the decision.
  • Compare alternatives
    Check at least two comparable options before treating one listing as the benchmark.

Handle verification and limits

Gas sponsorship introduces a clear attack vector: automated bots can drain your budget if left unchecked. To prevent abuse, you must implement strict gas limits and verify user eligibility before the paymaster signs any transaction. This process ensures that only legitimate users access your sponsored features.

Start by defining the maximum gas allowance per user operation. Set a hard cap on gas price and gas limit within your smart contract logic. This prevents a single transaction from consuming an disproportionate share of your funds. If a user requires more resources than the cap allows, the transaction should fail gracefully rather than draining your balance.

Next, verify user eligibility using off-chain signer keys. Your backend should issue a signed payload only after confirming the user meets your criteria, such as account age or KYC status. The paymaster contract then validates this signature against your public key before executing the user operation. This two-step verification separates identity validation from transaction execution.

To secure your off-chain signer keys, store them in a hardware security module (HSM) or a cloud KMS service. Never store private keys in environment variables or source code. Rotate keys regularly and monitor for unusual signing activity. This security layer is essential for maintaining the integrity of your gas sponsorship program.

Pre-launch verification checklist

Before deploying your paymaster contract, ensure these critical steps are completed:

  • Set explicit gas price and gas limit caps per user operation.
  • Configure off-chain signature verification against a secure key store.
  • Implement rate limiting to prevent API abuse and bot attacks.
  • Audit signer key storage using a HSM or cloud KMS.
  • Test failure modes when gas limits are exceeded.

Test gasless transactions live

Run a full end-to-end test to confirm your Paymaster Kit handles user onboarding without requiring native gas tokens. This process validates that the smart account can submit a transaction, the bundler accepts it, and the paymaster covers the fee correctly.

Paymaster Kit
1
Deploy the test paymaster contract

Initialize your local development environment and deploy the ERC-20 paymaster contract. Ensure the contract is funded with the token (e.g., USDC) it will use to reimburse the bundler for gas costs. This contract acts as the sponsor for the user’s transaction fees.

2
Fund the user smart account

Use your development wallet to transfer a small amount of the paymaster token to the new user’s smart account address. The user should not hold any native ETH or MATIC for gas; their balance should only reflect the ERC-20 token used for sponsorship.

3
Execute the onboarding transaction

Trigger the user onboarding flow from the frontend. The transaction should be signed by the smart account and sent via the bundler. Verify that the transaction is included in a block without the user needing to approve a native gas fee in their wallet.

4
Verify paymaster sponsorship

Check the transaction receipt on your testnet block explorer. Confirm that the paymaster field is populated and that the gas fees were deducted from the paymaster contract’s token balance, not the user’s native token balance. This confirms the gasless flow is working as intended.

If the transaction reverts, check the paymaster contract’s balance and the bundler’s status. Common issues include insufficient token balance in the paymaster or incorrect approval settings for the bundler. Refer to the MetaMask ERC-20 Paymaster tutorial for detailed debugging steps.

Common paymaster: what to check next

Here are specific answers to technical questions about paymaster legitimacy, security, and implementation details.