No-API demo: nothing here calls Supabase, Meta, WhatsApp or SMS. All state is mock/local. See the GitHub branch + SYSTEM_LITERACY.md for the real Next.js implementation.
Back to overview

OTP — WhatsApp primary, SMS fallback

WhatsApp Cloud API is tried first; if it is not ready or fails, Message Central SMS is used.

Channel selection

Decision logic

  1. If WhatsApp is enabled & ready → try WhatsApp (wa: prefixed verification id).
  2. If WhatsApp send fails → fall back to Message Central SMS.
  3. If WhatsApp not configured → use Message Central SMS directly (current default).

Cost note

Per SYSTEM_LITERACY.md §18, SMS OTP is currently cheaper for utility auth in India, so SMS stays the default OTP channel. WhatsApp is used where it is not more expensive (e.g. marketing/order updates).