Wallet interoperability
A web dapp can integrate with multiple wallets simultaneously by adding support for
EIP-6963, which improves the user experience when the
user has multiple wallet browser extensions installed.
EIP-6963 introduces an alternative discovery mechanism to the window.ethereum
injected provider,
enabling dapps to discover multiple injected wallet providers in a user's browser.
We recommend using this new mechanism for provider discovery.
You can add support for EIP-6963 in one of the following ways:
- Set up MetaMask SDK in your dapp. The SDK supports EIP-6963 by default, and we recommend using this method.
- Directly update your dapp code to support EIP-6963.
- Use third-party libraries that support EIP-6963.
Alternatively, you can use convenience libraries that support wallet interoperability. We recommend using the SDK for the best MetaMask user experience.
Community support
The alternative discovery mechanism works for wallets that have implemented support for EIP-6963. This includes MetaMask, Coinbase, Trust Wallet, OKX, and other major wallets. See the list of wallets that support EIP-6963.
Backwards compatibility
Dapps that do not support EIP-6963 can still detect MetaMask using the window.ethereum
provider.
However, we recommend adding support to improve the user experience for multiple installed wallets.
Read more about EIP-6963 backwards compatibility.