OTP, flipped

Your users send the OTP. You stop paying for SMS.

Flip OTP reverses phone verification. A tiny widget asks your user to send a 6-character code from WhatsApp to your business number — no SMS gateway, no per-message bill, no delivery failures.

1,000 verifications free No credit card Drop-in script tag
How it works

Three steps. Zero SMS spend.

The user already has WhatsApp open. The message costs them nothing and costs you nothing. You only pay for the dashboard.

01

Drop in the widget

Add one script tag and initialise it with the class of your phone input. A small Verify button appears inside the field.

02

User sends the code

Clicking Verify opens a modal with a 6-character code, a QR and a WhatsApp deep link. The user sends it from their own number.

03

You get a proof token

Our webhook matches the sender number and code, then returns an HMAC-signed proof your backend can verify offline.

Built for the indie stack

One script tag. Any form. Any framework.

No SDK lock-in, no server-side changes required to get started. The widget is vanilla JavaScript in a shadow DOM, so your CSS never fights it.

  • Works with React, Vue, Astro, Laravel — anything with an input
  • Signed proof token for server-side validation
  • Domain allowlist and per-site keys
  • Live usage, logs and verification status
html
<!-- 1. load the widget -->
<script src="https://app.flipotp.com/flipotp.js"></script>

<!-- 2. point it at your phone input -->
<input class="js-phone" name="phone" type="tel" />

<script>
  FlipOTP.init({
    key: 'fpo_live_your_site_key',
    input: '.js-phone',
    onVerified: (token) => console.log('verified', token)
  });
</script>
Why teams flip

The economics are absurd — in your favour.

No per-OTP cost

SMS gateways charge $0.01–$0.08 per message and fail in bad coverage. Inbound WhatsApp messages are free.

Higher completion

Users already live in WhatsApp. No SIM swaps, no waiting, no “code didn't arrive” support tickets.

Hard to spoof

A code is only accepted from the WhatsApp number being verified. Possession of the number is the proof.

Desktop friendly

Scan a QR to send from your phone when you're signing up on a laptop. No app switch gymnastics.

100-second window

Codes expire in 100 seconds. One active code per number, rate limits on every path, configurable from the console.

Verifiable proof

HMAC-signed tokens bind the verified phone to your site. Verify offline or via our API — your call.

Pricing

Free until it works. Cheap when it does.

Successful verifications only. Hard caps, no surprise overage invoices.

Dev
$0 forever

For prototypes and side projects that need to ship.

  • 1,000 lifetime verifications
  • Shared WhatsApp number
  • Community support
Start free
SaaS
Custom

For teams that need volume, seats and white-label.

  • Custom verification volume
  • Unlimited seats
  • White-label widget
Build a quote

Your next OTP bill is $0.

Ship the widget in ten minutes. Keep the SMS budget for something else.