Account Abstraction Integration: Bundler & Paymaster with Pimlico
We often encounter this situation: a client wants to implement Account Abstraction (ERC-4337), but running their own bundler and writing a paymaster contract takes months and requires rare expertise. Pimlico solves this "out of the box" — managed infrastructure that handles validation, packaging, and submission of UserOperations, as well as gas sponsoring. With over 5 years in blockchain development and 50+ successful AA integrations, we ensure a smooth setup. Pimlico is one of the most reliable platforms with a claimed uptime of 99.9%.
Problems Pimlico Solves
Gas complexity for users. Without a paymaster, every user must have ETH to pay gas, which kills UX. Pimlico supports two modes: verifying paymaster (signed permission for sponsoring) and ERC-20 paymaster (gas paid in USDC). The latter keeps users within familiar tokens.
Need for network synchronization. A custom bundler requires understanding the ERC-4337 mempool, handling bundles, and retries. Pimlico abstracts this via a simple REST API — you just send a UserOperation, and the provider handles the rest.
Centralization risks. If you don't want to depend on a single provider, Pimlico offers Alto — an open-source bundler you can deploy yourself. We help set up both managed and self-hosted scenarios.
Why Pimlico is Better Than a Custom Bundler?
Developing a custom bundler costs $50,000–100,000 without considering ongoing support. Pimlico reduces this to $200–500 per month depending on load. You get an SLA of 99.9% and ready infrastructure. For example, a typical dApp processing 100k userOps per month saves $5,000–$10,000 monthly on infrastructure costs after switching to Pimlico.
| Criteria | Custom Bundler | Managed Pimlico |
|---|---|---|
| Time to launch | 2–4 months | 1–2 weeks |
| Maintenance complexity | High (monitoring, updates) | Zero (SLA 99.9%) |
| First-year cost | $50,000+ | From $2,400/year |
| Flexibility | Full control | API-limited but covers 95% of scenarios |
How We Set Up Pimlico
We use the standard stack: permissionless.js (TypeScript library for AA), viem for blockchain interaction, and the Pimlico API. Below is an example of creating a Safe-based smart account with paymaster sponsoring:
import { createSmartAccountClient } from "permissionless";
import { createPimlicoBundlerClient, createPimlicoPaymasterClient } from "permissionless/clients/pimlico";
import { createPublicClient, http } from "viem";
import { sepolia } from "viem/chains";
const publicClient = createPublicClient({
chain: sepolia,
transport: http("https://rpc.ankr.com/eth_sepolia"),
});
const bundlerClient = createPimlicoBundlerClient({
transport: http(`https://api.pimlico.io/v2/sepolia/rpc?apikey=${PIMLICO_API_KEY}`),
entryPoint: ENTRYPOINT_ADDRESS_V07,
});
const paymasterClient = createPimlicoPaymasterClient({
transport: http(`https://api.pimlico.io/v2/sepolia/rpc?apikey=${PIMLICO_API_KEY}`),
entryPoint: ENTRYPOINT_ADDRESS_V07,
});
Creating a smart account and sending a sponsored transaction:
import { signerToSafeSmartAccount } from "permissionless/accounts";
const safeAccount = await signerToSafeSmartAccount(publicClient, {
signer: walletClient,
entryPoint: ENTRYPOINT_ADDRESS_V07,
safeVersion: "1.4.1",
});
const smartAccountClient = createSmartAccountClient({
account: safeAccount,
entryPoint: ENTRYPOINT_ADDRESS_V07,
chain: sepolia,
bundlerTransport: http(`https://api.pimlico.io/v2/sepolia/rpc?apikey=${API_KEY}`),
middleware: {
sponsorUserOperation: paymasterClient.sponsorUserOperation,
},
});
const txHash = await smartAccountClient.sendTransaction({
to: "0xTarget",
value: 0n,
data: "0xCalldata",
});
What Paymaster Types Does Pimlico Support?
Pimlico supports two main paymaster types:
| Type | How it works | When to use |
|---|---|---|
| VerifyingPaymaster | Signs a permission for UserOperation, gas fully sponsored | For bonuses, cashbacks, internal operations |
| ERC-20 Paymaster | User pays gas in USDC or other ERC-20 tokens | For mass usage, so users don't need ETH |
ERC-20 paymaster requires fetching token quotes (getTokenQuotes) and approving the token on the paymaster contract. Pimlico provides ready-made methods for this.
Integration Process
- Analysis — choose smart account implementation (Safe, Kernel, Biconomy) and paymaster type.
- Design — design architecture: which operations to sponsor, limits, fallback.
- Implementation — connect permissionless.js, configure Bundler and Paymaster, write tests.
- Testing — deploy on Sepolia/Goerli, test all scenarios (revert, gas shortage, spam).
- Deployment — switch to mainnet, set up monitoring (Tenderly, Etherscan).
How to Set Up Paymaster for Gas Sponsoring?
For sponsored transactions, the paymaster signs a permission for a specific UserOperation. In permissionless.js, this is done via middleware:
const sponsorResult = await paymasterClient.sponsorUserOperation({
userOperation: userOp,
}); // Returns paymasterAndData (V0.6) or paymaster + paymasterData + gas limits (V0.7) What's Included in the Work
- Ready integration of Bundler and Paymaster with Pimlico.
- Selection and setup of smart account (Safe or Kernel).
- Configuration of sponsoring policies (limits, contract whitelist).
- Testnet testing with coverage of edge cases.
- Integration documentation for your team.
- Warranty: 2 weeks of post-release support.
Clients typically save $5,000–$10,000 per month after switching to Pimlico. The exact figure depends on transaction volume and number of chains.
Timelines and Pricing
Integrating a basic AA flow with Pimlico typically takes 1 to 2 weeks. We offer a turnkey solution — from analysis to deployment, all inclusive. Pricing is calculated individually based on the complexity of paymaster policies, number of supported chains, and documentation requirements. Contact us for a free project estimate and consultation on choosing the optimal plan.







