A TypeScript library for using Smart Account Modules in Applications

Use the ModuleSDK to integrate smart account modules into your application. It allows you to easily install and uninstall modules for any ERC-7579 (opens in a new tab) account, interact with and use modules using dedicated helper utilites and can be used alongside existing account SDKs such as permissionless.js (opens in a new tab), Biconomy (opens in a new tab), ZeroDev (opens in a new tab) and many more.

The Module SDK is split into two components:

  • Accounts - Account-related helpers, like installing and uninstalling modules
  • Modules - Integrated core modules with helpers for their installation and usage
Module SDK banner

Current accounts supported by the Module SDK include:

  • Safe
  • Kernel v3
  • Biconomy v3 (soon)

The integrated modules include:

  • Auto Savings: Automatically allocate a set percentage of any incoming token to a target vault
  • ColdStorage Hook: Restrict all transactions with a timelock and only allow funds to be sent to a single address
  • Deadman Switch: Recover an account after a specified inactive period
  • Hook Multiplexer: Combine multiple hooks into one with fine-grained control over when they are called
  • Multi Factor: Use multiple validators in combination as a multi-factor authentication system
  • Ownable Executor: Allow an account to control a subaccount and pay for its transaction fees
  • Ownable Validator: Authenticate on your account with multiple ECDSA keys
  • Registry Hook: Query the Module Registry before installing and using modules
  • Scheduled Orders: Execute swaps on a specified schedule
  • Scheduled Transfers: Transfer funds on a specified schedule
  • Social Recovery: Recover your account using a set of guardians
  • WebAuthn Validator: Use passkeys to sign transactions to be executed on the account

Useful starting resources on higher-level concepts