Name | Description | Category | Module Type | Compatible SCA Frameworks | Audits/Attestations | Implementations | Notes |
---|---|---|---|---|---|---|---|
Saving Accounts | Ability to configure savings accounts (sub-accounts) with specific ongoing allocations (e.g. 5% of all deposits) and a specific yield-earning strategy | Defi | Plugin/Executor | BiconomyERC-7579KernelSafe | Rhinestone module not yet compatible with Safe, Biconomy, Kernel. | ||
Pull Payment (subscription) | Ability to set up a reoccurring transaction triggered by a merchant | Defi | Plugin/Executor | BiconomyERC-6900ERC-7579KernelModular Account (Alchemy)Safe | Alchemy (implemented with SessionKeyPlugin)
Libree (implemented as stand alone) | ||
Buy Now Pay Later / DeFi Credit | A decentralized credit module that utilizes flash lending from a DeFi protocol of choice | Defi | Plugin/Executor | BiconomyERC-6900ERC-7579KernelModular Account (Alchemy)Safe | Rhinestone (FlashloanLender, FlashloanCallback) | Rhinestone module not yet compatible with Safe, Biconomy, Kernel. | |
Multisig (equal weights) | Threshold signature scheme of M/N where all N signers have equal weight. | General | Validator | ERC-6900Modular Account (Alchemy) | Completed. Link to be updated. | Maple/Alchemy (Link coming soon) | |
Multisig (unequal weights) | Threshold signature scheme of M/N where all N signers can have different weights. | General | Validator | ERC-6900Modular Account (Alchemy) | ERC-6900 ecosystem (Link coming soon) | ||
Multi-owner | ERC-6900Modular Account (Alchemy) | Alchemy (MultiOwnerPlugin) | |||||
DeFi position management | Put in place a stop loss, take profit, or repay triggers to prevent liquidation and maximize returns. | Defi | Plugin/Executor | ||||
Deadman Switch | Set up an inheritance system that transfers the account keys to a dedicated signer if the user does not interact with the account for a specified time period. | General | HookValidator | BiconomyERC-6900ERC-7579KernelModular Account (Alchemy)Safe | KillSwitchValidator has been retired and replaced with the WeightedECDSAValidator. | ||
ColdStorage | Install a hook that prevents certain assets from being traded unless certain high-security measures are met (e.g. 2FA or multi-sig) | Security | HookPlugin/Executor | BiconomyERC-6900ERC-7579KernelModular Account (Alchemy)Safe |
Rhinestone (ColdStorageFlashloan, ColdStorageHook)
Alchemy (different implementation requirements - ColdStoragePlugin, demo) | Rhinestone module not yet compatible with Safe, Biconomy, Kernel. | |
Spending caps | Allow users to set a max transfer per day/week/month unless the module is removed / disabled | Security | HookPlugin/Executor | Alchemy (implemented with SessionKeyPlugin) | |||
MultiFactor | Multi-plex multiple validators together | Validator | BiconomyERC-7579KernelSafe | Rhinestone module not yet compatible with Safe, Biconomy, Kernel. | |||
OwnableValidator | Simple ECDSA validator | Validator | BiconomyERC-6900ERC-7579KernelModular Account (Alchemy)Safe |
Rhinestone
ERC-6900 ecosystem (Link coming soon) | Rhinestone module not yet compatible with Safe, Biconomy, Kernel. | ||
ScheduledOrders | Execute swap orders on a predetermined schedule | General | Plugin/Executor | BiconomyERC-7579KernelSafe | Rhinestone module not yet compatible with Safe, Biconomy, Kernel. | ||
ScheduledTransfers | Execute transfers on a predetermined schedule | General | Plugin/Executor | BiconomyERC-7579KernelSafe | Rhinestone module not yet compatible with Safe, Biconomy, Kernel. | ||
WebauthnValidator | A module used to validated user operations via WebAuthn signature | Security | Validator | BiconomyERC-6900ERC-7579KernelModular Account (Alchemy)Safe |
Kernel (WebAuthnFclValidator)
ERC-6900 ecosystem (Link coming soon) | ||
Burner Factory | Allows users to spin up burner accounts for specific transactions that are remotely controlled from the core account | Security | ERC-6900Modular Account (Alchemy) | ||||
Exploit Detection | A validator module that co-signs transactions if a trusted third-party service (security engine simulating transactions) deems the interaction to be safe | Security | |||||
Timelock | Like https://solidity-by-example.org/app/time-lock/ but in the account | Security | ERC-6900Modular Account (Alchemy) | ERC-6900 ecosystem (Link coming soon) | |||
Whitelist | A dynamic list of protocols/smart contracts that are safe to interact with based on an oracle feeding live data regarding protocol risks and security levels | Security | ERC-6900Modular Account (Alchemy) | ERC-6900 ecosystem (Link coming soon) | |||
Noob Wallets | A dynamic list of protocols/smart contracts that are safe to interact with based on an oracle feeding live data regarding protocol risks and security levels | General | |||||
Timed Unlock | Accounts or assets that unlock in the future or when specific conditions are met | General | |||||
Cross-chain account management | Synchronise account actions across many chains (e.g. for account recovery or module configuration across L2 accounts) | General | |||||
NFT Rental | Allow user to set up an uncollateralised, pure P2P NFT rental with another user | NFT | |||||
P2P NFT Swaps | User can set up a P2P swap of an NFT with a specified address (wallet-native OTC) | NFT | |||||
NFT Gamification | Gamify onchain interactions to “level-up” or evolve an NFT (could utilise token bound accounts — ERC-6551) | NFT | |||||
Stealth Address | validator uses the Stealth address to validate signatures. | Privacy | Validator | BiconomyKernel | https://hackmd.io/@justinzen/HyY5M4tkT | ||
Shielded owners | A set of validator modules that hides the owners of the validators for increased privacy. | Privacy | |||||
zkEmail recovery | Allow users to recover their account via email, without doxxing the email | Privacy | |||||
zkEmail validator | Allow users to create an account, sign transactions, and send tokens via their email but without putting their email onchain | Privacy | |||||
Farcaster Frame | Allow user to interact and create executions on their account from a Farcaster Frame. | Social | |||||
Extended validation hooks | A set of hooks that perform extended validation that is not possible during the ERC-4337 validation phase due to the spec restrictions. | Security | Hook | ||||
Multichain ECDSA Validator | Allows use cases which require several actions to be authorized for several chains with just one signature required from user. | General | Validator | Biconomy | Biconomy (MultichainECDSAValidator) |
Leverages Merkle Trees to efficiently manage large datasets
Inherits from the ECDSA Ownership Registry Module Compatible with Biconomy Modular Interface v 0.1 Does not introduce any additional security trade-offs compared to the vanilla ERC-4337 flow. | |
SessionKey Validator | Performs basic verifications for every session key signed userOp. Checks if the session key has been enabled, that it is not due and has not yet expired. | Security | Validator | BiconomyERC-6900ERC-7579KernelModular Account (Alchemy)Safe |
Rhinestone (SessionKeyBase) — compatible with all 4 SCA frameworks
Biconomy (SessionKeyManagerModule) — compatible with Biconomy SCA framework Kernel (SessionKeyValidator) — compatible with Kernel framework Kernel (ERC165SessionKeyValidator) — compatible with Kernel framework Rolla — Kernel (SessionKeyOwnedValidator) Alchemy (SessionKeyPlugin) |
Check if the description is correct wrt. to the Rhinestone/Kernel implementation.
The current description is for the Biconomy implementation. Also, see if the module type is specified correctly. | |
Passkey Validation | validates user operations signed by passkeys | Security | Validator | BiconomyERC-6900Modular Account (Alchemy) |
Biconomy (PasskeyRegistryModule)
ERC-6900 ecosystem (Link coming soon)
|
Compatible with Biconomy Modular Interface v 0.2
It allows to validate user operations signed by passkeys.
One owner per Smart Account. For Smart Contract Owners check SmartContractOwnership module instead
| |
Smart Contract Ownership Authorization | validates user operations signed by other smart contracts via EIP-1271. | Security | Validator | Biconomy | Biconomy (SmartContractOwnershipRegistryModule) |
This module doesn't follow the Storage Access Rules set by ERC-4337
Thus it will not be compatible with the standard bundlers. You can still use it in private environments or with custom bundlers which have less restrictions than ones participating in the unified userOps mempool. | |
ERC20 Session Validation | validates userOps for ERC20 transfers and approvals using a session key signature. | Security | Validator | Biconomy | Biconomy (ERC20SessionValidationModule) |
Recommended to use with standard ERC20 tokens only
Can be used with any method of any contract which implement method(address, uint256) interface | |
ECDSA ownership Authorization | allows to validate user operations signed by EOA private key. | Security | Validator | BiconomyKernel |
Biconomy (EcdsaEthSignSupportOwnershipRegistryModule) — supports eth_sign flow
Biconomy (EcdsaOwnershipRegistryModule) — does not support outdated eth_sign flow for cheaper validations Kernel (ECDSATypedValidator) Kernel (ECDSAValidator) Kernel (WeightedECDSAValidator) |
Compatible with Biconomy Modular Interface v 0.1
It allows to validate user operations signed by EOA private key. EIP-1271 compatible (ensures Smart Account can validate signed messages). One owner per Smart Account. Only EOA owners supported, no Smart Account Owners For Smart Contract Owners check SmartContractOwnership module instead | |
Multiple Owner ECDSA Validator | ECDSA validator for wallets with more than one owner. | Security | Validator | Etherspot | Etherspot (MultipleOwnerECDSAValidator) | ||
Permission Management Validator | validator that allows to register and revoke permissions | Security | Validator | Kernel | Kernel (ModularPermissionValidator) | ||
2FA Validator | Security | Validator | Kernel | MoonChute — Kernel (TwofaValidator) | |||
2FA Hook | Security | Hook | Soul Wallet | Soul Wallet (Crypto2FAHook) | |||
BLS Validator | a validator that uses BLS signatures to validate transactions. | Security | Validator | Kernel | WAX — Kernel (BLSValidator) | ||
Safe BLS Module | General | Safe Module | Safe | WAX — Safe (SafeBlsPlugin) | |||
Safe Aadhaar Module | A plugin allows the owner of the Aadhaar card, a biometric identity card issued by the Indian government, to control 4337 wallets via the Safe plugin. | General | Safe Module | Safe | WAX — Safe (SafeAnonAadhaarPlugin) | ||
Safe Compression Module | General | Safe Module | Safe | WAX — Safe (SafeCompressionPlugin) | |||
Safe ECDSA Module | General | Safe Module | Safe | WAX — Safe (SafeECDSAPlugin) | |||
Safe ECDSA Recovery Module | General | Safe Module | Safe | WAX — Safe (SafeECDSARecoveryPlugin) | |||
Safe WebAuthn Module | General | Safe Module | Safe | WAX — Safe (SafeWebAuthnPlugin) | Recommended to use a more efficient verifier, see more details here | ||
Safe ZKP Password Module | General | Safe Module | Safe | WAX — Safe (SafeZKPPasswordPlugin) | Mocked circuit, not fully implemented | ||
Safe ZkEmail Recovery Module | General | Safe Module | ERC-6900ERC-7579SafeSimpleAccount | Mocked circuit, not fully implemented | |||
Safe 4337 Module | General | Safe Module | Safe | Safe Global (Safe4337Module) | |||
Allowance Module | General | Safe Module | Safe | Safe Global (AllowanceModule) | |||
WebAuthn Signer Module | General | Signature Validator (Safe) | Safe | Safe Global (WebAuthnSigner) | |||
Zodiac Bridge Module | This module allows an address on one chain to control an avatar on another chain using an Arbitrary Message Bridge (AMB). This enables a DAO on one chain to control assets and interact with systems like a Safe on a different chain. | General | Safe Module | Safe | Gnosis Guild (AMBModule) | ||
Zodiac Exit Module | This module allows users to redeem a designated token for a relative share of an avatar's assets, similar to MolochDAO's infamous rageQuit() function. | General | Safe Module | Safe | Gnosis Guild (ExitERC20Module, ExitERC721Module) | ||
Zodiac OZ Governor Module | An opinionated implementation of <a href="https://docs.openzeppelin.com/contracts/4.x/api/governance" target="_blank">OpenZeppelin's Governor contracts</a> designed to be used in a Zodiac-style setup, allowing a Avatar (like a Safe) to controlled by on-chain governance similar to <a href="https://compound.finance/docs/governance" target="_blank">Compound's Governor Alpha and Bravo</a>. | General | Safe Module | Safe | Gnosis Guild (OZGovernorModule) | ||
Optimistic Governor Module | This module allows on-chain executions based on Snapshot proposal results. The module utilizes UMA's optimistic oracle to govern a Safe based on a set of rules defined off-chain. | General | Safe Module | Safe | Outcome Finance (OptimisticGovernor) | ||
Zodiac Reality Module | This module allows on-chain execution based on the outcome of events reported by Reality.eth. While built initially to execute Safe transactions according to Snapshot proposals, this module is framework agnostic. It can enable proposal execution from just about anywhere. For example, it can bring Discord polls on-chain. | General | Safe Module | Safe | Gnosis Guild (RealityModuleETH, RealityModuleERC20) | ||
Safe Minion | This module allows Moloch DAOs to manage the assets in a Safe based on the outcome of v2 Moloch DAO proposals. Safe Minion enables Moloch DAOs to manage collections of NFTs, manage LP positions with AMMs, and initiate any other arbitrary interactions. It enables DAOs that start as a Safe to later delegate governance to a Moloch DAO. | General | Safe Module | Safe | DAOHaus (SafeMinion) | ||
Baal | Baal is a governance layer that sits on top of a multisig treasury. It uses the https://github.com/gnosis/zodiac standards to interface with the treasury. | General | Safe Module | Safe | DAOHaus (Baal) | ||
Zodiac Tellor Module | This module allows on-chain executions based on Snapshot proposal results, it uses the Tellor oracle to retrieve the data in a secure and decentralized manner. | General | Safe Module | Safe | Tellor (TellorModule) | ||
Usul Zodiac Module | This module allows avatars to operate with trustless tokenized DeGov, similar to Compound or Gitcoin, with a time-boxed proposal core that can register swappable voting contracts. This enables DAOs to choose from various on-chain voting methods that best suit their needs. | General | Safe Module | Safe | SekerDAO (Usul) | ||
Zodiac Delay Modifier | This modifier allows avatars to enforce a time delay between when a module initiates a transaction and when it will be executed by an avatar. | General | Safe Modifier | Safe | Gnosis Guild (Delay) | ||
Zodiac Roles Modifier | This modifier allows for fine-grained, role-based, access control for enabled modules. Scopes for a given role include allowed addresses, and optionally include allowed functions on allowed addresses, allowed parameters on allowed functions, whether or not delegate calls are allowed to an allowed address, and whether or not value (ETH) can be sent to an allowed address. | General | Safe Modifier | Safe | Gnosis Guild (Roles) | ||
Meta Guard | This guard allows an avatar to have multiple checking processes by registering multiple guards to this meta guard. | General | Safe Guard | Safe | Cardstack (MetaGuard) | ||
Zodiac Scope Guard | This guard allows an avatar to limit the scope of the addressable functions with which its owners can interact. This enables the avatar to define granular permissions for different control mechanisms. | General | Safe Guard | Safe | Gnosis Guild (ScopeGuard) | ||
Zodiac Connext Module | This module allows an Avatar to be the target of any arbitrary function call originiating from a Gnosis Safe on another domain (chain or rollup) using <a href="https://www.connext.network/" target="_blank">Connext</a>. | General | Safe Module | Safe | Gnosis Guild (ConnextModule) | ||
Zodiac Siphon Module | This module exposes a public interface which allows anyone to trigger an Avatar to withdraw from a designated liquidity position in order to pay down some of its debt in a designated debt position, thereby improving the health of the positio | General | Safe Module | Safe | Gnosis Guild (Siphon) | ||
Zodiac Access Card Module | The Zodiac Access Card module grants the holder of a given NFT unilateral control of an avatar (probably a Safe). The module is compatible with any ERC721 or ERC1155 token, allowing any NFT to be used as an access card for a safe. | General | Safe Module | Safe | Gnosis Guild (ERC721AccessCardModule, ERC1155AccessCardModule) | ||
Zodiac Mod Guard | A guard that prevents the contract its guarding from disabling protected modules. | General | Safe Guard | Safe | Gnosis Guild (ModGuard) | ||
Zodiac Nomad Module | This module allows an account on one network to control a avatar (<a href="https://safe.global/" target="_blank">Gnosis Safe</a>) on any other network where there is a suitable <a href="https://www.nomad.xyz/" target="_blank">Nomad</a> bridge. | General | Safe Module | Safe | Gnosis Guild (NomadModule) | ||
Zodiac Revert Modifier | A Zodiac modifier that executes from avatar, and enforces revert on internal transaction failure | General | Safe Modifier | Safe | Gnosis Guild (Revert) | ||
Debug Transaction Guard | Emits transaction events with extended information. | General | Safe Guard | Safe | Safe Global (DebugTransactionGuard) | This guard is only meant as a development tool and example. | |
DelegateCall Transaction Guard | Limits delegate calls to a specific target. | General | Safe Guard | Safe | Safe Global (DelegateCallTransactionGuard) | This guard is only meant as an example. | |
Only Owners Guard | Only allows owners to execute transactions. | General | Safe Guard | Safe | Safe Global (OnlyOwnersGuard) | This guard is only meant as an example. | |
Reentrancy Transaction Guard | Prevents reentrancy into the transaction execution function. | General | Safe Guard | Safe | Safe Global (ReentrancyTransactionGuard) | This guard is only meant as an example. | |
FlashLoans Module | A simple Module allowing anyone to execute Flashloans using the safe. | Defi | Safe Module | Safe | Dialectic (FlashloanModule) | WIP. Do not use in production. | |
Vesting Module | Allows to transfer limited amounts of ERC20 tokens and Ether without confirmations. | General | Safe Module | Safe | Phala Network (VestingModule) | ||
Gelato Safe Module | A module to automate transactions for Gnosis Safe's | General | Safe Module | Safe | Gelato (GelatoSafeModule) | This code is currently unaudited, please don't use this in production. | |
Revoke Safe Module | A Gnosis Safe Module to delegate to an another account to revoke on your behalf token allowances for an exploited address. | General | Safe Module | Safe | Emiliano Bonassi (RevokeModule) | This is a PoC and not audited. Experiment at your own risk. | |
zk Connect Safe Module | Use your Gnosis Safe with your web2 credentials via Sismo zkConnect SSO | General | Safe Module | Safe | Emiliano Bonassi (zkConnectModule) | ||
BICO Safe Module | Gnosis safe module for claiming vested BICO tokens, and staking from a safe. | General | Safe Module | Safe | Aaron Abu Usama (BicoSafeModule) | ||
Check Mate Multi Guard | Check Mate allows to compose and setup a suite of multiple on-chain transaction checks in your smart contract account using a guard that will allow enabling multiple Safe Guards. | General | Safe Guard | Safe | Germán Martínez (MultiGuard) | This guard is only meant as a development tool and example | |
CookieJar | CookieJar is a module for a DAO (Decentralized Autonomous Organization) or similar type of organization, that allows certain members to make claims (potentially for funds or other assets) at certain intervals. | DAO, General | Safe Module | Safe | bitbeckers (CookieJar) | ||
Safe Panic (Emergency) Modules | By enabling our Safe Panic Modules on your Safe, you are able to perform emergency actions on your multisig without needing all signers to sign off on it. | Security | Safe Module | Safe | |||
Token Withdrawal Module | A Safe Module, which allows accounts that are not related to the Safe, to withdraw a predetermined amount of a specific token. | Security | Safe Module | Safe | Yevgeniy (TokenWithdrawalModule) | ||
CowDumper | Whitelist your shitcoins on this Safe module, so that as soon as they are received by your Safe they will automatically be sent straight to CoW Swap in return for a predefined ERC20 of your choice. | Defi | Safe Module | Safe | Onchainification Labs (CowDungerModule) | ||
X-Safe: Cross-Chain Gnosis Safe Multi-Sig Optimization | X-Safe aims to optimize the Gnosis Safe multi-sig framework for multi-chain transactions. It simplifies identical administrative functions on multiple blockchains by enabling single signature propagation and transaction broadcasting. | DAO, General | Safe Module | Safe | Adam Cuculich (God) | ||
Recovery with Delay | A contract compatible with Safe{Core} Protocol that replaces a specified owner for a Safe by a non-owner account. | General | Safe Module | Safe | Akshay Patel (RecoveryWithDelayPlugin) | ||
Intent Safe Module | Module functionalities: - pay fees to the settlement contract for ATO execution - get quote for ATO payment - emit fee payment event | General | Safe Module | Safe | Banana Wallet (IntentSafePlugin) | ||
Game Session Key Module | Allows a Module to execute a Safe transaction without any further confirmations. | General | Safe Module | Safe | itublockchain (Safe4337SessionKeyModule) | ||
PaySplit | Split payments between employees and employers on Safe{Protocol} accounts | General | Safe Module | Safe | Ilya Savitsky (SplitPayPlugin) | ||
Recurring Execution | Recurring Execute Module - Allows an owner to create arbitrary execution that can be executed by anyone on a recurring basis | General | Safe Module | Safe | Unhosted-Wallet (RecurringExecuteModule) | ||
Social Recovery Module | Recovers the account using signatures from friends or family members | Security |
Clave Wallet (SocialRecoveryModule)
CANDIDE Labs (SocialRecoveryModule) True Wallet (SocialRecoveryModule) | ||||
Cloud Recovery Module | Recovers the account using a key stored in iCloud or similar | Security | Clave Wallet (CloudRecoveryModule) | This is no longer used by the Clave wallet in favour of the Clave’s Social Recovery Module. | |||
Key Store Module | The KeyStoreModule integrates with wallets to manage signing keys using L1 keystore data. | General | Module (Soul Wallet) | Soul Wallet | Soul Wallet (KeyStoreModule) |
Upon wallet creation, it checks if the keystore has been synced. If so, the wallet's signing key is set to the keystore's signing key. Otherwise, it uses the initial signing key specified during creation.
The module also offers functionality to sync the wallet's signing key with the latest from the L1 keystore via the syncL1Keystore method. This ensures wallet signing keys can be dynamically updated to reflect changes in the keystore | |
Security Control Module | The SecurityControlModule is a default security module integrated into SoulWallet, designed to enhance security through a time-lock mechanism for managing module/hook/validator additions. | General | Module (Soul Wallet) | Soul Wallet | This setup ensures that non-whitelist modules undergo a mandatory waiting period before integration, providing an additional layer of security against potential threats.
But modules added to the SecurityControlModule whitelist can be immediately activated without waiting for the time-lock period. | ||
Upgrade Module (Soul) | The UpgradeModule is responsible for upgrading the logic contract of SoulWallet. | General | Module (Soul Wallet) | Soul Wallet | Soul Wallet (UpgradeModule) | ||
Upgrade Module (Argent) | Temporary module used to add/remove other modules. | General | Module (Argent) | Argent | Argent (SimpleUpgrader) | ||
Account Recovery (Social Recovery) | The design of the Biconomy Account Recovery Module is highly inspired by Vitalik’s article. Enabling Account Recovery for the Smart Account means compromising on trustlessness and introducing additional risk which is an inevitable trade-off of enabling an opportunity to change a key that controls the Smart Account. | Security | Plugin/ExecutorValidator | Biconomy | |||
Gasless transactions (Safe) | General | Safe Module | Safe | Safe (RelayPlugin) | |||
Gasless transactions (Argent) | Abstract Module to execute transactions signed by ETH-less accounts and sent by a relayer. | General | Module (Argent) | Argent | Argent (RelayerManager) | ||
Security Manager (Argent) | Abstract module implementing the key security features of the wallet: guardians, lock and recovery. | Security | Module (Argent) | Argent | Argent (SecurityManager) | ||
Transaction Manager (Argent) | Module to execute transactions in sequence to e.g. transfer tokens (ETH, ERC20, ERC721, ERC1155) or call third-party contracts. | General | Module (Argent) | Argent | Argent (TransactionManager) | ||
Module Isolation Hook | Stops Modules from being able to install/uninstall each other | Security | Hook | Etherspot | Etherspot (ModuleIsolationHook) | ||
Timelocked Recovery (Ambire) | Allows an account to be recovered after a given period of time | Security | Validator | Ambire | Ambire (Timelocked Recovery) | ||
DKIM Recovery (Ambire) | Allows an account to be recovered by email using DKIM signatures | Security | Validator | Ambire | Ambire (DKIM Recovery) | The DKIM Recovery won a grant from the Ethereum Foundation |