The Ethereum ERC ↔ LSP matrix.
One row per ERC. The LSP column shows what the standard would look like if it were designed instead of layered on Ethereum. The verdict is one line. Click through for the comparison page when you want the spec diff.
- ERC-20 fungible token LSP·7 native receiver hooks, operator + LSP6 account permissions
- ERC-721 identifiable NFT LSP·8 bytes32 IDs, LSP4 metadata, ERC-725Y per-token data
- ERC-1155 multi-asset contract LSP·7+8 semantic boundary in the standard, not in token-id bits
- ERC-165 interface detection (kept) LSPs publish ERC-165 interface IDs — no replacement needed
- ERC-725 key-value store (substrate) the ERC-725Y data store is the foundation of LSP metadata
- ERC-777 token hooks LSP·7+1 LSP1 universal receiver, no reentrancy-prone tokensReceived
- ERC-1271 smart-account signature LSP·0 same isValidSignature shape, account is the canonical signer
- ERC-1363 transferAndCall LSP·7+1 transfer + receiver hook is the default, not a wrapper
- ERC-2535 diamond proxy LSP·17 fallback router by selector, no upgrade authority needed
- ERC-2612 permit (gasless approve) LSP·6+25 authorization at the account, not per-token signatures
- ERC-4337 account abstraction LSP·0+6+20+25 no bundler, no EntryPoint — the account is the entry point
- ERC-4906 metadata update event LSP·4+725Y metadata is typed key-value, not an event saying "go refetch"
- ERC-6551 token-bound accounts LSP·0 a Universal Profile is already a contract account
- ERC-7702 EOA delegation LSP·0 profile is a permanent contract account — no per-tx delegation
- EOA externally owned account LSP·0+3+6 account + metadata + controllers as one user-owned object