For AI agents: a documentation index is available at /llms.txt. A markdown version of this page is available at the same URL with .md appended (or via Accept: text/markdown).
Skip to main content

useWeb3Auth

Hook to access the Web3Auth context.

Import

import { useWeb3Auth } from '@web3auth/modal/react'

Usage

import { useWeb3Auth } from '@web3auth/modal/react'

function App() {
const { web3Auth, isConnected, isInitializing, connection, status, initError } = useWeb3Auth()

if (isConnected) {
console.log('Connected via:', connection?.connectorName)
}
if (isInitializing) {
console.log('Web3Auth is initializing')
}
if (connection?.ethereumProvider) {
// Use for JSON-RPC edge cases; prefer Wagmi hooks for standard EVM flows
console.log('Ethereum provider available')
}
if (status) {
console.log('Web3Auth status:', status)
}
if (initError) {
console.log('Web3Auth initialization error:', initError)
}
}
info

For EVM wallet operations, use Wagmi hooks (useAccount, useBalance, useSendTransaction) after setting up WagmiProvider. Use connection.ethereumProvider only for JSON-RPC methods Wagmi does not cover. See the Web SDK v11 migration guide.

Return type

import { type IUseWeb3Auth } from '@web3auth/modal/react'

connection

{ ethereumProvider, solanaWallet, connectorName } | null

Active wallet connection after sign-in. ethereumProvider is an EIP-1193 provider for EVM; solanaWallet exposes Solana wallet utilities.

initError

Error | null

Error that occurred during Web3Auth initialization.

isConnected

boolean

Whether the user is connected to Web3Auth.

isInitialized

boolean

Whether Web3Auth has completed initialization.

isInitializing

boolean

Whether Web3Auth is currently initializing.

status

string

Current status of the Web3Auth connection.

web3Auth

Web3Auth

The Web3Auth instance.

getPlugin

(pluginName: PLUGIN_NAME) => IPlugin | null

Helper function to get a plugin by name.