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:
The good news is that thirdweb cover each and every one of this use case!
Read on to find out how it's done:
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.
Limitations
Your backend will not know about the user's wallet. This is fine if the user's wallet is used to sign transactions and interact with the blockchain directly.
If you need your backend to be aware of the user's wallet, see SIWE.
We have code snippets and guide for various wallet connecting options below:
Connecting to an external wallet
How to get started connecting your application to an external wallet.
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.
Key Difference
Unlike simple wallet connections, SIWE authentication creates a session between your backend and the user's wallet, enabling secure, authenticated API calls.
However, users will still require to sign prompts when interacting with the blockchain via their wallets. If you want an invisible web3 experience, consider using thirdweb wallets.
Sign In With Ethereum
A whole dedicated guides covering everything you need to know about SIWE.
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.