SMS · HOW IT WORKS

OTP by SMS. Carrier-direct, every time.

Novauth submits your one-time code directly over SMPP to carrier networks — no aggregator, no re-routing. Users get a standard SMS within seconds and enter the code to verify.

< 30s delivery · 190+ countries · SMPP direct

SMS delivered · 892 ms

+44 7700 900812

POST /connect-hub/smsLIVE
// OTP via carrier-direct SMPP
const res = await fetch('https://api.novauth.com/…/sms', {
method: 'POST',
headers: { 'x-api-key': 'sk_•••' },
body: JSON.stringify({
to: '+14155552671',
text: 'Your code is 8421',
}),
});
// ← { messageId: "01J…", status: "queued" }
20101JXSM1A2B+44 7700 900812892 ms
20101JXSM3C4D+33 6 12 34 56 781104 ms
20101JXSM5E6F+49 30 12345678736 ms
SDR

delivery receipt received

The SMS verification flow

From phone number entry to verified — step by step.

Live trace · loop
1
User

User submits phone number in your app or web form

2
Your Backend

POST /sms with to, text, and optional from field

3
Novauth

Validates request, selects SMPP route by destination prefix

4
SMPP Gateway

Message submitted to carrier SMPP endpoint · messageId returned

5
Carrier

Carrier delivers SMS to user's handset · delivery receipt published

6
Verified

User reads OTP from SMS and enters code · delivery tracked via SDR

API endpoint

POST /api/v1/connect-hub/sms
View full docs

What makes it work

Direct SMPP routes

Messages are submitted via SMPP (Short Message Peer-to-Peer) — the same protocol carriers use internally. No aggregator reselling, no markup.

Delivery receipts (SDR)

Every message returns a messageId. Poll GET /sms/{messageId}/sdr or receive a webhook when the carrier confirms delivery, failure, or expiry.

Sender ID control

Set a custom from field (alphanumeric or numeric) per country. Novauth validates sender ID rules per destination so messages aren't silently rejected.

Add SMS verification in minutes

$2 free credit, no credit card required. Full docs and test environment included.