ERC-8043: Enable Mode for module installation in ERC-7579 Smart Accounts

Hi everyone! :wave:

I’m excited to share ERC-8043, a new standard that solves a major UX friction in ERC-7579 smart accounts.

The Problem

Current ERC-7579 implementations require two separate transactions for module installation and usage. Users must:

  1. Install a module (wait for confirmation)
  2. Use the module in another transaction

This creates poor UX, especially for session keys and spending limits.

ERC-8043 introduces “Enable Mode” to install and use modules in a single user operation by installing the module during the validation phase of the user operation

How it works:

:wrench: Magic Nonce: 0x01 prefix in user operation nonce triggers enable mode
:closed_lock_with_key: EIP-712 Auth: Secure module installation via typed signatures
:package: Structured Encoding: Clean separation of installation and validation data

// Signature format
abi.encode(
    uint256 moduleTypeId,
    address module,
    bytes initData,
    bytes installationSignature,  // EIP-712 
    bytes userOpSignature        // Normal validation
)

Validation Flow:

  1. Detect 0x01 nonce prefix
  2. Decode structured signature
  3. Validate EIP-712 installation signature
  4. Install module during validation phase
  5. Continue normal user operation validation

https://github.com/ethereum/ERCs/pull/1253