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

# useManageMFA

Hook to open the MFA management screen for a user who has already enabled MFA.

### Import

```tsx
import { useManageMFA } from '@web3auth/react-native-sdk'

```

### Usage

```tsx
import { useManageMFA, useWeb3AuthUser } from '@web3auth/react-native-sdk'
import { Button, Text, View } from 'react-native'

function ManageMFAButton() {
  const { manageMFA, loading, error } = useManageMFA()
  const { isMFAEnabled } = useWeb3AuthUser()

  if (!isMFAEnabled) return null

  return (
    <View>
      <Button
        title={loading ? 'Opening MFA settings…' : 'Manage MFA'}
        disabled={loading}
        onPress={() => manageMFA()}
      />
      {error && <Text>{error.message}</Text>}
    </View>
  )
}

```

### Return type

```tsx
import { type IUseManageMFA } from '@web3auth/react-native-sdk'

```

#### `manageMFA`

`() => Promise<void>`

Opens the account dashboard in the in-app browser, where the user can add, update, or remove MFA factors. If MFA isn't enabled yet, `manageMFA` sets `error`; call [enableMFA](/embedded-wallets/sdk/react-native/hooks/useEnableMFA/) first.

#### `loading`

`boolean`

`true` while the MFA management flow is in progress.

#### `error`

`Web3authRNError | null`

Error from the most recent `manageMFA` call, or `null`.

### Related

- [MFA guide](/embedded-wallets/sdk/react-native/advanced/mfa/)
- [useEnableMFA](/embedded-wallets/sdk/react-native/hooks/useEnableMFA/)
