> ## Documentation Index
> Fetch the complete documentation index at: https://docs.dynamic.xyz/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# useSwitchWallet

<Card title="Recommended: JavaScript SDK with React Hooks" icon="react" color="#4779FE">
  For new React apps, we recommend the JavaScript SDK with React Hooks (`@dynamic-labs-sdk/react-hooks`) instead of the legacy React SDK documented here. The JS SDK comes with many benefits such as a much smaller bundle size and other optimizations. Use the [React quickstart (JavaScript SDK)](/javascript/reference/react-quickstart) to get started.
</Card>

### Summary

The useSwitchWallet hook is designed to facilitate the process of switching between wallets of an authenticated user. It provides a function to switch the primary wallet.

### Usage

Available function and states

| Method       | Type                                  | Description                                        |
| ------------ | ------------------------------------- | -------------------------------------------------- |
| switchWallet | `(walletId: string) => Promise<void>` | Function to switch the primary wallet by wallet ID |

### Example

```tsx theme={"system"}
import React from "react";
import { useSwitchWallet, useUserWallets } from "@dynamic-labs/sdk-react-core";

const WalletSwitcher = () => {
  const switchWallet = useSwitchWallet();
  const userWallets = useUserWallets();

  return (
    <div>
      {userWallets.map((wallet) => (
        <button key={wallet.id} onClick={() => switchWallet(wallet.id)}>
          {wallet.address}
        </button>
      ))}
    </div>
  );
};
```

### Hook Details

**Function: switchWallet**

The switchWallet function switches the primary wallet of the authenticated user. It takes a single argument, walletId, which is the ID of the wallet to switch to.
