Smart Account Module Uninstaller
Free to download on every platform. Comes pre-installed on BotFone, BotPad and BotFlip — with extra free apps included.
About this app
WHAT IT DOES
The Smart Account Module Uninstaller enables users to remove modules from smart accounts in a safe, batched transaction. It reads smart account state including user address, wallet balance, account owner addresses, module addresses, module execution permissions, and module dependencies. The tool fetches the installed modules list and checks uninstall eligibility before proceeding. It supports uninstallModule for single module removal, batchUninstallModules for removing multiple modules at once, and uninstallWithCleanup for modules requiring cleanup logic before removal. The tool reads module version, module type, account lock state, gas price, block timestamp, chain ID, transaction nonce, and approval state to ensure proper execution.
HOW TO USE
Connect your wallet, select the target network, and enter the smart account address. List the module addresses to uninstall (one per line). Optionally provide cleanup data if your account supports uninstallWithCleanup. The tool will fetch the account's current state, including installed modules, owners, and balance. It validates that you are the account owner and that the specified modules are installed before proceeding. Once confirmed, it submits the appropriate uninstall transaction—uninstallModule for single modules, batchUninstallModules for multiple, or uninstallWithCleanup for modules requiring cleanup data. The tool also checks account lock state to ensure modules can be modified.
TECHNICAL MECHANISM
Unlike generic module management tools, this uninstaller is purpose-built for smart account security. It first reads the account's owner(s) using getOwners() and verifies the caller is authorized. The tool then queries installed modules via getModules() and validates that each specified module is actually installed using isModuleInstalled() before attempting removal. This prevents failed transactions due to non-existent modules. For batch removals, it uses batchUninstallModules() to remove multiple modules in a single transaction, reducing gas costs and avoiding nonce conflicts. The tool also checks for cleanup data requirements and selects uninstallWithCleanup() when needed, executing post-removal logic defined by the module. Account balance is checked to ensure sufficient funds for gas, and the tool displays the effective gas cost using receipt.effectiveGasPrice for accurate post-EIP-1559 fee accounting. The tool also reads module execution permissions to warn about potential impacts before removal.
WHAT IT CANNOT SEE
This tool cannot verify that uninstalling a module is safe or that it won't break account functionality. It cannot detect module dependencies that may cause cascading failures, nor can it verify that the module is not actively executing critical operations. It also cannot guarantee that the account will remain operational after uninstallation. The tool cannot detect if other modules depend on the module being removed, or if the module is currently processing transactions that could be disrupted. It also cannot verify that cleanup data is correct or sufficient.
PLEASE NOTE
This tool supports EVM-compatible chains. Uninstalling modules is irreversible—verify the module addresses carefully before signing. The caller must be the account owner or have sufficient permissions as defined by the account's authorization model. Some modules may have forced removal restrictions or require cleanup data. Uninstalling critical modules (e.g., execution, validation) may lock the account. Always test with simulation if available. This tool does not handle module installation—for that, use the Smart Account Module Installer.