> For the complete documentation index, see [llms.txt](/llms.txt).

# switchChain

Function to switch blockchain networks with Web3Auth.

## Usage

```javascript
await web3auth.switchChain({ chainId: '0xaa36a7' })

```

## Parameters

**Table**

| Parameter             | Description                                                                | Type   | Required |
| --------------------- | -------------------------------------------------------------------------- | ------ | -------- |
| `{ chainId: string }` | Chain ID of the chain to switch to, for example, `{ chainId: "0xaa36a7" }` | Object | Yes      |

**Function Definition**

```tsx
async switchChain(params: { chainId: string }): Promise<void> {
    if (this.status !== ADAPTER_STATUS.CONNECTED || !this.connectedAdapterName) throw WalletLoginError.notConnectedError(`No wallet is connected`);
    return this.walletAdapters[this.connectedAdapterName].switchChain(params);
}

```

## Example

switchChain.js

```javascript
async function onConnected() {
  const chains = web3auth.coreOptions.chains ?? []
  const chainId = web3auth.currentChainId
  // Update UI with chainId and available chains
}

// Initialize Web3Auth first
await web3auth.init()

// Switch to Sepolia Testnet
try {
  await web3auth.switchChain({ chainId: '0xaa36a7' })
  await onConnected()
  console.log('Successfully switched to Sepolia Testnet')
} catch (error) {
  console.error('Error switching chain:', error)
}

```
