decision page · share this one

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.

  1. ERC-20 fungible token LSP7 native receiver hooks, operator + LSP6 account permissions
  2. ERC-721 identifiable NFT LSP8 bytes32 IDs, LSP4 metadata, ERC-725Y per-token data
  3. ERC-1155 multi-asset contract LSP7+LSP8 semantic boundary in the standard, not in token-id bits
  4. ERC-165 interface detection (kept) LSPs publish ERC-165 interface IDs — no replacement needed
  5. ERC-725 key-value store (substrate) the ERC-725Y data store is the foundation of LSP metadata
  6. ERC-777 token hooks LSP7+LSP1 LSP1 universal receiver, no reentrancy-prone tokensReceived
  7. ERC-1271 smart-account signature LSP0 same isValidSignature shape, account is the canonical signer
  8. ERC-1363 transferAndCall LSP7+LSP1 transfer + receiver hook is the default, not a wrapper
  9. ERC-2535 diamond proxy LSP17 fallback router by selector, no upgrade authority needed
  10. ERC-2612 permit (gasless approve) LSP6+LSP25 authorization at the account, not per-token signatures
  11. ERC-4626 tokenized vault (complement) keep vault accounting, improve permissions/metadata/relay around it
  12. ERC-4337 account abstraction LSP0+LSP6+LSP20+LSP25 no bundler, no EntryPoint — the account is the entry point
  13. ERC-4906 metadata update event LSP4+ERC-725Y metadata is typed key-value, not an event saying "go refetch"
  14. ERC-6551 token-bound accounts LSP0 a Universal Profile is already a contract account
  15. EIP-7702 EOA delegation LSP0 profile is a permanent contract account — no per-tx delegation
  16. EOA externally owned account LSP0+LSP3+LSP6 account + metadata + controllers as one user-owned object