ERC-4337 defined the entry point for account abstraction. But smart accounts vary wildly in their internal design: what modules they support, how permissions work, whether hooks fire on every action. ERC-6900 is the standard for making that internal architecture modular and interoperable.
The idea
A modular smart account exposes standard hooks:
preExecutionHook. Runs before any tx.postExecutionHook. Runs after.validationFunction. Custom signature validation (passkeys, MPC, biometric).
Plugins (modules) implement these hooks. Install a plugin to add a feature. Remove it to disable. Standardized so any plugin from any vendor works in any 6900-compliant account.
Use cases
- Session keys with expiry. Install a plugin that lets a game contract execute your moves for 24 hours.
- Recovery. Install a social recovery plugin.
- Rate limits. Install a plugin that caps daily spend at $100.
- Multi-sig thresholds. Add signers dynamically without redeploying the account.
Vendor coordination
Alchemy, Circle, ZeroDev, Biconomy, and Trust Wallet all support 6900. This means a plugin built for one wallet works everywhere.
Where it fits
- Wallet builders who want to differentiate on features without rebuilding the account.
- DApp developers who want to ship account extensions users can install.
- Institutional wallets requiring custom risk rules.
Trade-off
- More gas overhead vs plain 4337.
- Each installed plugin is code that must be trusted.
- Complex permission bugs are possible if plugins interact badly.
Koinlytics