- Linked wallets are embedded or external wallets tied to a user object. They may or may not be connected.
- Connected wallets are embedded or external wallets currently available for the web client. They may or may not be linked to a user’s account.
Not seeing all of the external wallets connected to the application? Make sure you have completed
the steps to connect any wallets
to your application.
To access connected wallets with the React SDK, use the The
wallets
array from the useWallets
hook:Usage
wallets
array includes an object for all wallets a user has connected to your site.Waiting for wallets to be ready
When your page loads in the user’s browser, the Privy SDK determines what wallets the user has connected to your app in two ways:- For external wallets, Privy determines what wallets are connected via EIP-6963 for injected wallets (e.g. browser extension wallets) and via WalletConnect for mobile wallets.
- For embedded wallets, Privy determines if the user has an embedded wallet by loading the Privy iframe which stores the private key material used for the wallet.
ready
boolean returned by the useWallets
hooks.Concretely, ready
will be false
while Privy is determining what wallets are available for the user, and will be true
once Privy has settled on the current set of connected wallets.useWallets
vs. usePrivy
The **useWallets
and usePrivy
hooks all return information about a user’s wallets. The key difference between the them is:useWallets
will return all connected wallets (EVM and Solana), which you can use to request signatures or take onchain actions (via transactions).usePrivy
will return all linked wallets, which you can use to verify that a user owns a given wallet address.
usePrivy
hook.Otherwise, if your use case requires you to take actions on a connected wallet, such as getting its network or requesting a signature or transaction, you should use the wallets information returned by the useWallets
hooks instead.