Introducing Any Wallet

At thirdweb, we enable a blockchain development world pre-fixed with ‘any.' Last year, we allowed developers to deploy any contract on any EVM chain.

Today, we are adding 'any wallet'—our pre-built components and SDK now support over 350+ wallets. We envision that this improvement will help developers reach more consumers by providing more choices and assisting consumers to discover more wallet options.

Get Started (ConnectButton)

  1. Install thirdweb v5

npm install thirdweb

  1. Instantiate your client.
import { createThirdwebClient } from "thirdweb";

const client = createThirdwebClient({
  clientId: "<your_client_id>",
});
  1. Create an array of supported wallets.
import { createWallet, embeddedWallet } from "thirdweb/wallets";

const wallets = [
  embeddedWallet(),
  createWallet("io.metamask"),
  createWallet("com.coinbase.wallet"),
  createWallet("me.rainbow"),
];
  1. Pass in the array to wallets inside of your ConnectButton component
function Example() {
  return (
    <div>
      <ConnectButton client={client} wallets={wallets} />
    </div>
  );
}

Note: If wallets are not specified, the modal will default to showing a few wallets, wallets that are installed in the user’s browser, and an option to see all wallets.


If you’d like to create your own custom wallet connection UI, please refer to our documentation for using the useConnect hook with our supported wallets.

Resources

FAQs

Which wallets do you support?

See our full list of wallets in our developer documentation.

I don’t see [x] wallet supported. Can you please help add it?

Yes, please raise a GitHub issue and we will be able to assist you.

Is this feature only available in v5 of the SDKs?

This feature is currently only available in v5. For already created applications, we encourage developers to gradually migrate to v5 since it works inter-operably with prior versions of the SDK.

Share your feedback!

Your feedback is critical to us as we strive to improve our SDKs. If you have any issues, feature requests, or other feedback — we recommend raising an issue on GitHub.