# MetaMask Connect

**URL:** https://builder.metamask.io/c/metamask-connect/8.md

[Latest](https://builder.metamask.io/latest.md) · [Categories](https://builder.metamask.io/categories.md) · [Tags](https://builder.metamask.io/tags.md)

---

## [About the MetaMask Connect category](https://builder.metamask.io/t/about-the-metamask-connect-category/698)

<div class="topic-metadata">

**Author:** [@yashovardhan](https://builder.metamask.io/u/yashovardhan)\
**Replies:** 0\
**Last updated:** [September 9, 2025, 4:43pm UTC](https://builder.metamask.io/t/about-the-metamask-connect-category/698 "2025-09-09T16:43:21Z")

</div>

Ask questions about MetaMask Connect, which enables seamless, direct connections to the MetaMask wallet. MetaMask Connect supports multichain interactions across EVM and Solana. Feel free to also use this space for any …

---

## [How to connect and interact with the new Bitcoin wallet in metamask](https://builder.metamask.io/t/how-to-connect-and-interact-with-the-new-bitcoin-wallet-in-metamask/2801)

<div class="topic-metadata">

**Author:** [@tomide.LI.FI](https://builder.metamask.io/u/tomide.LI.FI)\
**Replies:** 7\
**Last updated:** [June 24, 2026, 3:55pm UTC](https://builder.metamask.io/t/how-to-connect-and-interact-with-the-new-bitcoin-wallet-in-metamask/2801 "2026-06-24T15:55:49Z")

</div>

There is not documentation for how to integrate with the new Bitcoin accounts in the Metamask wallet. I’ve tried to use the wallet api, but the documentation for bitcoin is limited, and the multichain APi doesn’t docume…

---

## [MetaMask dApp – UI state not syncing properly with wallet events](https://builder.metamask.io/t/metamask-dapp-ui-state-not-syncing-properly-with-wallet-events/3183)

<div class="topic-metadata">

**Author:** [@Alisha\_Winson](https://builder.metamask.io/u/Alisha_Winson)\
**Replies:** 2\
**Last updated:** [June 8, 2026, 9:07am UTC](https://builder.metamask.io/t/metamask-dapp-ui-state-not-syncing-properly-with-wallet-events/3183 "2026-06-08T09:07:18Z")

</div>

Hi everyone, I’m building a free small dApp using MetaMask Builder Hub and testing basic wallet flows like connection, signing, and simple transactions. Everything works fine on the functional side, but I’m running int…

---

## [How do I know which transport actually handled a connection?](https://builder.metamask.io/t/how-do-i-know-which-transport-actually-handled-a-connection/3134)

<div class="topic-metadata">

**Author:** [@shahbaz](https://builder.metamask.io/u/shahbaz)\
**Replies:** 0\
**Last updated:** [May 8, 2026, 1:18pm UTC](https://builder.metamask.io/t/how-do-i-know-which-transport-actually-handled-a-connection/3134 "2026-05-08T13:18:41Z")

</div>

Listen for SDK events and inspect the provider after connect() : const client = await createEVMClient({ /\* ... \*/ }); client.on('connect', (info) =\> { console.log('Connected via:', info.transport); // 'extension' | '…

---

## [What does ui.preferExtension actually control?](https://builder.metamask.io/t/what-does-ui-preferextension-actually-control/3133)

<div class="topic-metadata">

**Author:** [@shahbaz](https://builder.metamask.io/u/shahbaz)\
**Replies:** 0\
**Last updated:** [May 8, 2026, 1:16pm UTC](https://builder.metamask.io/t/what-does-ui-preferextension-actually-control/3133 "2026-05-08T13:16:34Z")

</div>

Value Behavior true (default) If the extension is detected, use it. Otherwise fall back to MWP/QR/mobile. false Always use MWP / QR / mobile, even if the extension is installed. Use false only when you speci…

---

## [Can I lazy-load the MM Connect SDK only when the extension is not present?](https://builder.metamask.io/t/can-i-lazy-load-the-mm-connect-sdk-only-when-the-extension-is-not-present/3132)

<div class="topic-metadata">

**Author:** [@shahbaz](https://builder.metamask.io/u/shahbaz)\
**Replies:** 0\
**Last updated:** [May 8, 2026, 1:15pm UTC](https://builder.metamask.io/t/can-i-lazy-load-the-mm-connect-sdk-only-when-the-extension-is-not-present/3132 "2026-05-08T13:15:43Z")

</div>

This is a common optimization, but we don’t recommend it. It forces you to maintain two divergent connection paths in production, and it loses the benefits (6963 discovery, unified events, fallback when the extension is …

---

## [How do I keep my bundle small without removing the MM Connect EVM SDK?](https://builder.metamask.io/t/how-do-i-keep-my-bundle-small-without-removing-the-mm-connect-evm-sdk/3131)

<div class="topic-metadata">

**Author:** [@shahbaz](https://builder.metamask.io/u/shahbaz)\
**Replies:** 0\
**Last updated:** [May 8, 2026, 1:04pm UTC](https://builder.metamask.io/t/how-do-i-keep-my-bundle-small-without-removing-the-mm-connect-evm-sdk/3131 "2026-05-08T13:04:17Z")

</div>

Use dynamic import to load @metamask/connect-evm on demand instead of at app boot. The SDK is also structured so unused transports tree-shake on the extension path. // Load the SDK only on first interaction — not on i…

---

## [Does using the MM Connect SDK add overhead when the extension is installed?](https://builder.metamask.io/t/does-using-the-mm-connect-sdk-add-overhead-when-the-extension-is-installed/3130)

<div class="topic-metadata">

**Author:** [@shahbaz](https://builder.metamask.io/u/shahbaz)\
**Replies:** 0\
**Last updated:** [May 8, 2026, 1:01pm UTC](https://builder.metamask.io/t/does-using-the-mm-connect-sdk-add-overhead-when-the-extension-is-installed/3130 "2026-05-08T13:01:00Z")

</div>

At runtime, no — the SDK detects the extension, returns its provider, and no additional transport is initialized. RPC calls go through the extension exactly as they would without the SDK. At bundle size, there is some…

---

## [What do I lose if I bypass the SDK and use \`window.ethereum\` directly when the extension is installed?](https://builder.metamask.io/t/what-do-i-lose-if-i-bypass-the-sdk-and-use-window-ethereum-directly-when-the-extension-is-installed/3129)

<div class="topic-metadata">

**Author:** [@shahbaz](https://builder.metamask.io/u/shahbaz)\
**Replies:** 0\
**Last updated:** [May 8, 2026, 1:00pm UTC](https://builder.metamask.io/t/what-do-i-lose-if-i-bypass-the-sdk-and-use-window-ethereum-directly-when-the-extension-is-installed/3129 "2026-05-08T13:00:15Z")

</div>

You lose several capabilities that exist because the connection goes through the MM Connect EVM SDK: Reliable EIP-6963 discovery — window.ethereum can be clobbered when multiple wallets are installed (Rabby, Phantom E…

---

## [What does the MetaMask Connect EVM SDK actually do when the extension is installed?](https://builder.metamask.io/t/what-does-the-metamask-connect-evm-sdk-actually-do-when-the-extension-is-installed/3128)

<div class="topic-metadata">

**Author:** [@shahbaz](https://builder.metamask.io/u/shahbaz)\
**Replies:** 0\
**Last updated:** [May 8, 2026, 12:58pm UTC](https://builder.metamask.io/t/what-does-the-metamask-connect-evm-sdk-actually-do-when-the-extension-is-installed/3128 "2026-05-08T12:58:57Z")

</div>

With the default configuration (ui.preferExtension: true), the SDK: Discovers MetaMask via EIP-6963 — even when other wallets are also injected. Returns the extension’s EIP-1193 provider through client.getProvider(…

---

## [Should I still use the MetaMask Connect EVM SDK if my users have the MetaMask extension installed?](https://builder.metamask.io/t/should-i-still-use-the-metamask-connect-evm-sdk-if-my-users-have-the-metamask-extension-installed/3127)

<div class="topic-metadata">

**Author:** [@shahbaz](https://builder.metamask.io/u/shahbaz)\
**Replies:** 0\
**Last updated:** [May 8, 2026, 12:57pm UTC](https://builder.metamask.io/t/should-i-still-use-the-metamask-connect-evm-sdk-if-my-users-have-the-metamask-extension-installed/3127 "2026-05-08T12:57:31Z")

</div>

Yes. The SDK is the recommended integration path regardless of whether the extension is installed. When the extension is detected, the SDK delegates directly to the injected EIP-1193 provider — it does not initialize M…

---

## [Addressing intermittent UI freezes and execution timeouts during mobile SDK integration?](https://builder.metamask.io/t/addressing-intermittent-ui-freezes-and-execution-timeouts-during-mobile-sdk-integration/3097)

<div class="topic-metadata">

**Author:** [@Amanda990](https://builder.metamask.io/u/Amanda990)\
**Replies:** 1\
**Last updated:** [April 17, 2026, 10:44am UTC](https://builder.metamask.io/t/addressing-intermittent-ui-freezes-and-execution-timeouts-during-mobile-sdk-integration/3097 "2026-04-17T10:44:32Z")

</div>

Hey everyone, I’m currently working on a mobile-first DApp integration using the MetaMask SDK, and I’ve run into a persistent performance issue on iOS that I’m struggling to debug. Whenever my application triggers a sig…

---

## [Topic Title: Adding a custom BSC network + Efikcoin Eternal token to MetaMask from a dApp – best practices?](https://builder.metamask.io/t/topic-title-adding-a-custom-bsc-network-efikcoin-eternal-token-to-metamask-from-a-dapp-best-practices/3052)

<div class="topic-metadata">

**Author:** [@Efikcoin\_Eternal](https://builder.metamask.io/u/Efikcoin_Eternal)\
**Replies:** 0\
**Last updated:** [April 5, 2026, 7:07am UTC](https://builder.metamask.io/t/topic-title-adding-a-custom-bsc-network-efikcoin-eternal-token-to-metamask-from-a-dapp-best-practices/3052 "2026-04-05T07:07:17Z")

</div>

Topic Body: Hello MetaMask devs, I’m working on a token project called Efikcoin Eternal on Binance Smart Chain (BSC). I want users to be able to add both the BSC network (if not already added) and my token to MetaMask …

---

## [How do I migrate from \`@metamask/sdk\` to \`@metamask/connect-evm\`?](https://builder.metamask.io/t/how-do-i-migrate-from-metamask-sdk-to-metamask-connect-evm/3047)

<div class="topic-metadata">

**Author:** [@shahbaz](https://builder.metamask.io/u/shahbaz)\
**Replies:** 0\
**Last updated:** [March 30, 2026, 4:16pm UTC](https://builder.metamask.io/t/how-do-i-migrate-from-metamask-sdk-to-metamask-connect-evm/3047 "2026-03-30T16:16:45Z")

</div>

To migrate: 1. Replace @metamask/sdk with @metamask/connect-evm in your dependencies. 2. Update imports from MetaMaskSDK to createEVMClient. 3. Switch from synchronous to asynchronous initialization. 4. Update your p…

---

## [Does MetaMask Connect work with wagmi, ethers.js, and viem?](https://builder.metamask.io/t/does-metamask-connect-work-with-wagmi-ethers-js-and-viem/3046)

<div class="topic-metadata">

**Author:** [@shahbaz](https://builder.metamask.io/u/shahbaz)\
**Replies:** 0\
**Last updated:** [March 30, 2026, 4:15pm UTC](https://builder.metamask.io/t/does-metamask-connect-work-with-wagmi-ethers-js-and-viem/3046 "2026-03-30T16:15:23Z")

</div>

Yes. The EVM client (\`@metamask/connect-evm\`) provides an EIP-1193 compatible provider that works directly with viem’s \`custom()\` transport, ethers.js \`BrowserProvider\`, and web3.js \`Web3\` constructor. The Solana client …

---

## [Can I migrate between integration options later?](https://builder.metamask.io/t/can-i-migrate-between-integration-options-later/3045)

<div class="topic-metadata">

**Author:** [@shahbaz](https://builder.metamask.io/u/shahbaz)\
**Replies:** 0\
**Last updated:** [March 30, 2026, 4:14pm UTC](https://builder.metamask.io/t/can-i-migrate-between-integration-options-later/3045 "2026-03-30T16:14:50Z")

</div>

Yes. All three options share the same underlying transport and session infrastructure, so you can start with a single-ecosystem client and migrate to multichain later without changing your backend or connection logic. Th…

---

## [Which integration option should I choose?](https://builder.metamask.io/t/which-integration-option-should-i-choose/3044)

<div class="topic-metadata">

**Author:** [@shahbaz](https://builder.metamask.io/u/shahbaz)\
**Replies:** 0\
**Last updated:** [March 30, 2026, 4:12pm UTC](https://builder.metamask.io/t/which-integration-option-should-i-choose/3044 "2026-03-30T16:12:11Z")

</div>

\- Multichain (@metamask/connect-multichain) – if your dapp needs to connect to both EVM and Solana in a single session with one approval prompt. - Single-ecosystem (@metamask/connect-evm or @metamask/connect-solana) – i…

---

## [Do I need an Infura API key to use MetaMask Connect?](https://builder.metamask.io/t/do-i-need-an-infura-api-key-to-use-metamask-connect/3043)

<div class="topic-metadata">

**Author:** [@shahbaz](https://builder.metamask.io/u/shahbaz)\
**Replies:** 0\
**Last updated:** [March 30, 2026, 4:04pm UTC](https://builder.metamask.io/t/do-i-need-an-infura-api-key-to-use-metamask-connect/3043 "2026-03-30T16:04:02Z")

</div>

An Infura API key is recommended for reliable RPC access and relay connections. You can get a free API key from the \[MetaMask Developer dashboard\](https://developer.metamask.io/). MetaMask Connect uses the API key to gen…

---

## [Which blockchain networks does MetaMask Connect support?](https://builder.metamask.io/t/which-blockchain-networks-does-metamask-connect-support/3042)

<div class="topic-metadata">

**Author:** [@shahbaz](https://builder.metamask.io/u/shahbaz)\
**Replies:** 0\
**Last updated:** [March 30, 2026, 4:03pm UTC](https://builder.metamask.io/t/which-blockchain-networks-does-metamask-connect-support/3042 "2026-03-30T16:03:24Z")

</div>

MetaMask Connect supports Ethereum and all EVM-compatible networks (Polygon, Arbitrum, Optimism, Linea, Base, etc.) through @metamask/connect-evm, Solana through @metamask/connect-solana, and both simultaneously through @…

---

## [Does MetaMask Connect support mobile?](https://builder.metamask.io/t/does-metamask-connect-support-mobile/3041)

<div class="topic-metadata">

**Author:** [@shahbaz](https://builder.metamask.io/u/shahbaz)\
**Replies:** 0\
**Last updated:** [March 30, 2026, 4:02pm UTC](https://builder.metamask.io/t/does-metamask-connect-support-mobile/3041 "2026-03-30T16:02:36Z")

</div>

Yes. MetaMask Connect automatically detects the user’s platform and selects the best connection method. On mobile browsers and native apps it uses deeplinks to open the MetaMask mobile app, and on desktop browsers withou…

---

## [How is MetaMask Connect different from the legacy MetaMask SDK?](https://builder.metamask.io/t/how-is-metamask-connect-different-from-the-legacy-metamask-sdk/3040)

<div class="topic-metadata">

**Author:** [@shahbaz](https://builder.metamask.io/u/shahbaz)\
**Replies:** 0\
**Last updated:** [March 30, 2026, 4:01pm UTC](https://builder.metamask.io/t/how-is-metamask-connect-different-from-the-legacy-metamask-sdk/3040 "2026-03-30T16:01:52Z")

</div>

MetaMask Connect is a complete rewrite of the legacy \`@metamask/sdk\`. It introduces asynchronous initialization with \`createEVMClient\`, a singleton client pattern, built-in multichain support for both EVM and Solana, CAI…

---

## [Native app issues](https://builder.metamask.io/t/native-app-issues/2750)

<div class="topic-metadata">

**Author:** [@Benjamin\_Davies](https://builder.metamask.io/u/Benjamin_Davies)\
**Replies:** 2\
**Last updated:** [December 18, 2025, 9:13am UTC](https://builder.metamask.io/t/native-app-issues/2750 "2025-12-18T09:13:52Z")

</div>

I build Dapps that mostly use thirdweb for wallet connection and account abstraction. The majority of our user base have MetaMask wallets so making sure MetaMask works is a priority. Description: I ran into an issue wi…
