Skip to content

Latest commit

 

History

History
122 lines (102 loc) · 17.3 KB

File metadata and controls

122 lines (102 loc) · 17.3 KB

Wallet-Relevant EIPs And ERCs

This is Deckard's implementation-oriented shortlist, curated from the canonical ethereum/EIPs and ethereum/ERCs repositories.

Keep rules:

  • Keep Final EIPs.
  • Keep Final ERCs that appear in ethereum/EIPs as moved ERC stubs.
  • Keep a small number of Stagnant Interface EIPs only when they are de facto wallet/dapp APIs already expected by the ecosystem.
  • Drop Draft, Withdrawn, Last Call, purely historical, and not-yet-actionable specs from the implementation tables.

Implementation importance is rated for a desktop self-custodial Ethereum wallet whose dapp communication surface is a browser extension. Critical means the extension bridge or transaction/signing core should support it directly. High means expected for a competitive production wallet. Medium means useful or ecosystem-dependent. Low means optional.

Provider, RPC, Permissions, And Dapp Connection

EIP Title Status / Category Canonical spec Implementation importance Wallet relevance
695 Create eth_chainId method for JSON-RPC Final / Interface EIP-695 Critical Standard chain identity RPC used for signing, display, and chain switching.
1102 Opt-in account exposure De facto / Interface (Stagnant) EIP-1102 Critical Defines the eth_requestAccounts consent-before-account-exposure flow used by browser wallets.
1193 Ethereum Provider JavaScript API Final / Interface EIP-1193 Critical Core injected provider API: request, provider errors, account/chain events, and connectivity.
1474 Remote procedure call specification De facto / Interface (Stagnant) EIP-1474 Critical Baseline Ethereum JSON-RPC method, quantity, and error conventions.
2255 Wallet Permissions System Final / Interface EIP-2255 High Defines wallet_getPermissions and wallet_requestPermissions for restricted wallet methods.
2696 JavaScript request method RPC transport Final / Interface EIP-2696 Critical Specifies the JS request({ method, params }) provider transport shape.
2700 JavaScript Provider Event Emitter Final / Interface EIP-2700 Critical Specifies provider on and removeListener event behavior.
3085 wallet_addEthereumChain RPC Method De facto / Interface (Stagnant) EIP-3085 High Dapp-requested chain addition with chain metadata and RPC URL validation.
3326 Wallet Switch Ethereum Chain RPC Method De facto / Interface (Stagnant) EIP-3326 High Defines wallet_switchEthereumChain for changing the wallet active chain.
5749 The window.evmproviders object Final / Interface EIP-5749 Low Alternate multi-provider injection model; lower priority than EIP-6963.
5792 Wallet Call API Final / Interface EIP-5792 High Defines wallet_sendCalls, call status, call display, and wallet capabilities.
6963 Multi Injected Provider Discovery Final / Interface EIP-6963 Critical Current browser discovery mechanism for multiple injected EIP-1193 providers.

Signing, Transactions, Fees, And Status

