EIP-6963 enables dapps to discover multiple wallet providers and wallets to announce themselves without conflicts.
Overview
Traditional wallet injection (window.ethereum) creates conflicts when multiple wallets are installed. EIP-6963 solves this by:
- Dapps: Subscribe to wallet announcements, discover all available wallets
- Wallets: Announce themselves with metadata (name, icon, identifier)
Dapp Usage
Subscribe to Announcements
The listener is called immediately with current providers, then again whenever new providers announce.
Find Specific Provider
Get Current Providers
Wallet Usage
For wallet developers: announce your provider to dapps.
The wallet automatically re-announces when dapps request providers.
Types
ProviderInfo
Wallet metadata:
ProviderDetail
Complete announcement:
Constructors
Create validated, frozen objects:
Environment Detection
EIP-6963 only works in browsers. Use getPlatform() to check:
Error Handling
All errors extend EIP6963Error:
Error Types
Security
Icon XSS Prevention: Always render wallet icons via <img src={icon}> elements.
Never inject icon content directly into the DOM, as malicious SVG icons could contain scripts.
Common RDNS Values
API Reference
Dapp Functions
Wallet Functions
Utilities
See Also