Hi everyone! ![]()
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:
- Install a module (wait for confirmation)
- 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:
Magic Nonce: 0x01 prefix in user operation nonce triggers enable mode
EIP-712 Auth: Secure module installation via typed signatures
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:
- Detect
0x01nonce prefix - Decode structured signature
- Validate EIP-712 installation signature
- Install module during validation phase
- Continue normal user operation validation