Supported phone numbers
Phone OTP authentication relies on AWS SNS for SMS delivery. Coverage, deliverability, and compliance follow whatever AWS SNS supports at any given moment — see the AWS country list for the authoritative reference.
Phone number format
All numbers must follow the E.164 international format:
- Prefixed with
+and the country code - Maximum 15 digits, no spaces or dashes
- Examples:
+33612345678(France),+14155550100(US),+81312345678(Japan)
The Keyban backend rejects any number that does not parse as E.164 before issuing the OTP.
Country status
Most of the EU (FR, DE, ES, IT, NL, BE, AT, CH, PT, PL, SE, NO, DK, FI), the UK, the US, Canada, Brazil, India, Japan, Singapore, Australia, New Zealand, South Africa. No extra setup on Keyban's side — your end users receive the OTP within a few seconds.
China, India (sender IDs), United Kingdom (sender IDs). Local regulators require registered templates or sender IDs. Coordinate with Keyban support before launch if any of your users are in these countries.
Cuba, Iran, North Korea, Syria, Sudan. AWS SNS does not deliver SMS to these destinations. Phone OTP cannot be used for users with phone numbers in these countries.
The country status reflects AWS SNS policies and may change over time. For an integration in a specific country, check the AWS docs or open a ticket — Keyban does not maintain a separate allowlist.
Reference
Troubleshooting
If an OTP is requested but never arrives, walk through these in order:
- Re-check E.164 — the SDK does not auto-prefix the country code.
- Confirm the destination is in the Standard tier — pre-registration countries silently drop unsigned messages.
- Try a different number — some carriers occasionally drop A2P SMS without notice.
- Open a ticket with the masked number, the timestamp, and the organisation slug — Keyban support correlates with AWS SNS delivery logs.