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

# React Native hooks for Embedded Wallets

The Embedded Wallets React Native SDK exposes its features through React hooks. Use all hooks inside the `Web3AuthProvider` component tree.

## Core hooks

| Hook                                                                 | Description                                                                                        |
| -------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- |
| [useWeb3Auth](/embedded-wallets/sdk/react-native/hooks/useWeb3Auth/) | SDK state (`isConnected`, `isInitializing`, `initError`), the wallet `connection`, and `web3Auth`. |

## Authentication hooks

| Hook                                                                                     | Description                                     |
| ---------------------------------------------------------------------------------------- | ----------------------------------------------- |
| [useWeb3AuthConnect](/embedded-wallets/sdk/react-native/hooks/useWeb3AuthConnect/)       | Sign a user in with `connectTo`.                |
| [useWeb3AuthDisconnect](/embedded-wallets/sdk/react-native/hooks/useWeb3AuthDisconnect/) | Sign the user out.                              |
| [useRefreshSession](/embedded-wallets/sdk/react-native/hooks/useRefreshSession/)         | Revalidate the session and reload session data. |

## Identity hooks

| Hook                                                                           | Description                                            |
| ------------------------------------------------------------------------------ | ------------------------------------------------------ |
| [useWeb3AuthUser](/embedded-wallets/sdk/react-native/hooks/useWeb3AuthUser/)   | The signed-in user's profile and MFA status.           |
| [useAuthTokenInfo](/embedded-wallets/sdk/react-native/hooks/useAuthTokenInfo/) | Identity token (JWT) for server-side verification.     |
| [useAccessToken](/embedded-wallets/sdk/react-native/hooks/useAccessToken/)     | Embedded Wallets access token for the current session. |
| [useIdentityToken](/embedded-wallets/sdk/react-native/hooks/useIdentityToken/) | Deprecated. Use `useAuthTokenInfo` instead.            |

## Multi-factor authentication hooks

| Hook                                                                   | Description                                     |
| ---------------------------------------------------------------------- | ----------------------------------------------- |
| [useEnableMFA](/embedded-wallets/sdk/react-native/hooks/useEnableMFA/) | Start MFA setup for the signed-in user.         |
| [useManageMFA](/embedded-wallets/sdk/react-native/hooks/useManageMFA/) | Manage MFA factors for a user with MFA enabled. |

## Wallet Services hooks

| Hook                                                                                 | Description                                                        |
| ------------------------------------------------------------------------------------ | ------------------------------------------------------------------ |
| [useWalletUI](/embedded-wallets/sdk/react-native/hooks/useWalletUI/)                 | Open the Wallet Services UI.                                       |
| [useSignatureRequest](/embedded-wallets/sdk/react-native/hooks/useSignatureRequest/) | Request a signature with a confirmation screen in Wallet Services. |

## Chain-specific hooks

- [Ethereum hooks (Wagmi)](/embedded-wallets/sdk/react-native/ethereum-hooks/) from `@web3auth/react-native-sdk/wagmi`
- [Solana hooks](/embedded-wallets/sdk/react-native/solana-hooks/) from `@web3auth/react-native-sdk/solana`: `useSolanaWallet`, `useSignMessage`, `useSignTransaction`, and `useSignAndSendTransaction`
