Skip to main content

Connect to Solana

Solana is a high-performance network that provides fast transaction speeds and low fees. Connect to Solana in MetaMask using @metamask/connect-solana.

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

MetaMask Connect Solana 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, consider using @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. See the multichain quickstart to get started.

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 that MetaMask is automatically discoverable by any Solana dapp or library that supports wallet-standard, including Solana Wallet Adapter. This means 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 walkthrough.

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, consider using @metamask/connect-multichain to manage both ecosystems in a single session.