Introduction to AbstractionKit

A TypeScript library for building and sending ERC-4337 UserOperations with first-class support for Safe Accounts, Calibur Accounts, and Simple EIP-7702 Accounts. New Safe examples default to SafeMultiChainSigAccountV1 on EntryPoint v0.9, and new EIP-7702 Simple Account examples default to Simple7702AccountV09.
AbstractionKit abstracts the complexities of the ERC-4337 standard while providing developers with maximum flexibility to build Smart Wallets. Use Safe Accounts, construct callData, estimate and sponsor gas (fully or with ERC-20 tokens), and send UserOperations to Bundlers - all with full type safety.
- AbstractionKit is agnostic of:
- Ethereum interface libraries: ethers, web3.js, viem/wagmi
- Bundler implementation: Plug and play from any bundler provider
- Paymaster services: use any 3rd party paymaster, or build your own
Current Defaults
| Integration | Recommended class | EntryPoint | Notes |
|---|---|---|---|
| Safe account, single-chain or multichain | SafeMultiChainSigAccountV1 | v0.9 | Same class works for normal single-chain Safe UserOperations and Safe Unified Account multichain signing. |
| Legacy Safe v0.7 compatibility | SafeAccountV0_3_0 | v0.7 | Use when you need the older Safe 4337 module v0.3.0. |
| Legacy Safe v0.6 compatibility | SafeAccountV0_2_0 | v0.6 | Use only for older Safe 4337 module v0.2.0 integrations or migration paths. |
| EIP-7702 Simple Account | Simple7702AccountV09 | v0.9 | Recommended for new EOA delegation flows. |
| EIP-7702 Simple Account v0.8 | Simple7702Account | v0.8 | Use for legacy integrations and v0.8 to v0.9 migration flows. |
| Standard sponsorship or ERC-20 token gas | Erc7677Paymaster | v0.6-v0.9 | Recommended for new one-shot sponsorship and token-gas integrations. It auto-detects providers such as Candide and Pimlico and handles provider-specific metadata, supported token data, exchange rates, and paymaster addresses internally. |
| Candide paymaster flows | CandidePaymaster | v0.6-v0.9 | Candide-specific client. It also supports one-shot sponsorship, but use it mainly when you need Candide-specific APIs or the v0.9 commit -> sign -> finalize flow that reduces wallet or remote-signer latency. |
Why AbstractionKit
Smart contract wallets are challenging to build. We learned this firsthand while developing Candide Wallet, one of the first Smart Wallets. We wrote smart contracts, conducted audits, built a compliant Bundler, and designed paymaster gas features. Then we realized we had invested more resources in infrastructure than in our actual product—the consumer-facing application. The infrastructure we built wasn't just useful for us; it's what all developers need. We refocused our efforts to create AbstractionKit: an SDK that enables you to build smart account applications in days, not months.
Peak Efficiency
AbstractionKit is engineered for optimal performance by minimizing HTTPS requests to core infrastructure (Node, Bundler, Paymaster). We achieve this by using cryptographic techniques to calculate complex smart account signatures offline. Fewer HTTPS requests reduce your infrastructure costs while delivering a significantly faster user experience. Don't just take our word for it—verify the results yourself by comparing AbstractionKit's performance against other account abstraction libraries in the AA-SDK-Benchmark.
Secure Smart Accounts
AbstractionKit supports Safe Accounts, the battle-tested smart accounts securing billions of dollars in assets across Ethereum and other EVM-compatible chains. We chose Safe for its unparalleled security track record, extensive audits, and widespread community trust, making it the industry standard for secure smart contract wallets.
For EIP-7702 EOA upgrades, AbstractionKit supports Calibur Account (by Uniswap, audited by OpenZeppelin and Cantina) with passkey authentication, multi-key management, and per-key hooks, as well as Simple7702Account for lightweight single-signer upgrades.
Extensible
Each core component—Bundler, Paymaster, and Account—is built as a separate, modular unit, allowing for tailored configurations and extensions. Build custom smart account plugins, integrate social logins through third-party authentication services, or use alternative smart account implementations beyond Safe and Simple Accounts.
Vendor-Agnostic
AbstractionKit strictly adheres to Ethereum Account Abstraction standards, ensuring your product works with Candide's infrastructure and any other compliant provider, including Alchemy, Pimlico, and Etherspot. While Candide is the longest-standing provider in this space, our commitment to open standards means your product's longevity isn't tied to any single vendor. If Candide ceased operations, your application would continue functioning with alternative providers. Candide's Voltaire bundler maintains the highest compliance in the industry, as verified on the ERC-4337 Bundlers website.
Installation
- npm
- yarn
npm i abstractionkit
yarn add abstractionkit
Current SDK version
The docs track AbstractionKit v0.3.8.
Resources
- Source code: github.com/candidelabs/abstractionkit
- Full changelog: github.com/candidelabs/abstractionkit/blob/main/CHANGELOG.md — exhaustive list of every release, including breaking changes and migration snippets. Release highlights also appear in the blog.
- Examples: github.com/candidelabs/abstractionkit-examples
- npm: npmjs.com/package/abstractionkit