diff --git a/.changeset/fallback-inmodal-qr.md b/.changeset/fallback-inmodal-qr.md
new file mode 100644
index 00000000000..8486170b86c
--- /dev/null
+++ b/.changeset/fallback-inmodal-qr.md
@@ -0,0 +1,5 @@
+---
+"thirdweb": patch
+---
+
+Show the WalletConnect QR inside the connect modal instead of a separate window
diff --git a/packages/thirdweb/src/react/web/ui/ConnectWallet/Modal/AnyWalletConnectUI.tsx b/packages/thirdweb/src/react/web/ui/ConnectWallet/Modal/AnyWalletConnectUI.tsx
index a32ec12f186..0dc4aea9a1b 100644
--- a/packages/thirdweb/src/react/web/ui/ConnectWallet/Modal/AnyWalletConnectUI.tsx
+++ b/packages/thirdweb/src/react/web/ui/ConnectWallet/Modal/AnyWalletConnectUI.tsx
@@ -9,6 +9,7 @@ import type {
InjectedSupportedWalletIds,
WCSupportedWalletIds,
} from "../../../../../wallets/__generated__/wallet-ids.js";
+import { BASE_ACCOUNT, COINBASE } from "../../../../../wallets/constants.js";
import { isEcosystemWallet } from "../../../../../wallets/ecosystem/is-ecosystem-wallet.js";
import { getInstalledWalletProviders } from "../../../../../wallets/injected/mipdStore.js";
import type { Wallet } from "../../../../../wallets/interfaces/wallet.js";
@@ -274,8 +275,8 @@ export function AnyWalletConnectUI(props: {
);
}
- // any other known wallet
- if (props.wallet.id) {
+ // wallets with their own SDK
+ if (props.wallet.id === COINBASE || props.wallet.id === BASE_ACCOUNT) {
return (
}>
{
+ setScreen("get-started");
+ }}
+ size={props.size}
+ wallet={props.wallet as Wallet}
+ walletConnect={props.walletConnect}
+ walletInfo={walletInfo.data}
+ />
+ );
+ }
+
// if can't connect in any way - show get started screen
return (