Registry / web-framework / aa-bundler-1

aa-bundler-1

JSON →
library0.2.0jsnpmunverified

Reference implementation of an EIP-4337 bundler for account abstraction on Ethereum. Current version 0.2.0, built by eth-infinitism. Supports production and debug RPC calls per bundler-spec-tests. Requires a GETH node with debug_traceCall and JavaScript tracer; does not work with Hardhat or Ganache without --unsafe flag. Includes SDK for creating UserOperations and utility contracts. Designed as modular reference for the EIP-4337 standard. Released as open-source with active maintenance.

npm install aa-bundler-1
INSTALL
IMPORT
SIG · AA-BUNDLER-1
A
aa-bundler-1
web-frameworkjavascriptv0.2.0
Install
Import
Disk
Pass rate
0/ 6
Env Coverage0 / 6
glibc
1822
musl
1822
Install & Compatibility
Where this runs
tested against v? · npm install
Install × environment matrix
Each cell = how many times install + import succeeded across repeated harness runs. Partial = flaky.
glibc = Debian/Ubuntu slim · musl = Alpine Linux
musl
node 18226 runs
build_error
glibc
node 18226 runs
build_error
Code
Verified usage

Verified import paths — ran on the pinned version, not inferred.

BundlerServer
import { BundlerServer } from '@account-abstraction/bundler'
const BundlerServer = require('@account-abstraction/bundler')
Package is ESM only; no CommonJS export
UserOperation
import { UserOperation } from '@account-abstraction/sdk'
import UserOperation from '@account-abstraction/sdk'
Named export, not default
default
import BundlerServer from '@account-abstraction/bundler'
import { default } from '@account-abstraction/bundler'
Package has a default export for BundlerServer, but ESM import syntax differs
InMemoryBundler
import { InMemoryBundler } from '@account-abstraction/bundler'
import { InMemoryBundler } from '@account-abstraction/bundler/dist'
Do not deep import from /dist

Initializes a BundlerServer connected to a local GETH node and starts the HTTP RPC server.

import { BundlerServer } from '@account-abstraction/bundler'; import { JsonRpcProvider } from 'ethers'; const provider = new JsonRpcProvider('http://localhost:8545'); const bundler = new BundlerServer( provider, { entryPoint: '0x0000000071727De22E5E9d8BAf0edAc6f37da032', beneficiary: '0xYourBeneficiaryAddress', unsafe: false, // set true if not using GETH } ); bundler.start().then(() => { console.log('Bundler running on http://localhost:3000/rpc'); });
Debug
Known issues
gotchaBundler requires GETH node with debug_traceCall; Hardhat and Ganache will not work without --unsafe flag
fix
Use a GETH node or pass --unsafe to skip security checks
affects: >=0.1.0
breakingEntryPoint address must be 0x0000000071727De22E5E9d8BAf0edAc6f37da032 for v0.6 contracts
fix
Use correct entry point address for your contract version
affects: >=0.2.0
deprecatedmnemonic file support may be removed in future versions; prefer environment variables
fix
Switch to using MNEMONIC env variable instead of --mnemonic file
affects: >=0.2.0
Errors
Common errors & fixes
Error: unsupported tracer
Running with non-GETH node without --unsafe
fix
Use GETH or add --unsafe flag
TypeError: BundlerServer is not a constructor
Using require() on ESM-only package
fix
Use import { BundlerServer } from '@account-abstraction/bundler'
Error: entry point address mismatch
Wrong EntryPoint contract address
fix
Set entryPoint to 0x0000000071727De22E5E9d8BAf0edAc6f37da032 for v0.6
Upgrade
Version history
0.2.0latest on npm
Audit
Dependencies
ethersrequiredEthereum interaction and contract calls
Agent activity
63 hits · last 30 days
node
54
OpenAI (training)
1
Resources
aa-bundler-1 — npm install aa-bundler-1 · libregistry