Common Configs

A reference guide to preset AccountOpts for common implementations in the ERC-4337 ecosystem.

Configuring Account Options from scratch allows for maximum interoperability and enables userop.js to be compatible with any ERC-4337 compliant component. However, the ecosystem also has many Smart Account configurations that are commonly used by many independent developers. In such cases, we compile them into the Common module for easy reusability.

SimpleAccount

The SimpleAccount implementation was developed alongside the canonical EntryPoint contract by the Ethereum Foundation. A deployed SimpleAccount has an EOA owner and contains methods for executing arbitrary callData either individually or in a batch.

const account = new V06.Account.Instance({
  ...V06.Account.Common.SimpleAccount.base(
    viemPublicClient, // or ethers.js JsonRpcProvider
    viemWalletClient, // or ethers.js Signer
  ),
}),