Skip to main content

Prerequisites

Before this page: create and initialize a Dynamic client (see Creating a Dynamic client, Initializing the Dynamic client), and let users connect external wallets. This page manages the wallets that are already connected.

What you’ll build

A wallet manager: a list of every wallet on the account, a way to choose which wallet your app acts on, and a way to remove a wallet. Your app decides which wallet is selected and keeps that choice in your own state — the SDK doesn’t track a “current” wallet for you. Each wallet is a WalletAccount with an address, a walletProviderKey, a chain, and a verifiedCredentialId — non-null when the wallet’s ownership has been verified.

Listing wallets

getWalletAccounts returns every connected wallet. Your app keeps track of which one the user has selected and passes that wallet into the operations that act on it.
An unverified wallet is connected but hasn’t proven ownership, so it isn’t a trusted credential. If you need it verified, run the verify step from Connecting external wallets.

Choosing which wallet to act on

The JS SDK doesn’t keep a “current” wallet. Your app decides which wallet it’s acting on, stores that choice in your own state, and passes that WalletAccount into balance, network, and transaction calls.
Keep the selection in one place — React state, a store, or context — and pass the selected WalletAccount down, rather than each component picking its own wallet. That keeps your balance, network, and transaction screens all acting on the same wallet.

Handling errors

See also

  • Connecting external wallets — add wallets to the account
  • Token balances & display — show balances for a wallet
  • Transaction confirmation & simulation — send from the selected wallet
Last modified on July 21, 2026