External wallets

thirdweb natively supports 500+ first-party wallets and all wallets that implement EIP-6963 (Multi-injected Provider Discovery). For the full list, please consult this list.

You can use an external wallet in many ways. We've outlined these different use cases below:

USAGEBEST FOR
Connect to siteApplications simply needing web3 wallet connectivity
Authenticate into your siteApplications requiring authentication with existing web3 users
Authenticate into a thirdweb wallet (either in-app or ecosystem)Applications looking to provide a seamless web3 application with minimal disruptions and prompts

The good news is that thirdweb cover each and every one of this use case!

Read on to find out how it's done:

Connecting External Wallets

External wallets are perfect for applications that want to integrate with existing web3 users. These users typically already have wallets like MetaMask, Coinbase Wallet, or Rainbow installed and are familiar with web3 concepts.

Implementation

We have code snippets and guide for various wallet connecting options below:

connect wallet

Connecting to an external wallet

How to get started connecting your application to an external wallet.

Authenticating with External Wallets

Authentication with external wallets using Sign-In with Ethereum (SIWE) enables your backend to securely verify user wallet ownership. This is essential for applications requiring user-specific data or authenticated actions.

Implementation

auth

Sign In With Ethereum

A whole dedicated guides covering everything you need to know about SIWE.

Authenticating with External Wallets into thirdweb Wallets

thirdweb wallets provide a seamless web3 experience with minimal prompts and disruptions. This will provide you, the developer with full control of how the user interacts with your application.

Note, however, that the wallet interacting with your application will be a thirdweb wallet, not the user's external wallet. While we provide methods to export keys and see how the external wallet and thirdweb wallet are linked, if your app requires the user's external wallet, you should use SIWE instead.

Authenticate to an In App Wallet with SIWE

Authenticate to an Ecosystem Wallet with SIWE