
EIP-6963 Overview: A Potential Solution to Multi-Wallet Conflicts
TechFlow Selected TechFlow Selected

EIP-6963 Overview: A Potential Solution to Multi-Wallet Conflicts
EIP-6963 aims to enhance interoperability among multiple wallet providers, lower the barrier to entry for new providers, and improve user experience on the Ethereum network.
Author: Mundus Security
Compiled by: TechFlow

The recently proposed EIP-6963 aims to resolve conflicts that arise when users attempt to use multiple wallet providers within a single web browser. These conflicts can degrade user experience, hinder user control over their Ethereum interface, and complicate interactions with dApps.
Problem Overview
Currently, wallet providers offering browser extensions must inject their Ethereum provider (as defined by EIP-1193) into the browser's window.ethereum object. This mechanism creates an issue for users who have installed multiple browser extensions. Browser extensions load onto web pages in an unpredictable and unstable order, making it impossible for users to reliably choose which wallet occupies the window.ethereum object. Typically, the last-loaded wallet becomes the one that pops up during interactions.
EIP-6963: The Proposed Solution
To address this problem, EIP-6963 proposes an alternative discovery mechanism for EIP-1193-compliant providers instead of relying solely on window.ethereum. The proposal introduces a set of window events enabling a bidirectional communication protocol between Ethereum libraries and injected scripts provided by browser extensions. This solution improves interoperability among multiple wallet providers, lowers the entry barrier for new wallet providers, and enhances the user experience across the Ethereum ecosystem.
The proposal outlines a standardized provider info interface (EIP6963ProviderInfo), crucial for populating wallet selection dialogs. It also emphasizes the announce provider interface (EIP6963ProviderDetail), ensuring the EIP-1193 provider interface remains unchanged to maintain backward compatibility.
Key properties included in the provider information interface are:
-
walletId: A globally unique identifier for the wallet provider (e.g., io.dopewallet.extension or awesomewallet).
-
uuid: A locally unique identifier for the wallet provider compliant with UUID v4.0.
-
name: A human-readable name for the wallet provider (e.g., DopeWalletExtension or Awesome).
-
icon: A URI pointing to an image, ideally square with a minimum resolution of 96x96px. PNG, WebP, or vector formats like SVG are recommended. The proposal team strongly discourages lossy formats such as JPG/JPEG.
Regarding event triggering, both Ethereum libraries and wallet providers use the window.dispatchEvent function to emit events and window.addEventListener to observe them. When an Ethereum library initializes, it emits an "eip6963:requestProvider" event, while wallet providers respond by emitting an "eip6963:announceProvider" event, providing details of their provider interface and information.
Impact of EIP-6963
Optimistically, adoption and implementation of EIP-6963 may take approximately three to six months. This development could bring new wallet narratives by year-end, potentially breaking the dominance of leading providers like MetaMask and fostering a more competitive environment among wallet providers.
Wallets such as Coin98, Coinbase Wallet, Trust Wallet, Phantom, Taho, Rabby, Frame, XDEFI, Rainbow, Zerion, Spot, Frontier, MEW, Dawn Wallet, Blockwallet, Bitski, SafePal, BitKeep, and MathWallet are expected to benefit from this advancement.
Advantages and Disadvantages:
EIP-6963 raises several security considerations that warrant attention.
Advantages:
-
No single point of failure: By allowing multiple wallet providers, we eliminate the single point of failure. This is beneficial for security, as it means if one wallet provider suffers an attack or technical failure, users have viable alternatives available.
-
Reduced reliance on a single provider: Currently, the Ethereum community heavily depends on one provider—MetaMask. This presents potential risks, as an attack on MetaMask would impact most Ethereum users. Supporting multiple wallets allows EIP-6963 to distribute this risk.
-
Enhanced user control: The ability to choose among multiple wallet providers gives users greater control over their own security. Users can select providers aligned with their personal security preferences and trust levels.
Disadvantages:
-
Increased attack surface: Implementing EIP-6963 increases the attack surface due to the larger number of wallet providers that could be targeted by malicious actors. Each wallet provider must adhere to high security standards to minimize this risk.
-
Potential risks from SVG image exploitation: EIP-6963 proposes using SVG images for wallet provider icons. However, SVG images can contain JavaScript code, potentially introducing cross-site scripting (XSS) vulnerabilities. Although the EIP specifies that SVG images should be rendered via <img> tags to prevent JavaScript execution, this safeguard can only be verified by third parties or auditors during each implementation.
-
Implications of replacing window.ethereum: While the EIP does not directly break existing applications by replacing window.ethereum, it recommends doing so after the user selects a wallet. This recommendation can only be validated by third parties or auditors during each individual implementation.
Conclusion
EIP-6963 aims to enhance interoperability among multiple wallet providers, lower the entry barrier for new providers, and improve user experience across the Ethereum network. At the same time, its security implications are complex.
Users, wallet providers, and Ethereum library developers must adhere to best practices to ensure the Ethereum ecosystem remains secure.
By implementing this proposal, the Ethereum ecosystem can evolve toward a more user-friendly and competitive environment—benefiting both wallet providers and their users.
Join TechFlow official community to stay tuned
Telegram:https://t.me/TechFlowDaily
X (Twitter):https://x.com/TechFlowPost
X (Twitter) EN:https://x.com/BlockFlow_News