EIP/ERC Title Status / Category Canonical spec Implementation importance Wallet relevance
2 Homestead Hard-fork Changes Final / Core EIP-2 Critical Requires low-s transaction signatures; signing code must enforce this.
155 Simple replay attack protection Final / Core EIP-155 Critical Defines chain-ID replay protection and legacy transaction v rules.
191 Signed Data Standard Final / ERC ERC-191 High Signed-data envelope used by message signing and validator-intended signatures.
658 Embedding transaction status code in receipts Final / Core EIP-658 High Defines transaction receipt success/failure status semantics for UI.
712 Typed structured data hashing and signing Final / Interface EIP-712 Critical Defines typed-data hashing, domains, and eth_signTypedData.
1271 Standard Signature Validation Method for Contracts Final / ERC ERC-1271 High Standard signature validation path for smart contract wallets.
1559 Fee market change for ETH 1.0 chain Final / Core EIP-1559 Critical Defines type 0x02 transactions and max fee / priority fee fields.
2098 Compact Signature Representation Final / ERC ERC-2098 Medium Compact ECDSA signature format wallets may parse or emit.
2681 Limit account nonce to 2^64-1 Final / Core EIP-2681 Medium Bounds valid account nonces for transaction validation.
2718 Typed Transaction Envelope Final / Core EIP-2718 Critical Base envelope for typed transaction formats and receipts.
2930 Optional access lists Final / Core EIP-2930 High Defines type 0x01 access-list transactions and signing payloads.
3607 Reject transactions from senders with deployed code Final / Core EIP-3607 Medium Wallets should surface or prevent invalid transactions from code-bearing senders.
4844 Shard Blob Transactions Final / Core EIP-4844 Medium Defines type 0x03 blob transactions, blob fee fields, and signing payloads.
5267 Retrieval of EIP-712 domain Final / ERC ERC-5267 Medium Domain discovery for safer typed-data verification and display.
6492 Signature Validation for Predeploy Contracts Final / ERC ERC-6492 Medium Signature validation for counterfactual or not-yet-deployed smart accounts.
7702 Set Code for EOAs Final / Core EIP-7702 High Current EOA code-delegation transaction type for batching, sponsorship, and de-escalation.
7825 Transaction Gas Limit Cap Final / Core EIP-7825 Medium Per-transaction gas cap live with Fusaka; wallets should enforce or surface it.
7951 Precompile for secp256r1 Curve Support Final / Core EIP-7951 Medium Enables device-native P-256/WebAuthn verification patterns for wallets and AA.

Account Abstraction, Delegation, Batching, And Sponsorship

EIP/ERC Title Status / Category Canonical spec Implementation importance Wallet relevance
2771 Secure Protocol for Native Meta Transactions Final / ERC ERC-2771 Medium Trusted-forwarder meta-transaction pattern for relayed wallet flows.
4337 Account Abstraction Using Alt Mempool Final / ERC ERC-4337 High Core app-layer AA model for UserOperations, EntryPoint, bundlers, and paymasters.
7702 Set Code for EOAs Final / Core EIP-7702 High EOA code-delegation primitive for smart-wallet features without account migration.

Assets, Tokens, NFTs, And Transfer Display

EIP/ERC Title Status / Category Canonical spec Implementation importance Wallet relevance
20 Token Standard Final / ERC ERC-20 Critical Fungible token baseline for balances, transfers, symbols, decimals, and asset lists.
165 Standard Interface Detection Final / ERC ERC-165 High Interface detection for token and NFT capability checks.
721 Non-Fungible Token Standard Final / ERC ERC-721 High NFT ownership, transfers, and metadata display baseline.
747 wallet_watchAsset RPC Method Final / Interface EIP-747 High Lets dapps request that a wallet track a token asset.
777 Token Standard Final / ERC ERC-777 Low Alternate fungible token model wallets may need to recognize.
1046 Token Metadata Final / ERC ERC-1046 Medium Token metadata URI support referenced by wallet asset display flows.
1155 Multi Token Standard Final / ERC ERC-1155 High Multi-token standard for fungible, semi-fungible, and NFT holdings.
2612 permit Extension for EIP-20 Signed Approvals Final / ERC ERC-2612 High Typed-data token approvals that wallets must display and sign safely.
4906 EIP-721 Metadata Update Extension Final / ERC ERC-4906 Low NFT metadata update events for refreshing wallet displays.

Names, Addresses, URIs, And Identity

EIP/ERC Title Status / Category Canonical spec Implementation importance Wallet relevance
55 Mixed-case checksum address encoding Final / ERC ERC-55 Critical Standard Ethereum address checksum display and validation.
137 Ethereum Domain Name Service Final / ERC ERC-137 High ENS name resolution baseline.
181 ENS support for reverse resolution Final / ERC ERC-181 High Reverse resolution for showing names from addresses.
681 URL Format for Transaction Requests Final / ERC ERC-681 Medium Payment and transaction request URLs for wallet deeplinks.
1328 WalletConnect Standard URI Format Final / ERC ERC-1328 Low WalletConnect-style URI handling and pairing surface.
3668 CCIP Read: Secure offchain data retrieval Final / ERC ERC-3668 High Offchain lookup path used by modern ENS and resolver flows.
4361 Sign-In with Ethereum Final / ERC ERC-4361 High Wallet login and identity message flow.

