StackUp Integration (AA Infrastructure)
StackUp is an infrastructure provider for ERC-4337 Account Abstraction: a hosted bundler and paymaster API. Alternative to Pimlico with a similar feature set. StackUp also supports open development through userop.js — their TypeScript SDK for working with UserOperations.
Key Components
Bundler — accepts UserOperations, simulates them (checks validity without on-chain transaction), forms a bundle and sends it to the EntryPoint contract. StackUp supports EntryPoint v0.6 and v0.7.
Paymaster — gas sponsorship. StackUp provides a Verifying Paymaster that signs permission to pay gas for a specific UserOperation. Sponsor funds are stored on the paymaster contract, replenished through deposits.
Integration via userop.js
import { Client, Presets } from "userop";
// Create AA client
const client = await Client.init(
`https://api.stackup.sh/v1/node/${STACKUP_API_KEY}`,
{
entryPoint: "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789",
}
);
// Create SimpleAccount (simplest AA wallet implementation)
const simpleAccount = await Presets.Builder.SimpleAccount.init(
signer, // ethers Signer
`https://api.stackup.sh/v1/node/${STACKUP_API_KEY}`,
{
paymasterMiddleware: Presets.Middleware.verifyingPaymaster(
`https://api.stackup.sh/v1/paymaster/${STACKUP_API_KEY}`,
{ type: "payg" } // pay-as-you-go sponsorship
),
}
);
// Send transaction
const response = await client.sendUserOperation(
simpleAccount.execute(
"0xTargetAddress",
ethers.utils.parseEther("0"),
"0xCalldata"
)
);
const receipt = await response.wait();
console.log(`Transaction included in block ${receipt.receipt.blockNumber}`);
Differences from Pimlico
| Aspect | StackUp | Pimlico |
|---|---|---|
| SDK | userop.js | permissionless.js |
| Open-source bundler | stackup-bundler | Alto |
| ERC-20 paymaster | Via custom paymaster | Built-in support |
| Smart account support | SimpleAccount, Safe | Safe, Kernel, Biconomy |
| Documentation | Good | Excellent |
Own Bundler via stackup-bundler
For projects requiring independence from external infrastructure, StackUp provides an open-source bundler in Go:
# Run via Docker
docker run -e ERC4337_BUNDLER_ETH_CLIENT_URL=https://mainnet.infura.io/v3/KEY \
-e ERC4337_BUNDLER_PRIVATE_KEY=0x... \
-p 4337:4337 stackupwallet/stackup-bundler:latest
The bundler connects to an Ethereum node, manages UserOperations mempool, performs simulation before bundle inclusion.
Integration with StackUp takes 1–2 weeks for standard AA flow. The choice between StackUp and Pimlico is practically determined by SDK convenience, pricing, and supported smart account implementations.







