useUserWallets
Get access to the current user/session wallets
Use this hook whenever you need access to all the current wallets in your app — it returns an array of wallets, with type Wallet[]
.
The array represents all wallets that were connected in the current session + all wallets authenticated by the current user. See this section for more details.
Example: listing which wallets are currently connected
import { FC } from 'react'
import { useUserWallets } from '@dynamic-labs/sdk-react-core'
export const ListConnectedWallets: FC = () => {
const userWallets = useUserWallets()
return (
<div>
<h1>Wallets</h1>
{userWallets.map((wallet) => (
<p key={wallet.id}>
{wallet.address}
</p>
))}
</div>
)
}
What does the Wallet type look like?
You can inspect the type using your code editor, but here’s a summary:
id: string;
key: string;
address: string;
additionalAddresses: WalletAdditionalAddress[];
chain: string;
isAuthenticated: boolean;
connector: [walletConnector](/wallets/using-wallets/interacting-with-wallets)
When is a wallet added to this array?
There are currently 2 ways a wallet can be added to the array:
- When the a new wallet is connected to the current session.
- When the user signs in, all wallets authenticated to his account are added.
Notice the intentional distinction between the user and the current session: if your end-user connects in
connect-only
mode, he doesn’t get a jwt. This means we have no access to the authenticated wallets.
When is a wallet removed from this array?
Wallets are only removed explicitly by the user, be it through log-out, unlinking, or disconnecting in connect-only
.
Was this page helpful?