Skip to main content

Connect to Solana

Use MetaMask Connect Solana (@metamask/connect-solana) to connect to your dapp to Solana, a high-performance network that provides fast transaction speeds and low fees.

MetaMask Connect Solana implements the Wallet Standard, so it works with Solana's Wallet Adapter, and integrates with Framework Kit for a hooks-based React workflow.

It handles platform detection, relay connections, and session persistence automatically. You interact with the wallet through the client APIs.

Ready to code?

Jump to the Wallet Adapter guide for a React dapp, or the JavaScript quickstart to use wallet-standard features directly.

Going multichain?

If your dapp targets both EVM and Solana from a single codebase, use @metamask/connect-multichain directly. The multichain client provides a unified invokeMethod interface for both ecosystems and manages scopes, sessions, and selective disconnect in one place. Get started with the multichain quickstart.

Get started

Third-party libraries

Several third-party libraries for Solana dapps detect and handle MetaMask out-of-the-box, including:

Frequently asked questions

What is Wallet Standard and why does MetaMask Connect Solana use it?

Wallet Standard is a cross-wallet interface specification for the Solana ecosystem. @metamask/connect-solana implements this standard so MetaMask is automatically discoverable by any Solana dapp or library that supports the standard, including Solana Wallet Adapter. You get consistent connect, sign, and send APIs without writing MetaMask-specific code.

Can I use Solana Wallet Adapter with MetaMask Connect?

Yes. When you call createSolanaClient, MetaMask is automatically registered with the Wallet Standard registry, so Solana Wallet Adapter detects it alongside other installed wallets. No extra configuration is needed. See the Wallet Adapter guide for a full React setup.

Which Solana networks does MetaMask Connect support?

MetaMask Connect Solana supports mainnet, devnet, and testnet. You can configure custom RPC URLs for each network using the api.supportedNetworks option in createSolanaClient. If your dapp also targets EVM networks, use @metamask/connect-multichain to manage both ecosystems in a single session.