Overview
ModuleKit is a development kit for building, testing, and deploying smart account modules. ModuleKit makes the developer's life as simple as possible by removing the need for deep knowledge of ERC-4337, smart accounts, and the different implementations of smart accounts that exist today (e.g. Safe, Biconomy, and ZeroDev). ModuleKit also provides a library of tools, templates, and integrations that supercharge development, allowing developers to unlock the full potential of smart accounts. Within this toolkit, there are five key abstraction layers:
- Standardized interfaces and templates: These ensure that your module is compatible with all the major account implementations and that it's extremely easy to get started.
- Third-party integrations: ModuleKit has a library of integrations (opens in a new tab) and pre-built conditions for execution to make building powerful modules seamless.
- Testing frameworks: An out-of-the-box testing setup with in-build unit and integration tests. This allows developers to easily test modules against different account implementations and abstracts away the complexities of the entire ERC-4337 flow.
- Helper utilities: Various utilities to improve the developer experience, such as calculating gas consumption (including on L2s) and validataing that a module conforms to the ERC-4337 rules.
- Security automation: These tools parse your module code and flag security vulnerabilities to be resolved before moving to a manual audit.
Current module types supported by ModuleKit include:
Validators
Determine whether a transaction is valid and should be executed
ExecutorsCreate executions on the account with custom logic
HooksEnforce conditions or execute logic pre- or post-execution
FallbacksExtend the account logic to add more functionality into the account
Current accounts supported by ModuleKit include:
- ERC-7579 (opens in a new tab)
- Safe
- Biconomy (v3) (soon)
- Kernel (v3) (soon)
Useful starting resources
- Blog: Introducing ModuleKit (opens in a new tab)
- Blog: ModuleKit deep dive (opens in a new tab)
- Modulekit-examples repo (opens in a new tab)
- List of open-source modules and resources: awesome-modular-accounts repo (opens in a new tab)