Seamlessly connect to the MetaMask wallet
MetaMask Connect enables a fast, reliable connection from your dapp to the MetaMask extension and MetaMask Mobile. With a single integration, onboard users and interact with their accounts across desktop browsers, mobile browsers, and native apps.
It replaces the previous MetaMask SDK with a ground-up rewrite built on the Multichain API. The SDK automatically detects the user's environment and picks the best connection method — whether that's communicating directly with the extension, scanning a QR code, or deeplinking to MetaMask Mobile.
Why use MetaMask Connect?
If the MetaMask extension is installed, standards like EIP-6963 handle wallet discovery well. But when the extension isn't available — on mobile, in a different browser, or on a new device — your users need another way in. MetaMask Connect fills that gap and gives you more:
- Cross-platform connections — Reach users on any device. When the extension isn't available, the SDK connects to MetaMask Mobile through a relay, with no extra setup on your side.
- Multichain sessions — Request access to EVM and Solana (and future ecosystems) in a single connection, instead of connecting per chain.
- Persistent sessions — Sessions survive page reloads and new tabs, so users aren't prompted to reconnect.
- Consistent API — The same interface works whether the user connects through the extension or Mobile.
Get started
Integration options
There are two ways to integrate, depending on what works best for your dapp:
Option A: Ecosystem-specific clients (drop-in)
Use @metamask/connect-evm and/or @metamask/connect-solana for a familiar experience with minimal changes to your existing code.
- EVM — Gives you an EIP-1193 compatible provider, so your existing
ethers.js,viem, orweb3.jscode works as-is. - Solana — Gives you a Wallet Standard compatible wallet that plugs into the Solana wallet adapter ecosystem.
This is the fastest path if you already have a working dapp and want to add MetaMask Connect.
Option B: Multichain client (full control)
Use @metamask/connect-multichain directly for the full Multichain API.
This gives you more control — you work with scopes and wallet_invokeMethod rather than per-chain RPC — and unlocks the best experience for multichain dapps with a single connection prompt for all ecosystems.
Also start with Option A and migrate to Option B over time. The ecosystem clients are built on the multichain client under the hood, so they share the same transport and session infrastructure.
Packages
| Package | Purpose |
|---|---|
@metamask/connect-evm | EVM client — EIP-1193 provider |
@metamask/connect-solana | Solana client — Wallet Standard |
@metamask/connect-multichain | Multichain client — full Multichain API |