> ## Documentation Index
> Fetch the complete documentation index at: https://docs.dynamic.xyz/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# onOtpVerificationResult

<Card title="Recommended: JavaScript SDK with React Hooks" icon="react" color="#4779FE">
  For new React apps, we recommend the JavaScript SDK with React Hooks (`@dynamic-labs-sdk/react-hooks`) instead of the legacy React SDK documented here. The JS SDK comes with many benefits such as a much smaller bundle size and other optimizations. Use the [React quickstart (JavaScript SDK)](/javascript/reference/react-quickstart) to get started.
</Card>

### Summary

This event will be called whenever an OTP token is submitted for verification.

It provides paramteres that will indicate whether the verification was successful or not,
and also to differentiate whether it was an email or SMS OTP, through the following signature:

```typescript theme={"system"}
type onOtpVerificationResult = (
  isSuccess: boolean,
  destination: 'email' | 'sms'
) => void
```

<Warning>
  This event will **not** be called by the `useOtpVerificationRequest` hook,
  or by email/phone number verification from `updateUser`, under the
  `useUserUpdateRequest` hook. You are expected to decide when verification
  should be declared "successful" when using these methods
</Warning>

### Usage

```jsx theme={"system"}
<DynamicContextProvider
  settings={{
    events: {
      onOtpVerificationResult: (isSuccess, destination) => {
        console.log(
          destination + ' verification ' + (isSuccess ? 'success' : 'failed')
        )
      },
    },
  }}
>
  {/* ... rest of your app ... */}
</DynamicContextProvider>
```
