Adding phone verification to your app takes an afternoon with a modern OTP API. You need two things: send a code to the user's phone, then verify they entered it correctly.

Choose your integration path

PathBest forTime to ship
Drop-in widgetFastest launch, pre-built UIMinutes
REST APICustom UI, full control1–2 hours

REST API quickstart

  • POST /v1/verify/send — send OTP to phone number
  • POST /v1/verify/check — validate the code user entered
  • Store your secret key (sk_live_…) server-side only
  • Use the signed token to confirm verification in your database

Widget quickstart

Add a div container, load the DoneOTP widget script, and call DoneOTP.init() with your public key. On success, send the token to your backend and call /v1/verify/validate-token — never trust the browser alone.

See the full OTP API documentation for authentication, webhooks, rate limits, and error codes.