switchChain
Action for switching the target chain for a connector or the Wagmi Config
.
Import
ts
import { switchChain } from '@wagmi/core'
import { switchChain } from '@wagmi/core'
Usage
ts
import { switchChain } from '@wagmi/core'
import { mainnet } from '@wagmi/core/chains'
import { config } from './config'
await switchChain(config, { chainId: mainnet.id })
import { switchChain } from '@wagmi/core'
import { mainnet } from '@wagmi/core/chains'
import { config } from './config'
await switchChain(config, { chainId: mainnet.id })
ts
import { http, createConfig } from '@wagmi/core'
import { mainnet, sepolia } from '@wagmi/core/chains'
export const config = createConfig({
chains: [mainnet, sepolia],
transports: {
[mainnet.id]: http(),
[sepolia.id]: http(),
},
})
import { http, createConfig } from '@wagmi/core'
import { mainnet, sepolia } from '@wagmi/core/chains'
export const config = createConfig({
chains: [mainnet, sepolia],
transports: {
[mainnet.id]: http(),
[sepolia.id]: http(),
},
})
TIP
When connected, switchChain
will switch the target chain for the connector. When not connected, switchChain
will switch the target chain for the Wagmi Config
.
Parameters
ts
import { type SwitchChainParameters } from '@wagmi/core'
import { type SwitchChainParameters } from '@wagmi/core'
addEthereumChainParameter
{ chainName: string; nativeCurrency?: { name: string; symbol: string; decimals: number } | undefined; rpcUrls: readonly string[]; blockExplorerUrls?: string[] | undefined; iconUrls?: string[] | undefined } | undefined
EIP-3085 parameters to use when adding chain to connector (when supported).
ts
import { switchChain } from '@wagmi/core'
import { mainnet } from '@wagmi/core/chains'
import { config } from './config'
const result = await switchChain(config, {
addEthereumChainParameter: {
iconUrls: ['https://example.com/icon.png'],
},
chainId: mainnet.id,
})
import { switchChain } from '@wagmi/core'
import { mainnet } from '@wagmi/core/chains'
import { config } from './config'
const result = await switchChain(config, {
addEthereumChainParameter: {
iconUrls: ['https://example.com/icon.png'],
},
chainId: mainnet.id,
})
ts
import { http, createConfig } from '@wagmi/core'
import { mainnet, sepolia } from '@wagmi/core/chains'
export const config = createConfig({
chains: [mainnet, sepolia],
transports: {
[mainnet.id]: http(),
[sepolia.id]: http(),
},
})
import { http, createConfig } from '@wagmi/core'
import { mainnet, sepolia } from '@wagmi/core/chains'
export const config = createConfig({
chains: [mainnet, sepolia],
transports: {
[mainnet.id]: http(),
[sepolia.id]: http(),
},
})
chainId
config['chains'][number]['id'] | undefined
ID of chain to switch to.
ts
import { switchChain } from '@wagmi/core'
import { mainnet } from '@wagmi/core/chains'
import { config } from './config'
const result = await switchChain(config, {
chainId: mainnet.id,
})
import { switchChain } from '@wagmi/core'
import { mainnet } from '@wagmi/core/chains'
import { config } from './config'
const result = await switchChain(config, {
chainId: mainnet.id,
})
ts
import { http, createConfig } from '@wagmi/core'
import { mainnet, sepolia } from '@wagmi/core/chains'
export const config = createConfig({
chains: [mainnet, sepolia],
transports: {
[mainnet.id]: http(),
[sepolia.id]: http(),
},
})
import { http, createConfig } from '@wagmi/core'
import { mainnet, sepolia } from '@wagmi/core/chains'
export const config = createConfig({
chains: [mainnet, sepolia],
transports: {
[mainnet.id]: http(),
[sepolia.id]: http(),
},
})
connector
Connector
Connector to switch chain with.
ts
import { getConnections, switchAccount } from '@wagmi/core'
import { mainnet } from '@wagmi/core/chains'
import { config } from './config'
const connections = getConnections(config)
const result = await switchChain(config, {
chainId: mainnet.id,
connector: connections[0]?.connector,
})
import { getConnections, switchAccount } from '@wagmi/core'
import { mainnet } from '@wagmi/core/chains'
import { config } from './config'
const connections = getConnections(config)
const result = await switchChain(config, {
chainId: mainnet.id,
connector: connections[0]?.connector,
})
ts
import { http, createConfig } from '@wagmi/core'
import { mainnet, sepolia } from '@wagmi/core/chains'
export const config = createConfig({
chains: [mainnet, sepolia],
transports: {
[mainnet.id]: http(),
[sepolia.id]: http(),
},
})
import { http, createConfig } from '@wagmi/core'
import { mainnet, sepolia } from '@wagmi/core/chains'
export const config = createConfig({
chains: [mainnet, sepolia],
transports: {
[mainnet.id]: http(),
[sepolia.id]: http(),
},
})
Return Type
ts
import { type SwitchChainReturnType } from '@wagmi/core'
import { type SwitchChainReturnType } from '@wagmi/core'
Chain
Chain that was switched to.
Error
ts
import { type SwitchChainErrorType } from '@wagmi/core'
import { type SwitchChainErrorType } from '@wagmi/core'
TanStack Query
ts
import {
type SwitchChainData,
type SwitchChainVariables,
type SwitchChainMutate,
type SwitchChainMutateAsync,
switchChainMutationOptions,
} from '@wagmi/core/query'
import {
type SwitchChainData,
type SwitchChainVariables,
type SwitchChainMutate,
type SwitchChainMutateAsync,
switchChainMutationOptions,
} from '@wagmi/core/query'
Viem
switchChain
when connected.