diff --git a/.changeset/vast-nails-wash.md b/.changeset/vast-nails-wash.md new file mode 100644 index 00000000000..cc67acc1a7e --- /dev/null +++ b/.changeset/vast-nails-wash.md @@ -0,0 +1,5 @@ +--- +"thirdweb": patch +--- + +Dont attempt chain switching for cb wallet if already connected to the right chain diff --git a/packages/thirdweb/src/wallets/coinbase/coinbase-web.ts b/packages/thirdweb/src/wallets/coinbase/coinbase-web.ts index f1b248f1d20..99f589718d1 100644 --- a/packages/thirdweb/src/wallets/coinbase/coinbase-web.ts +++ b/packages/thirdweb/src/wallets/coinbase/coinbase-web.ts @@ -474,6 +474,16 @@ async function switchChainCoinbaseWalletSDK( provider: ProviderInterface, chain: Chain, ) { + // check if chain is already connected + const connectedChainId = (await provider.request({ + method: "eth_chainId", + })) as string | number; + const connectedChain = getCachedChain(normalizeChainId(connectedChainId)); + if (connectedChain?.id === chain.id) { + // chain is already connected, no need to switch + return; + } + const chainIdHex = numberToHex(chain.id); try {