Account Abstraction
Account abstraction (AA) replaces traditional externally owned accounts (EOAs) with programmable smart contract accounts. This unlocks capabilities that EOAs alone cannot provide:- Gas sponsorship — let users transact without holding native tokens for gas fees
- Batched transactions — bundle multiple operations into a single atomic transaction
- Session keys — grant temporary, scoped permissions without exposing the primary key
- Custom authorization — implement multi-factor auth, spending limits, or recovery logic at the account level
- Programmable accounts — create accounts with built-in rules for corporate or multi-user scenarios
| EIP-4337 | EIP-7702 | |
|---|---|---|
| How it works | UserOperations processed by bundlers via an EntryPoint contract | EOA delegates to a smart contract via a type-4 transaction |
| Account address | New smart contract address (different from EOA) | Same as your EOA |
| Chain support | All EVM chains | Requires chain-level support |
| Infrastructure | Bundler + Paymaster | Provider-dependent |
| Gas overhead | Higher (extra validation steps) | Lower (native execution) |
| Maturity | Production-ready | Emerging |
| Best for | Maximum compatibility, dedicated smart wallet | Keeping EOA address, simpler flows |
Para Integrations
Para acts as the signer (EOA) that controls smart contract wallets — it is not a smart wallet itself. Para handles secure key management via MPC, while the AA provider deploys and manages the smart contract account on-chain. This means your users’ private keys remain secure and under their control regardless of which provider you choose. Para wraps each provider in a sharedSmartAccount interface. Whether you use EIP-4337 or EIP-7702 mode, your application code stays the same — you can swap providers or switch between standards without rewriting transaction logic.
Every provider integration is available as an action function (createXxxSmartAccount) — an imperative async function you can call anywhere, including outside React components, inside custom hooks, or in server-side code. React applications also get a hook (useXxxSmartAccount) — a declarative wrapper powered by React Query that handles initialization, caching, and automatic re-creation when config changes.
Both return the same SmartAccount object:
mode: "7702", the return type narrows to include an optional delegationAddress field — the smart
contract the EOA delegates to. When using mode: "4337", smartAccountAddress is the counterfactual smart
contract address (different from signer.address).
Provider Comparison
| Provider | 4337 | 7702 | External Wallets | Chain Restrictions | Key Feature |
|---|---|---|---|---|---|
| Alchemy | ✓ | ✓ | ✓ | Alchemy-supported chains | Modular accounts, gas policies |
| ZeroDev | ✓ | ✓ | ✓ | Any EVM chain | Kernel accounts, session keys, plugins |
| Pimlico | ✓ | ✓ | ✓ | Any EVM chain | Permissionless SDK, flexible paymaster |
| Biconomy | ✓ | ✓ | ✓ | MEE-supported chains | Cross-chain orchestration via MEE |
| Thirdweb | ✓ | ✓ | ✓ | Any EVM chain | Smart wallets, gas sponsorship |
| Gelato | ✓ | Any EVM chain | Native 7702, built-in gas sponsorship | ||
| Porto | ✓ | Multiple chains | 7702-native relay, merchant-based gas sponsorship | ||
| Safe | ✓ | ✓ | Any EVM chain | Multi-sig, modular accounts | |
| Rhinestone | ✓ | ✓ | Any EVM chain | Cross-chain orchestration | |
| Coinbase Developer Platform | ✓ | Base, Base Sepolia only | Coinbase smart accounts |
Provider Guides
Server-side AA uses the samecreateXxxSmartAccount action functions as the React SDK — no hooks needed. Select a provider below for installation and usage instructions.
You’ll need a Para Server SDK session before calling any
createXxxSmartAccount function. See the for details on initializing Para and importing sessions.- Alchemy
- ZeroDev
- Pimlico
- Biconomy
- Thirdweb
- Gelato
- Porto
- Safe
- Rhinestone
- Coinbase Developer Platform
provides modular smart accounts with built-in gas sponsorship via Alchemy’s Gas Manager. Create and manage smart accounts, submit gasless transactions, and execute batched UserOperations. Supports both EIP-4337 and EIP-7702 modes.
Setup
- Create an and obtain your API key and Gas Policy ID from the Alchemy dashboard.
- Install the required dependencies:
Usage
alchemy-server.ts
Alchemy requires chains from
@account-kit/infra (e.g. sepolia, baseSepolia). Plain viem chains are automatically mapped if an Alchemy equivalent exists. For gasless transactions, set up a Gas Manager Policy in your and pass the policy ID as gasPolicyId.Troubleshooting
Transaction Failures
Transaction Failures
If transactions fail, verify that the Para session is valid and that the smart account address has sufficient funds (in 4337 mode). For gas-sponsored transactions, confirm your policy ID and that the transaction meets the policy requirements.
Smart Wallet Deployment Issues
Smart Wallet Deployment Issues
First-time use of an AA wallet requires contract deployment, which can be more expensive. Ensure you have sufficient funds in the Para EOA for this initial deployment.
Gas Sponsorship Problems
Gas Sponsorship Problems
If using gas sponsorship, verify your policy ID and settings in the AA provider’s dashboard. Also check that the transaction meets the policy requirements (value limits, allowed functions, etc.).