Advanced

Account Abstraction (ERC-4337) — Why this matters

Build smart wallets.

Developer Advanced
3/8 — Account Abstraction (ERC-4337) — Why this matters

UX leapAA brings programmable keys, session keys, batched calls, and sponsored gas—unlocking consumer-grade wallets.

Bitcoin seems to be a very promising idea. I like the idea of basing security on the assumption that the CPU power of honest participants outweighs that of the attacker.
— Hal Finney
If UX is king, AA is the castle it lives in.
— AA design mantra

New risksCentralized bundlers, malicious paymasters, and replayed userOps can drain users if validation is weak.

// Example: enforce trusted entry point so rogue bundlers can't bypass rules
function _onlyEntryPoint() internal view {
    require(msg.sender == address(entryPoint), "untrusted bundler/ep");
}

Bundler/entry point checks belong in every hook so centralized relayers can’t sneak calls around validation.

← Previous section
Next section →