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.
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.
The user already has WhatsApp open. The message costs them nothing and costs you nothing. You only pay for the dashboard.
Add one script tag and initialise it with the class of your phone input. A small Verify button appears inside the field.
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.
Our webhook matches the sender number and code, then returns an HMAC-signed proof your backend can verify offline.
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.
<!-- 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>
SMS gateways charge $0.01–$0.08 per message and fail in bad coverage. Inbound WhatsApp messages are free.
Users already live in WhatsApp. No SIM swaps, no waiting, no “code didn't arrive” support tickets.
A code is only accepted from the WhatsApp number being verified. Possession of the number is the proof.
Scan a QR to send from your phone when you're signing up on a laptop. No app switch gymnastics.
Codes expire in 100 seconds. One active code per number, rate limits on every path, configurable from the console.
HMAC-signed tokens bind the verified phone to your site. Verify offline or via our API — your call.
Successful verifications only. Hard caps, no surprise overage invoices.
For prototypes and side projects that need to ship.
For small products with real signups every day.
For teams that need volume, seats and white-label.
Ship the widget in ten minutes. Keep the SMS budget for something else.