SMS-A2P
Passcodes on a priority bind. Campaigns on their own.
Verification traffic goes straight to the terminating operator over pre-warmed direct binds. Marketing sends run on a separate, throttled queue, so a flash sale never slows a sign-up.
Built for the passcode that has to arrive
Measured on the priority bind, submit to operator receipt
Fast enough for a login screen
Queue residency stays under 80 ms before the message reaches the operator.
Receipts from the operator itself
Every DLR carries the real operator status and MCC-MNC. No synthetic OKs.
No aggregator chain
Direct interconnects only. No grey routes, no SIM farms, no rewritten originators.
Two queues, isolated at the network layer
Aggregators mix both kinds of traffic on one bind. We keep them apart
Transactional and OTP
Dedicated transmitter and receiver binds straight to the terminating SMSC, with strict admission control.
Marketing and campaigns
Rate-controlled bulk routes that respect recipient time zones and suppress opted-out numbers before submission.
What comes with every route
Sender ID management
Alphanumeric IDs where the market allows it, and a registration workflow where it does not.
Delivery receipts you can audit
Operator status, terminating network, timestamp and latency, signed on the way to your webhook.
Fallback to voice
If a passcode is not delivered in time, the same verification continues as a voice call.
Learn moreRoute specificationView full specification
- Route class
- Direct, 1 hop
- p95 submit to DLR
- 3.4 s
- OTP delivery
- 99.2 %
- Sustained throughput
- 2,400 msg/s
- Receipts
- Per-message DLR
- Protocols
- SMPP 3.4, REST
- Sender ID
- Alphanumeric, numeric, pre-registered
- Concatenation
- GSM 03.38 / UCS-2, up to 1,530 characters
Put a route to the test.
curl -X POST "$BASE_URL/spam/checks" \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{"items": [{"kind": "sender",
"value": "+15555550123"}]}'Submit a check