ERC20 Gas Sponsorships
Gas, paid in the tokens users actually hold
Your users hold USDC, not ETH on five different chains. Let them pay transaction fees in USDC, USDT, or any ERC20 token, and drop the native-token requirement forever.
// Same client, plus one line — token approvals are injected for you
const smartAccountClient = createSmartAccountClient({
// ...same setup as before, plus:
userOperation: {
prepareUserOperation: prepareUserOperationForErc20Paymaster(pimlicoClient),
},
})
const txHash = await smartAccountClient.sendTransaction({
to: "0x...",
value: parseEther("0.1"),
paymasterContext: {
token: usdc, // any of 300+ supported ERC20 tokens
},
})How it works
Quote, confirm, done
The whole exchange happens atomically inside the transaction itself: if it fails, the user pays nothing. There is no pre-funding, no wrapped balances, and no trust assumptions to make.
The paymaster contracts that make this possible are audited by OpenZeppelin and Quantstamp.
Request a quote
One API call returns the exact token cost, locked in for 30 seconds.
User confirms in their token
They see "0.42 USDC", not gwei and not a volatile native fee, with time to verify before agreeing.
Pimlico settles the gas
The paymaster pays the native fee and collects the token atomically, in the same transaction.
Confirmed on-chain
No swaps, no bridging, no leftover dust balances.
Why teams choose it
Built for stablecoin-native apps
No native token required
Users pay fees in the ERC-20 they already hold on that chain, so there is no ETH, POL, or AVAX to acquire before they can transact.
Quotes locked for 30 seconds
Every quote stays valid long enough for users to verify the exact token cost and agree to it, with no fee volatility mid-flow.
Failed transactions cost nothing
Token collection happens atomically with execution. If the transaction reverts, no fee is taken.
Security
Built to be trusted with approvals
Letting a contract collect tokens for gas demands real guarantees. The paymaster is designed so users hand over as little as possible.
Audited and non-upgradable
The contracts are audited by OpenZeppelin and Quantstamp and cannot be upgraded, so the code users approve today is exactly the code that runs tomorrow.
Battle-tested in production
The same paymaster contracts run for the most security-conscious teams onchain, the issuer of USDC among them.
Proven at scale
The same engine behind 250M+ transactions
The onboarding ramp
Sponsor first, stablecoins after
The classic pattern: sponsor the first few transactions to remove all friction from onboarding, then transition users to paying their own fees in USDC, USDT, or any of 300+ supported tokens. One client and one policy engine cover both, so the switch is a config change, not a migration.
New user arrives
Their first transactions are sponsored under your policy. No balance needed at all.
They fund their account
Stablecoins land in the account, and there is still no native token to buy.
The same client switches to ERC-20 gas
Set the token in paymasterContext and fees come out of the balance they already hold.
Run it in production
Watch every operation, end to end
Every ERC-20 gas operation is traceable in the dashboard from received to included on-chain, with millisecond timings and transaction hashes at each step — the same lifecycle view behind every sponsored operation.
When someone asks where a transaction went, you answer in seconds, not by grepping logs.
Track user operation
Received
2026-06-11 20:01:13.054
Added to Mempool
2026-06-11 20:01:13.054 (+0ms)
Submitted
2026-06-11 20:01:13.341 (+287ms)
Tx Hash: 0x223b701f...Included Onchain
2026-06-11 20:01:13.590 (+249ms)
Tx Hash: 0x223b701f...In production
Trusted with users' tokens
Coverage
Every chain your users hold stablecoins on
One API covers 100+ chains. Users pay fees in USDC, USDT, or 300+ other tokens — the ERC-20 they already hold on that chain, with no native token required.
A few of the networks where users pay gas in stablecoins
Frequently asked questions
Which tokens are supported?
USDC and USDT are supported across major chains out of the box, with up to 300+ ERC20 tokens available on Enterprise plans. If your app has its own token, talk to us about adding it.
How is the exchange rate determined?
Before each transaction you request a quote, which locks in the token amount for the gas cost at current market rates plus the paymaster fee. The user sees the exact token cost before they confirm.
Is the paymaster audited?
Yes. The ERC20 paymaster contracts are audited by OpenZeppelin and Quantstamp.
Can I combine this with sponsorship?
Yes. Many teams sponsor the first few transactions for new users, then transition them to paying gas in USDC, USDT, or any other supported token. Both run through the same client and policy engine.