Kohaku Wallet References

These entries are not EIPs/ERCs. Keep them as implementation references for Deckard's privacy and browser-extension architecture, not as standards targets.

Category Title Source Wallet relevance Implementation importance Additional notes
Architecture Privacy-first Ethereum tooling kohaku/README.md Positions Kohaku as reusable wallet infrastructure for privacy-preserving Ethereum UX. High Production integration still needs security review for each reused package.
Provider/backend abstraction Kohaku EIP-1193-style provider seam kohaku/crates/eip-1193-provider/README.md, kohaku/packages/provider/README.md Useful for routing wallet-internal reads into native, WASM, Ethers, Viem, Helios, or Colibri backends. Critical This is not a drop-in browser wallet provider; Deckard still owns the injected dapp boundary, origin permissions, events, policy, accounts, and signing.
Privacy infrastructure Private RPC and light-client posture kohaku/docs/pages/practices.mdx, kohaku/docs/pages/privacy.mdx Reduces wallet activity leakage from default RPCs and centralized indexing. High Kohaku docs call out user-defined RPCs, Helios-style verification, and optional network privacy routing as wallet best practices.
Account UX Many accounts, many identities kohaku/docs/pages/practices.mdx, kohaku/docs/pages/privacy.mdx Encourages per-context accounts and easy account creation during dapp connection. High This should influence the extension connect flow: choosing or creating an account should be part of the permission grant, not only a global wallet setting.
Plugin system Standardized private-transaction plugin interface kohaku/packages/plugins/README.md Lets the wallet expose shield, transfer, unshield, balance, and broadcast flows across multiple privacy protocols through one host interface. High Host responsibilities include storage, network fetch, keystore derivation, and Ethereum provider access; this maps cleanly to a desktop wallet core.
Key management Portable plugin key derivation kohaku/packages/plugins/README.md Allows privacy protocol keys to derive from the wallet mnemonic where supported. High Imported plugin key material is not automatically portable, so backup and sync UX must explicitly include plugin state or imported secrets.
Shielded assets Railgun shielded-pool support kohaku/docs/pages/railgun/intro.mdx, kohaku/crates/railgun/README.md Adds shielding, internal transfer, and unshielding for ERC-20 assets and ETH via WETH-style wrapping. Medium Useful as a wallet feature area, but protocol risk, circuit artifacts, indexing, and compliance posture need separate review before default exposure.
Account abstraction ERC-4337 UserOperation kit kohaku/crates/userop-kit/README.md Provides UserOperation building and bundler client support for EntryPoint 0.7 and 0.8. High Important if the desktop wallet plans smart accounts, paymasters, sponsored transactions, or batched dapp actions.
Asset privacy Local token discovery caution kohaku/docs/pages/privacy.mdx Pushes the wallet away from centralized all-transfer-event indexing that links addresses to lookup behavior. High Prefer local indexing, user-configured indexers, light-client verification, or explicit opt-in discovery modes.

Excluded Or Deferred

These were present in the source inventory but are not implementation targets for Deckard right now.

Reason EIPs/ERCs
Historical, Withdrawn, or pure reference material 86, 107, 2711, 2786, 2938, 3074, 5003, 7701, 7980
Stagnant and not a current wallet/dapp API target 2015, 2256, 2803, 2831, 5345, 5593, 5806, 7039, 7377, 7713, 7867, 7896
Draft or otherwise not yet stable enough for Deckard's implementation shortlist 3009, 3770, 6900, 7708, 7749, 7851, 7932, 7966, 7997, 8072, 8123, 8130, 8141, 8151, 8164, 8175, 8197, 8202, 8250, 8266, 8272
ERCs not Final in ethereum/ERCs 67, 634, 831, 1191, 1577, 2304, 2544
Non-EIP Kohaku references deferred until audited or production-ready Privacy Pools, Tornado-style notes, post-quantum account implementation