Connect to multiple ecosystems
Use MetaMask Connect Multichain (@metamask/connect-multichain) to connect to multiple blockchain networks and ecosystems in MetaMask at the same time.
With the multichain client, your dapp can request access to EVM networks, Solana, and future ecosystems in a single connection prompt, instead of using separate connection flows for each chain. This gives you more control than the ecosystem-specific clients, but requires adapting your dapp to work with the Multichain API rather than traditional per-chain RPC.
Jump to the Quickstart to set up MetaMask Connect Multichain in minutes.
How the Multichain API works
MetaMask Connect Multichain is built on the Multichain API (CAIP-25) specification, a chain-agnostic standard for wallet-dapp communication. For the full rationale and specification, see MetaMask Improvement Proposal-5 (MIP-5).
Instead of connecting to one chain at a time, the Multichain API lets you:
- Request access to multiple ecosystems at once: For example, request Ethereum Mainnet, Polygon, and Solana Mainnet in a single session.
- Send requests to any chain in the session: For example, send a Solana transaction and an EVM transaction through the same connection.
- Manage the full session lifecycle: Connect, retrieve session data, invoke methods on any chain, and disconnect — using
connect,getSession,invokeMethod, anddisconnect. These SDK methods wrap the underlying Multichain API (wallet_createSession,wallet_getSession,wallet_invokeMethod,wallet_revokeSession).
For dapps that support both EVM and Solana, this means one session covers both — and users see a single approval prompt.

When to use the multichain client
The multichain client is a good fit when you're:
- Building a new dapp designed from the ground up for multiple ecosystems.
- Looking for the best cross-chain UX — one connection prompt for all chains.
- Needing full control over the session lifecycle.
If you're adding MetaMask Connect Multichain to an existing dapp and want minimal code changes, the ecosystem-specific clients (@metamask/connect-evm or @metamask/connect-solana) are a simpler starting point — you can always migrate later.
Get started
Frequently asked questions
What chains does the multichain client support?
MetaMask Connect Multichain supports all EVM-compatible networks (Ethereum, Polygon, Arbitrum, Optimism, Linea, Base, and any chain with a CAIP-2 scope) and Solana (mainnet and devnet).
Future ecosystems will be supported as they are added to MetaMask.
Specify which chains to connect to using CAIP-2 scopes (for example, eip155:1 for Ethereum Mainnet or solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp for Solana Mainnet).
How does CAIP-25 work in MetaMask Connect?
CAIP-25 is a chain-agnostic standard for wallet-dapp communication. When your dapp calls connect() with a list of CAIP-2 scopes, MetaMask creates a session that authorizes your dapp to send requests to those chains. You then use invokeMethod() to send JSON-RPC requests to any authorized chain by specifying its scope. The user sees a single approval prompt for all requested chains.
Can I use the multichain client alongside ecosystem-specific clients?
The multichain client and ecosystem-specific clients share the same underlying session infrastructure. While you can use both, we recommend choosing one approach. The multichain client gives you full control over sessions and cross-chain RPC, while the ecosystem-specific clients provide familiar per-chain provider interfaces. See integration options for a detailed comparison.