Skip to content
HiVouch

Reverse OTP over WhatsApp

Say hi.
You're verified.

Your users send one WhatsApp message instead of typing a code. HiVouch matches it to their number in about three seconds. No SMS bills, nothing to intercept, and you pay only when a user is verified.

  • ~3 s median
  • No code to type
  • Pay on success

Built for apps in Egypt and the Gulf

  • Acme Wallet
  • Nilepay
  • Souq Cart
  • Masar Health
  • Rakeeb

How it works

The message travels the other way

  1. 1

    Tap

    Your user taps "Say hi on WhatsApp". WhatsApp opens with the greeting already written.

  2. 2

    Send

    They press send. The greeting carries a one-time token tied to their session.

  3. 3

    Vouched

    HiVouch matches the token to the sender's number, replies "Vouched", and calls your webhook.

Compared with SMS

Cheaper than SMS, and nothing to type

HiVouch compared with SMS OTP
SMS OTP (local route)HiVouch
Cost per verified user, Egypt$0.012-0.026$0.003-0.007
What the user doesWaits, copies and types 6 digitsTaps, then presses send
Failed and resent attemptsYou pay for every SMS sentFree
SMS-pumping fraudExposedNot possible: the user sends
What it provesSomeone could read the codeThe SIM itself sent the message

SMS range from public SMS A2P package prices (2026) at 1.1 messages per verified user. HiVouch range from Egypt package prices.

Pricing

Pay only when a user is verified

100 free verifications every day. After that, one price list in USD for every country. Failed, expired and abandoned attempts are always free.

See full pricing

For developers

Live in an afternoon

Use the hosted page as a standard OpenID Connect provider, drop in the widget, or call the REST API. Signed webhooks, idempotent requests and a full test mode come with every account.

  • Works with Auth0, Keycloak, Supabase and Firebase
  • SDKs for Node, Python, PHP, Go, Java and .NET
  • Web widget plus iOS, Android, Flutter and React Native
Try the widget
const v = await hivouch.verifications.create({
  phone: "+201005550142",
  locale: "ar",
});

// Show v.wa_link as a button or QR code.

// Your webhook receives:
{
  "type": "verification.verified",
  "data": { "object": {
    "id": "ver_01JC8Z4Q7M",
    "verified_phone": "+201005550142",
    "latency_ms": 2840
  } }
}

Start with 100 free verifications a day

Test mode right away. No card needed until you buy a package.

Create your account