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

# Send WhatsApp OTPs From Your Business Number

> Deliver phone signer one-time codes over WhatsApp from your own verified business number

When a phone signer uses the WhatsApp channel, Crossmint sends the one-time code from the Crossmint WhatsApp number by default. Connect your own WhatsApp Business Account in the Console, and your users receive the codes from your number, under your display name.

<Snippet file="enterprise-feature.mdx" />

The sender applies only to phone signers configured with `channel: "whatsapp"` (see [Configure Wallet Recovery](/wallets/guides/recovery/configure-recovery#sms-otp-recovery-method)). Codes sent by SMS do not change.

## Prerequisites

* **Verified Meta business**: a Meta business portfolio that has completed Meta business verification. WhatsApp rejects the OTP templates of an unverified business, and the registration fails.
* **Permission to create OTP templates**: Crossmint creates an authentication (one-time passcode) message template in your WhatsApp Business Account and sends every code with it. Your business must be allowed to create this kind of template. [Create a test OTP template](#check-that-your-business-can-create-otp-templates) to confirm it before you connect.
* **Phone number**: the number your users receive codes from, in E.164 format (for example `+14155550100`). Meta asks you to verify it with a code during the signup.
* **Facebook account**: an account with admin access to the business portfolio, to complete the Meta signup.

## Check That Your Business Can Create OTP Templates

The safest path is to create a test OTP template before you connect your number. If Meta rejects it, the registration in Crossmint fails for the same reason.

<Steps>
  <Step title="Open Message Templates">
    In <a href="https://business.facebook.com" target="_blank">Meta Business Suite</a>, open **WhatsApp Manager → Message templates**.
  </Step>

  <Step title="Create an Authentication Template">
    Click **Create template**, choose the **Authentication** category and the **One-time passcode** type, and submit the template.
  </Step>

  <Step title="Confirm Meta Approves It">
    Wait until the template status is **Active**. If Meta rejects it, or the **Authentication** category is not available, complete business verification and fix the permissions Meta reports before you continue. You can delete the test template once it is approved.
  </Step>
</Steps>

## Connect Your Number

<Steps>
  <Step title="Open Wallets Settings">
    Open the <a href="https://www.crossmint.com/console" target="_blank">Crossmint Console</a>, go to **Wallets → Settings**, and find the **WhatsApp sender** section. The section appears once Crossmint enables the feature for your project.
  </Step>

  <Step title="Enter the Number and Display Name">
    Enter the phone number in E.164 format and the display name your users see. Meta reviews the display name.
  </Step>

  <Step title="Complete the Meta Signup">
    Click **Connect with Facebook**. In the Meta window, sign in, select your business portfolio, create or select a WhatsApp Business Account, and add and verify the phone number.
  </Step>

  <Step title="Wait Until the Sender Is Online">
    The section shows the sender as **Registering** while Meta sets up the number and approves the OTP template. This usually takes a few minutes, and the Console updates the status on its own. When the status is **Online**, your users receive codes from your number.
  </Step>
</Steps>

## Sender Statuses

Crossmint sends codes from your number only while the sender is **Online**. In every other status, codes go out from the Crossmint number, so your users always receive them.

| Status | Meaning | Codes sent from |
| - | - | - |
| Registering | Meta is setting up the number and reviewing the OTP template | Crossmint number |
| Online | The sender is ready | Your number |
| Offline | Meta took the number offline, for example for its quality rating or messaging limit | Crossmint number |
| Failed | The registration stopped. The Console shows the reason. Fix it, then click **Retry** | Crossmint number |

A registration that does not reach **Online** within 72 hours fails.

## Remove the Sender

In the **WhatsApp sender** section, click **Remove sender** and confirm. Codes go out from the Crossmint number again. You cannot undo the removal: to use your number again, connect it again with the Meta signup.

## Troubleshooting

<AccordionGroup>
  <Accordion title="The registration fails with &#x22;WhatsApp rejected the authentication templates&#x22;">
    Meta did not approve the OTP template, usually because the business portfolio is not verified or cannot create authentication templates. Complete business verification, [create a test OTP template](#check-that-your-business-can-create-otp-templates) to confirm Meta approves it, then click **Retry**.
  </Accordion>

  <Accordion title="The sender stays Registering">
    Meta can take longer to review a new display name or template. The Console keeps checking. If the sender is not **Online** within 72 hours, the registration fails with the reason, and you can click **Retry**.
  </Accordion>

  <Accordion title="The sender is Offline">
    Meta took the number offline. The Console shows the reason Meta reports. Check the number's quality rating and messaging limit in WhatsApp Manager. Until the sender is back online, your users receive codes from the Crossmint number.
  </Accordion>
</AccordionGroup>

## Next Steps

<CardGroup cols={2}>
  <Card title="Configure Wallet Recovery" icon="shield" href="/wallets/guides/recovery/configure-recovery">
    Set a phone recovery method with the WhatsApp channel
  </Card>

  <Card title="Signer Types" icon="key" href="/wallets/concepts/signer-types">
    Compare phone OTP with the other signer types
  </Card>
</CardGroup>
