> ## 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.

# useSwitchNetwork

<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 useSwitchNetwork hook is designed to facilitate the process of switching the active network of a wallet.

### Usage

Available function and states

| Method        | Type                                                                     | Description                                                 |
| ------------- | ------------------------------------------------------------------------ | ----------------------------------------------------------- |
| switchNetwork | `(args: { wallet: Wallet; network: number \| string }) => Promise<void>` | Function to switch the given wallet to the given network id |

### Example

```tsx theme={"system"}
import React from "react";
import {
  useSwitchNetwork,
  useDynamicContext,
} from "@dynamic-labs/sdk-react-core";
import { base } from "viem/chains";

const NetworkSwitcher = () => {
  const switchNetwork = useSwitchNetwork();
  const { primaryWallet } = useDynamicContext();

  return (
    <>
      <button
        onClick={() =>
          switchNetwork({ wallet: primaryWallet, network: base.id })
        }
      >
        Switch to Base
      </button>
    </>
  );
};
```

### Hook Details

**Function: switchNetwork**

The switchNetwork function switches the network of the given wallet. It takes an object containing the wallet who's network should be switched, as well as the network id to switch to.
