smsroute delivers A2P SMS to any US mobile number from $0.0125 per message with A2P 10DLC compliance included — TCR brand vetting, campaign registration, and carrier trust-score handling are all managed for you, so your integration ships in minutes instead of weeks. Routes cover all three national carriers (Verizon, AT&T, T-Mobile) with 99.0% delivery success and 212 ms median latency from our North American POP. Pay in Bitcoin, USDT, Ethereum, Litecoin, Monero, or Solana. No KYC at signup.
A2P 10DLC — The Registration Process Nobody Explains Well
Every message you send from an application to a US mobile number on a 10-digit long code is A2P 10DLC traffic, and since late 2023 the three major carriers enforce 100% registration. Unregistered A2P is dropped silently on Verizon and T-Mobile and surcharged plus throttled on AT&T. There is no grace period left. Here is the actual process, stripped of the marketing euphemisms.
Step 1 — Brand registration. You register your sending entity with The Campaign Registry (TCR), the industry-operated middleware that sits between senders and the three carriers. Brand registration costs $4 one-time and requires your legal company name, EIN (or SSN for sole proprietors), address, website URL, and a named representative. TCR passes the brand to a third-party vetting provider (Aegis Mobile or WMC Global) that returns a numeric trust score from 0 to 100 based on company age, EIN authenticity, web presence, historical complaint history, and opt-in language on the website you list.
Step 2 — Campaign registration. A campaign is the use case — "2FA", "Marketing", "Account Notification", "Low Volume Mixed", etc. Each campaign costs $10 one-time and $2-$10/month depending on use case (2FA and customer-care are the cheap buckets; marketing is the expensive one). You supply sample messages, the opt-in mechanism (check-box on signup, verbal consent with recorded call, keyword opt-in, etc.), the opt-out keyword (STOP is required), and help-command response text. Each of the three carriers then reviews the campaign independently — Verizon uses a slightly stricter content policy, T-Mobile looks harder at the opt-in flow, AT&T mostly cares about sample-message authenticity. Plan 5-7 business days from brand submission to all three carriers returning "approved."
Step 3 — Per-message surcharges. Once approved, every message carries a per-segment surcharge levied by the carrier (not by TCR, not by your aggregator). T-Mobile charges roughly $0.003 per segment on top of the wholesale SMS rate; Verizon about $0.0025; AT&T about $0.002. Those surcharges are already baked into smsroute's $0.0125 published rate — you do not add them on top.
Sole-proprietor vs standard brand. If you register as a sole proprietor (individual with SSN rather than company with EIN), you skip the vetting step. That is faster — same-day approval — but you are permanently locked to the lowest throughput tier (about 1,000 messages per day, and a hard cap around 4,500 messages/day on Verizon even with a good score). Standard brands with EIN are the only way to reach high trust scores and higher throughput. For a production application, register as a standard brand even if you are a solo founder — form a single-member LLC for $100 and file with the EIN. The vetting improvement pays back within a week of traffic.
The shared-campaign shortcut. smsroute operates a pool of pre-registered low-volume shared campaigns that developers can route traffic through without filing their own brand. Shared campaigns work for OTP, customer-care replies, and low-volume alert traffic up to about 200 messages/day per account. Above that you must file your own brand — smsroute's dashboard walks you through the TCR submission without leaving the UI.
10DLC Throughput Tiers — What TPS Your Trust Score Actually Unlocks
Trust score (the 0-100 number TCR returns after vetting) directly determines the messages-per-second you can push through each carrier. The exact numbers each carrier publishes occasionally drift, but the industry-known mapping as of 2026 is:
| Trust tier | Score range | T-Mobile TPS | Verizon daily cap | AT&T TPS |
|---|---|---|---|---|
| Low | 0-39 (incl. all sole-prop) | 0.25 | ~4,500/day | 0.5 |
| Standard | 40-74 | 1-3 | ~200,000/day | 1-2 |
| High | 75-100 | 10+ | unlimited (soft) | 4-8 |
The most famous gotcha is Verizon's Low-tier daily cap at roughly 4,500 messages per 24-hour window — many teams hit this on their first real launch day, see their traffic silently stop landing on Verizon handsets around dinner time, and scramble. The fix is vetting, not retries.
Fast-track vs standard review. TCR offers a paid "Fast-Track Vetting" option (~$40 extra) that returns a trust score in under 4 hours instead of 1-2 business days. It does not change the score itself — it just returns the number faster. Worth it if you are launching against a deadline; skip it otherwise. Standard carrier review of the campaign still runs on carrier time regardless of vetting speed, so Fast-Track only compresses one of the two serial waits.
TCPA Consent — The Three Types of Written Consent That Actually Hold Up in Court
The Telephone Consumer Protection Act (47 USC § 227) is privately enforceable at $500 per non-consenting message, tripled to $1,500 for willful violations. Plaintiffs' counsel aggregate these into class actions that routinely settle at 8- and 9-figure sums — Papa John's settled for $16.5 million in 2013, Jiffy Lube for $47 million in 2012, and DISH Network received a $280 million federal court judgment in 2017 (DOJ/FTC do-not-call case) that after 7th Circuit remand settled for $210 million in December 2020. There is a specific taxonomy of consent that matters in defense.
Prior express consent. The consumer gave you their number in a context where SMS was reasonably expected — for example, checking an "SMS me order updates" box at checkout. Sufficient for transactional (non-marketing) messages only: OTP codes, delivery notifications, appointment reminders.
Prior express written consent. The consumer signed or checked an affirmative written agreement that specifically states (a) they will receive SMS from you, (b) SMS may be sent via automated systems, (c) consent is not a condition of purchase, and (d) standard message-and-data rates apply. This is what you need for any marketing SMS. The 2013 FCC rule sharpened this standard, and post-2013 cases have turned on whether the consent form included all four elements. Pre-checked opt-in boxes do not qualify as express written consent — the recipient must take an affirmative action.
Prior express written consent for autodialed marketing. The strictest tier. Required for any marketing SMS sent from an automated system (which is effectively all commercial SMS). Must include a clear conspicuous disclosure with the four elements above, be electronically captured with a timestamp, and be retrievable for five years. Keep consent records indefinitely if you can — plaintiffs routinely challenge consent that is more than a few years old on the theory that the evidence trail degrades.
Mobile operators in the United States
US mobile is a tight triopoly of three national carriers plus a long tail of MVNOs that resell on one of the three networks. As of 2026 market share splits roughly Verizon 37%, T-Mobile 34%, AT&T 29%. Each carrier has quirks on A2P:
Verizon Wireless. 37% share, largest network. Verizon's A2P engineering is the most aggressive on trust-score enforcement — the daily cap at low-trust tier (~4,500 msg/day) is the single most common throughput gotcha. Verizon also has the strictest sample-message review: if your TCR campaign sample text includes "promo," "discount," or "sale" and your use case is not "Marketing," Verizon rejects the campaign until you re-categorize. P2P and 2FA throughput to Verizon is excellent — median 180 ms from our North American POP.
T-Mobile US. 34% share, merged with Sprint in 2020 so the current network is the combined footprint. T-Mobile publishes the most transparent throughput tiers — they explicitly list the 10 TPS High-tier rate. Their spam filtering is content-based and opinionated: URLs on shorteners (bit.ly, t.co, etc.) get rewritten or filtered; use a branded shortener on your own domain. Median latency 224 ms.
AT&T Mobility. 29% share. AT&T applies the per-segment carrier surcharge most consistently but is the most lenient on content filtering — fewest outright drops, most delivery receipts. Median latency 205 ms. AT&T does not enforce a hard daily cap at the low-trust tier the way Verizon does; they throttle instead, so messages eventually land but slowly.
MVNOs (Mint, Cricket, Metro by T-Mobile, Visible, US Mobile, Spectrum Mobile, etc.) inherit their host network's A2P rules — a Mint subscriber is functionally a T-Mobile subscriber for SMS purposes. smsroute's routing does not require you to segment MVNO traffic separately.
How to send SMS to the US in 3 steps
Step 1 — Create an account and pick a campaign
Sign up at smsroute.cc. In the dashboard, select "US 10DLC" and choose the shared low-volume campaign (no filing required, up to 200 msg/day) or start your own brand vetting through the TCR form embedded in the dashboard. The brand form takes about 5 minutes; vetting comes back in 1-2 business days.
Step 2 — Top up with crypto
Minimum $5. USDT TRC-20 is fastest (~1 minute to credit); Bitcoin, Ethereum, Litecoin, Monero, and Solana all work. No cards, no ACH, no bank wires.
Step 3 — Send the message referencing your campaign ID
Every US send MUST include your campaign_id — this is how smsroute maps your outbound message to the TCR-approved campaign and the right carrier surcharge bucket. Omitting it returns HTTP 400 with campaign_id required for US destinations.
from across all messages. If that number is attached to a campaign whose approved use case is "2FA" and you send an order confirmation through it, Verizon will filter the message as use-case mismatch. Route marketing and transactional traffic through separate campaigns.
Pricing vs competitors
The US is the one market where Twilio actually undercuts smsroute on the per-message rate, and we want to be honest about that. Twilio operates the largest domestic 10DLC aggregator business in the country — they signed direct interconnect agreements with the three carriers before anyone else at meaningful scale, and they pass that volume discount through to sellers. smsroute buys wholesale US capacity from an upstream aggregator, so we carry an extra layer of margin that tier-1 domestic players do not.
| Provider | Price per SMS (USD) | vs. smsroute |
|---|---|---|
| smsroute | $0.0125 | best price |
| Twilio | $0.0202 | baseline |
| Vonage | $0.0182 | 31% more |
| Bandwidth | $0.0178 | 30% more |
| Sinch | $0.0198 | 37% more |
Twilio's $0.0083 per-message rate on the US is a real number, and for a US-only high-volume sender Twilio is a legitimately cheaper option than smsroute. Where smsroute still wins: the $5 minimum (vs Twilio's $20), crypto-native billing with no KYC, and same-price access to our 148 other country routes — most of which Twilio prices 30-50% higher than we do. If your traffic is multi-country, the blended cost lands in our favor. If you are 100% US on a long-running engineering contract, Twilio is the rational pick for the per-message line item alone.
Delivery times and reliability
From our North American POP, median round-trip latency to US carriers:
- Verizon: 180 ms
- AT&T: 205 ms
- T-Mobile: 224 ms
Rolling 90-day delivery success rate (operator-acknowledged delivery, not just submit): 99.0%. Failures concentrate on carrier-filtered content (SHAFT violations — Sex/Hate/Alcohol/Firearms/Tobacco keywords are regex-blocked on all three carriers) and on 10DLC campaigns whose sample-message set does not match actual outbound traffic.
Frequently asked questions
Do I need a 10DLC campaign for OTPs and password-reset codes?
Yes, if you send the OTP from a 10-digit long code. The Campaign Registry does not exempt transactional traffic — even a one-time login code must be attached to a registered campaign (use-case SOLE_PROPRIETOR or LOW_VOLUME_MIXED for most developers, or 2FA for an OTP-dedicated route). The only way around TCR registration is to send from a toll-free number (8xx) or a short code, both of which have different rules. smsroute routes low-volume OTP traffic through pre-registered shared campaigns so individual users do not have to file themselves.
What is a TCR trust score and how is it calculated?
The Campaign Registry assigns every registered brand a numeric trust score from 0-100 at vetting time. The score is produced by a third-party vetting provider (Aegis Mobile or WMC Global, selected at registration) and reflects company age, EIN legitimacy, web presence, opt-in practice language, and historical spam flags. A score of 75+ unlocks 'High' tier throughput (~10 TPS to T-Mobile, comparable on Verizon/AT&T). 40-74 is 'Standard'. Below 40 is 'Low' and capped aggressively. Sole-proprietor campaigns skip vetting entirely and are permanently low-trust.
How long does 10DLC registration actually take?
Brand registration: 1-2 business days for TCR to return a vetting score. Campaign registration: another 1-3 business days per carrier (Verizon reviews separately from AT&T and T-Mobile). In practice plan 5-7 business days end-to-end for a standard campaign. Expect rejections on sample messages that look like marketing without opt-in language, on vague use-case selection, or on URLs pointing to sites that do not describe the SMS program. Sole-proprietor is faster (same-day) but caps at 1,000 messages/day lifetime.
Can I use a toll-free number instead of 10DLC?
Yes. Toll-free SMS (8xx numbers) has its own verification process run by each carrier via Somos, not TCR. Verified toll-free unlocks 3 messages/second steady and higher bursts, and is often preferred for customer-service reply lines. Unverified toll-free is capped at 500 messages/day and aggressively filtered. smsroute provisions verified toll-free numbers from $2/month with a 3-5 business day verification turnaround. Toll-free traffic has no TCR campaign requirement.
What's the TCPA statute of limitations?
Four years from the date of the last violating message under 28 USC § 1658, the default federal statute of limitations. Each non-consenting SMS is a separate violation at $500 statutory damages (tripled to $1,500 for willful violations). In class-action posture, plaintiffs' counsel routinely aggregates millions of messages into 8- and 9-figure settlements. Keep dated consent records for at least 5 years and use double opt-in where possible.
What format should US mobile numbers be in?
Strict E.164: +1. US mobile and landline ranges are indistinguishable by prefix (they share the North American Numbering Plan), so smsroute performs an HLR lookup at send time to confirm the destination is a wireless line before billing. A San Francisco mobile looks like +14155552671. Landline destinations return error code 'invalid_destination_type' and are not charged.
Is alphanumeric sender ID supported in the United States?
No. Alphanumeric sender IDs are categorically unsupported for A2P traffic in the US — every mainstream aggregator rewrites them to a 10DLC long code at submission. Your sender must be a 10-digit long code, a toll-free number (8xx), or a 5-6 digit short code. Short codes are expensive ($500-$1,500/month lease + $10k-$75k vetting) and reserved for very high-volume senders; 10DLC is the default for everyone else.
What happens if I send SMS to the US without registering 10DLC?
Traffic from unregistered long codes is filtered at the carrier level. Verizon and T-Mobile drop unregistered A2P silently (your message shows 'sent' to the aggregator but never lands). AT&T applies a surcharge and throttles. Since late 2023 the three carriers enforce 100% 10DLC registration for A2P — there is no grace period left. Unregistered OTP traffic through smsroute's shared campaigns is the only way around self-filing, and only up to the shared-campaign throughput share.
Related pages
Related
Related
Pricing vs competitors
The US is the one market where Twilio actually undercuts smsroute on the per-message rate, and we want to be honest about that. Twilio operates the largest domestic 10DLC aggregator business in the country — they signed direct interconnect agreements with the three carriers before anyone else at meaningful scale, and they pass that volume discount through to sellers. smsroute buys wholesale US capacity from an upstream aggregator, so we carry an extra layer of margin that tier-1 domestic players do not.
| Provider | Price per SMS (USD) | vs. smsroute |
|---|---|---|
| smsroute | $0.0125 | best price |
| Twilio | $0.0202 | baseline |
| Vonage | $0.0182 | 31% more |
| Bandwidth | $0.0178 | 30% more |
| Sinch | $0.0198 | 37% more |
Twilio's $0.0083 per-message rate on the US is a real number, and for a US-only high-volume sender Twilio is a legitimately cheaper option than smsroute. Where smsroute still wins: the $5 minimum (vs Twilio's $20), crypto-native billing with no KYC, and same-price access to our 148 other country routes — most of which Twilio prices 30-50% higher than we do. If your traffic is multi-country, the blended cost lands in our favor. If you are 100% US on a long-running engineering contract, Twilio is the rational pick for the per-message line item alone.
Delivery times and reliability
From our North American POP, median round-trip latency to US carriers:
- Verizon: 180 ms
- AT&T: 205 ms
- T-Mobile: 224 ms
Rolling 90-day delivery success rate (operator-acknowledged delivery, not just submit): 99.0%. Failures concentrate on carrier-filtered content (SHAFT violations — Sex/Hate/Alcohol/Firearms/Tobacco keywords are regex-blocked on all three carriers) and on 10DLC campaigns whose sample-message set does not match actual outbound traffic.
Frequently asked questions
Do I need a 10DLC campaign for OTPs and password-reset codes?
Yes, if you send the OTP from a 10-digit long code. The Campaign Registry does not exempt transactional traffic — even a one-time login code must be attached to a registered campaign (use-case SOLE_PROPRIETOR or LOW_VOLUME_MIXED for most developers, or 2FA for an OTP-dedicated route). The only way around TCR registration is to send from a toll-free number (8xx) or a short code, both of which have different rules. smsroute routes low-volume OTP traffic through pre-registered shared campaigns so individual users do not have to file themselves.
What is a TCR trust score and how is it calculated?
The Campaign Registry assigns every registered brand a numeric trust score from 0-100 at vetting time. The score is produced by a third-party vetting provider (Aegis Mobile or WMC Global, selected at registration) and reflects company age, EIN legitimacy, web presence, opt-in practice language, and historical spam flags. A score of 75+ unlocks 'High' tier throughput (~10 TPS to T-Mobile, comparable on Verizon/AT&T). 40-74 is 'Standard'. Below 40 is 'Low' and capped aggressively. Sole-proprietor campaigns skip vetting entirely and are permanently low-trust.
How long does 10DLC registration actually take?
Brand registration: 1-2 business days for TCR to return a vetting score. Campaign registration: another 1-3 business days per carrier (Verizon reviews separately from AT&T and T-Mobile). In practice plan 5-7 business days end-to-end for a standard campaign. Expect rejections on sample messages that look like marketing without opt-in language, on vague use-case selection, or on URLs pointing to sites that do not describe the SMS program. Sole-proprietor is faster (same-day) but caps at 1,000 messages/day lifetime.
Can I use a toll-free number instead of 10DLC?
Yes. Toll-free SMS (8xx numbers) has its own verification process run by each carrier via Somos, not TCR. Verified toll-free unlocks 3 messages/second steady and higher bursts, and is often preferred for customer-service reply lines. Unverified toll-free is capped at 500 messages/day and aggressively filtered. smsroute provisions verified toll-free numbers from $2/month with a 3-5 business day verification turnaround. Toll-free traffic has no TCR campaign requirement.
What's the TCPA statute of limitations?
Four years from the date of the last violating message under 28 USC § 1658, the default federal statute of limitations. Each non-consenting SMS is a separate violation at $500 statutory damages (tripled to $1,500 for willful violations). In class-action posture, plaintiffs' counsel routinely aggregates millions of messages into 8- and 9-figure settlements. Keep dated consent records for at least 5 years and use double opt-in where possible.
What format should US mobile numbers be in?
Strict E.164: +1. US mobile and landline ranges are indistinguishable by prefix (they share the North American Numbering Plan), so smsroute performs an HLR lookup at send time to confirm the destination is a wireless line before billing. A San Francisco mobile looks like +14155552671. Landline destinations return error code 'invalid_destination_type' and are not charged.
Is alphanumeric sender ID supported in the United States?
No. Alphanumeric sender IDs are categorically unsupported for A2P traffic in the US — every mainstream aggregator rewrites them to a 10DLC long code at submission. Your sender must be a 10-digit long code, a toll-free number (8xx), or a 5-6 digit short code. Short codes are expensive ($500-$1,500/month lease + $10k-$75k vetting) and reserved for very high-volume senders; 10DLC is the default for everyone else.
What happens if I send SMS to the US without registering 10DLC?
Traffic from unregistered long codes is filtered at the carrier level. Verizon and T-Mobile drop unregistered A2P silently (your message shows 'sent' to the aggregator but never lands). AT&T applies a surcharge and throttles. Since late 2023 the three carriers enforce 100% 10DLC registration for A2P — there is no grace period left. Unregistered OTP traffic through smsroute's shared campaigns is the only way around self-filing, and only up to the shared-campaign throughput share.
Related pages
Related
Related
Related
import os, requests
r = requests.post(
"https://api.smsroute.cc/v1/messages",
headers={"Authorization": f"Bearer {os.environ['SMSROUTE_API_KEY']}"},
json={
"to": "+14155552671",
"from": "+15551230001",
"campaign_id": "CMP_01HXYZABC",
"body": "Your verification code is 384921. Do not share.",
},
)
print(r.json())
curl -X POST https://api.smsroute.cc/v1/messages \
-H "Authorization: Bearer $SMSROUTE_API_KEY" \
-d '{
"to": "+14155552671",
"from": "+15551230001",
"campaign_id": "CMP_01HXYZABC",
"body": "Your verification code is 384921. Do not share."
}'
import fetch from "node-fetch";
const apiKey = process.env.SMSROUTE_API_KEY;
const res = await fetch("https://api.smsroute.cc/messages", {
method: "POST",
headers: {
Authorization: `Bearer ${apiKey}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
to: "+15551234567",
from: "smsroute",
text: "Your verification code is 384921",
}),
});
console.log(await res.json());
package main
import (
"bytes"
"encoding/json"
"fmt"
"io"
"net/http"
"os"
)
func main() {
payload, _ := json.Marshal(map[string]string{
"to": "+15551234567",
"from": "smsroute",
"text": "Your verification code is 384921",
})
req, _ := http.NewRequest("POST",
"https://api.smsroute.cc/messages",
bytes.NewBuffer(payload))
req.Header.Set("Authorization", "Bearer "+os.Getenv("SMSROUTE_API_KEY"))
req.Header.Set("Content-Type", "application/json")
resp, err := http.DefaultClient.Do(req)
if err != nil { panic(err) }
defer resp.Body.Close()
body, _ := io.ReadAll(resp.Body)
fmt.Println(string(body))
}
<?php
$apiKey = getenv('SMSROUTE_API_KEY');
$payload = json_encode([
'to' => '+15551234567',
'from' => 'smsroute',
'text' => 'Your verification code is 384921',
], JSON_UNESCAPED_UNICODE);
$ch = curl_init('https://api.smsroute.cc/messages');
curl_setopt_array($ch, [
CURLOPT_POST => true,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => [
'Authorization: Bearer ' . $apiKey,
'Content-Type: application/json',
],
CURLOPT_POSTFIELDS => $payload,
]);
echo curl_exec($ch);
curl_close($ch);
Pricing vs competitors
The US is the one market where Twilio actually undercuts smsroute on the per-message rate, and we want to be honest about that. Twilio operates the largest domestic 10DLC aggregator business in the country — they signed direct interconnect agreements with the three carriers before anyone else at meaningful scale, and they pass that volume discount through to sellers. smsroute buys wholesale US capacity from an upstream aggregator, so we carry an extra layer of margin that tier-1 domestic players do not.
| Provider | Price per SMS (USD) | vs. smsroute |
|---|---|---|
| smsroute | $0.0125 | best price |
| Twilio | $0.0202 | baseline |
| Vonage | $0.0182 | 31% more |
| Bandwidth | $0.0178 | 30% more |
| Sinch | $0.0198 | 37% more |
Twilio's $0.0083 per-message rate on the US is a real number, and for a US-only high-volume sender Twilio is a legitimately cheaper option than smsroute. Where smsroute still wins: the $5 minimum (vs Twilio's $20), crypto-native billing with no KYC, and same-price access to our 148 other country routes — most of which Twilio prices 30-50% higher than we do. If your traffic is multi-country, the blended cost lands in our favor. If you are 100% US on a long-running engineering contract, Twilio is the rational pick for the per-message line item alone.
Pricing vs competitors
The US is the one market where Twilio actually undercuts smsroute on the per-message rate, and we want to be honest about that. Twilio operates the largest domestic 10DLC aggregator business in the country — they signed direct interconnect agreements with the three carriers before anyone else at meaningful scale, and they pass that volume discount through to sellers. smsroute buys wholesale US capacity from an upstream aggregator, so we carry an extra layer of margin that tier-1 domestic players do not.
| Provider | Price per SMS (USD) | vs. smsroute |
|---|---|---|
| smsroute | $0.0125 | best price |
| Twilio | $0.0202 | baseline |
| Vonage | $0.0182 | 31% more |
| Bandwidth | $0.0178 | 30% more |
| Sinch | $0.0198 | 37% more |
Twilio's $0.0083 per-message rate on the US is a real number, and for a US-only high-volume sender Twilio is a legitimately cheaper option than smsroute. Where smsroute still wins: the $5 minimum (vs Twilio's $20), crypto-native billing with no KYC, and same-price access to our 148 other country routes — most of which Twilio prices 30-50% higher than we do. If your traffic is multi-country, the blended cost lands in our favor. If you are 100% US on a long-running engineering contract, Twilio is the rational pick for the per-message line item alone.
Delivery times and reliability
From our North American POP, median round-trip latency to US carriers:
- Verizon: 180 ms
- AT&T: 205 ms
- T-Mobile: 224 ms
Rolling 90-day delivery success rate (operator-acknowledged delivery, not just submit): 99.0%. Failures concentrate on carrier-filtered content (SHAFT violations — Sex/Hate/Alcohol/Firearms/Tobacco keywords are regex-blocked on all three carriers) and on 10DLC campaigns whose sample-message set does not match actual outbound traffic.
Related pages
Related
Related
import os, requests
r = requests.post(
"https://api.smsroute.cc/v1/messages",
headers={"Authorization": f"Bearer {os.environ['SMSROUTE_API_KEY']}"},
json={
"to": "+14155552671",
"from": "+15551230001",
"campaign_id": "CMP_01HXYZABC",
"body": "Your verification code is 384921. Do not share.",
},
)
print(r.json())
curl -X POST https://api.smsroute.cc/v1/messages \
-H "Authorization: Bearer $SMSROUTE_API_KEY" \
-d '{
"to": "+14155552671",
"from": "+15551230001",
"campaign_id": "CMP_01HXYZABC",
"body": "Your verification code is 384921. Do not share."
}'
import fetch from "node-fetch";
const apiKey = process.env.SMSROUTE_API_KEY;
const res = await fetch("https://api.smsroute.cc/messages", {
method: "POST",
headers: {
Authorization: `Bearer ${apiKey}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
to: "+15551234567",
from: "smsroute",
text: "Your verification code is 384921",
}),
});
console.log(await res.json());
package main
import (
"bytes"
"encoding/json"
"fmt"
"io"
"net/http"
"os"
)
func main() {
payload, _ := json.Marshal(map[string]string{
"to": "+15551234567",
"from": "smsroute",
"text": "Your verification code is 384921",
})
req, _ := http.NewRequest("POST",
"https://api.smsroute.cc/messages",
bytes.NewBuffer(payload))
req.Header.Set("Authorization", "Bearer "+os.Getenv("SMSROUTE_API_KEY"))
req.Header.Set("Content-Type", "application/json")
resp, err := http.DefaultClient.Do(req)
if err != nil { panic(err) }
defer resp.Body.Close()
body, _ := io.ReadAll(resp.Body)
fmt.Println(string(body))
}
<?php
$apiKey = getenv('SMSROUTE_API_KEY');
$payload = json_encode([
'to' => '+15551234567',
'from' => 'smsroute',
'text' => 'Your verification code is 384921',
], JSON_UNESCAPED_UNICODE);
$ch = curl_init('https://api.smsroute.cc/messages');
curl_setopt_array($ch, [
CURLOPT_POST => true,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => [
'Authorization: Bearer ' . $apiKey,
'Content-Type: application/json',
],
CURLOPT_POSTFIELDS => $payload,
]);
echo curl_exec($ch);
curl_close($ch);
Pricing vs competitors
The US is the one market where Twilio actually undercuts smsroute on the per-message rate, and we want to be honest about that. Twilio operates the largest domestic 10DLC aggregator business in the country — they signed direct interconnect agreements with the three carriers before anyone else at meaningful scale, and they pass that volume discount through to sellers. smsroute buys wholesale US capacity from an upstream aggregator, so we carry an extra layer of margin that tier-1 domestic players do not.
| Provider | Price per SMS (USD) | vs. smsroute |
|---|---|---|
| smsroute | $0.0125 | best price |
| Twilio | $0.0202 | baseline |
| Vonage | $0.0182 | 31% more |
| Bandwidth | $0.0178 | 30% more |
| Sinch | $0.0198 | 37% more |
Twilio's $0.0083 per-message rate on the US is a real number, and for a US-only high-volume sender Twilio is a legitimately cheaper option than smsroute. Where smsroute still wins: the $5 minimum (vs Twilio's $20), crypto-native billing with no KYC, and same-price access to our 148 other country routes — most of which Twilio prices 30-50% higher than we do. If your traffic is multi-country, the blended cost lands in our favor. If you are 100% US on a long-running engineering contract, Twilio is the rational pick for the per-message line item alone.
Delivery times and reliability
From our North American POP, median round-trip latency to US carriers:
- Verizon: 180 ms
- AT&T: 205 ms
- T-Mobile: 224 ms
Rolling 90-day delivery success rate (operator-acknowledged delivery, not just submit): 99.0%. Failures concentrate on carrier-filtered content (SHAFT violations — Sex/Hate/Alcohol/Firearms/Tobacco keywords are regex-blocked on all three carriers) and on 10DLC campaigns whose sample-message set does not match actual outbound traffic.
Frequently asked questions
Do I need a 10DLC campaign for OTPs and password-reset codes?
Yes, if you send the OTP from a 10-digit long code. The Campaign Registry does not exempt transactional traffic — even a one-time login code must be attached to a registered campaign (use-case SOLE_PROPRIETOR or LOW_VOLUME_MIXED for most developers, or 2FA for an OTP-dedicated route). The only way around TCR registration is to send from a toll-free number (8xx) or a short code, both of which have different rules. smsroute routes low-volume OTP traffic through pre-registered shared campaigns so individual users do not have to file themselves.
What is a TCR trust score and how is it calculated?
The Campaign Registry assigns every registered brand a numeric trust score from 0-100 at vetting time. The score is produced by a third-party vetting provider (Aegis Mobile or WMC Global, selected at registration) and reflects company age, EIN legitimacy, web presence, opt-in practice language, and historical spam flags. A score of 75+ unlocks 'High' tier throughput (~10 TPS to T-Mobile, comparable on Verizon/AT&T). 40-74 is 'Standard'. Below 40 is 'Low' and capped aggressively. Sole-proprietor campaigns skip vetting entirely and are permanently low-trust.
How long does 10DLC registration actually take?
Brand registration: 1-2 business days for TCR to return a vetting score. Campaign registration: another 1-3 business days per carrier (Verizon reviews separately from AT&T and T-Mobile). In practice plan 5-7 business days end-to-end for a standard campaign. Expect rejections on sample messages that look like marketing without opt-in language, on vague use-case selection, or on URLs pointing to sites that do not describe the SMS program. Sole-proprietor is faster (same-day) but caps at 1,000 messages/day lifetime.
Can I use a toll-free number instead of 10DLC?
Yes. Toll-free SMS (8xx numbers) has its own verification process run by each carrier via Somos, not TCR. Verified toll-free unlocks 3 messages/second steady and higher bursts, and is often preferred for customer-service reply lines. Unverified toll-free is capped at 500 messages/day and aggressively filtered. smsroute provisions verified toll-free numbers from $2/month with a 3-5 business day verification turnaround. Toll-free traffic has no TCR campaign requirement.
What's the TCPA statute of limitations?
Four years from the date of the last violating message under 28 USC § 1658, the default federal statute of limitations. Each non-consenting SMS is a separate violation at $500 statutory damages (tripled to $1,500 for willful violations). In class-action posture, plaintiffs' counsel routinely aggregates millions of messages into 8- and 9-figure settlements. Keep dated consent records for at least 5 years and use double opt-in where possible.
What format should US mobile numbers be in?
Strict E.164: +1. US mobile and landline ranges are indistinguishable by prefix (they share the North American Numbering Plan), so smsroute performs an HLR lookup at send time to confirm the destination is a wireless line before billing. A San Francisco mobile looks like +14155552671. Landline destinations return error code 'invalid_destination_type' and are not charged.
Is alphanumeric sender ID supported in the United States?
No. Alphanumeric sender IDs are categorically unsupported for A2P traffic in the US — every mainstream aggregator rewrites them to a 10DLC long code at submission. Your sender must be a 10-digit long code, a toll-free number (8xx), or a 5-6 digit short code. Short codes are expensive ($500-$1,500/month lease + $10k-$75k vetting) and reserved for very high-volume senders; 10DLC is the default for everyone else.
What happens if I send SMS to the US without registering 10DLC?
Traffic from unregistered long codes is filtered at the carrier level. Verizon and T-Mobile drop unregistered A2P silently (your message shows 'sent' to the aggregator but never lands). AT&T applies a surcharge and throttles. Since late 2023 the three carriers enforce 100% 10DLC registration for A2P — there is no grace period left. Unregistered OTP traffic through smsroute's shared campaigns is the only way around self-filing, and only up to the shared-campaign throughput share.
Related pages
Related
Related
Related
Delivery times and reliability
From our North American POP, median round-trip latency to US carriers:
- Verizon: 180 ms
- AT&T: 205 ms
- T-Mobile: 224 ms
Rolling 90-day delivery success rate (operator-acknowledged delivery, not just submit): 99.0%. Failures concentrate on carrier-filtered content (SHAFT violations — Sex/Hate/Alcohol/Firearms/Tobacco keywords are regex-blocked on all three carriers) and on 10DLC campaigns whose sample-message set does not match actual outbound traffic.
Frequently asked questions
Do I need a 10DLC campaign for OTPs and password-reset codes?
Yes, if you send the OTP from a 10-digit long code. The Campaign Registry does not exempt transactional traffic — even a one-time login code must be attached to a registered campaign (use-case SOLE_PROPRIETOR or LOW_VOLUME_MIXED for most developers, or 2FA for an OTP-dedicated route). The only way around TCR registration is to send from a toll-free number (8xx) or a short code, both of which have different rules. smsroute routes low-volume OTP traffic through pre-registered shared campaigns so individual users do not have to file themselves.
What is a TCR trust score and how is it calculated?
The Campaign Registry assigns every registered brand a numeric trust score from 0-100 at vetting time. The score is produced by a third-party vetting provider (Aegis Mobile or WMC Global, selected at registration) and reflects company age, EIN legitimacy, web presence, opt-in practice language, and historical spam flags. A score of 75+ unlocks 'High' tier throughput (~10 TPS to T-Mobile, comparable on Verizon/AT&T). 40-74 is 'Standard'. Below 40 is 'Low' and capped aggressively. Sole-proprietor campaigns skip vetting entirely and are permanently low-trust.
How long does 10DLC registration actually take?
Brand registration: 1-2 business days for TCR to return a vetting score. Campaign registration: another 1-3 business days per carrier (Verizon reviews separately from AT&T and T-Mobile). In practice plan 5-7 business days end-to-end for a standard campaign. Expect rejections on sample messages that look like marketing without opt-in language, on vague use-case selection, or on URLs pointing to sites that do not describe the SMS program. Sole-proprietor is faster (same-day) but caps at 1,000 messages/day lifetime.
Can I use a toll-free number instead of 10DLC?
Yes. Toll-free SMS (8xx numbers) has its own verification process run by each carrier via Somos, not TCR. Verified toll-free unlocks 3 messages/second steady and higher bursts, and is often preferred for customer-service reply lines. Unverified toll-free is capped at 500 messages/day and aggressively filtered. smsroute provisions verified toll-free numbers from $2/month with a 3-5 business day verification turnaround. Toll-free traffic has no TCR campaign requirement.
What's the TCPA statute of limitations?
Four years from the date of the last violating message under 28 USC § 1658, the default federal statute of limitations. Each non-consenting SMS is a separate violation at $500 statutory damages (tripled to $1,500 for willful violations). In class-action posture, plaintiffs' counsel routinely aggregates millions of messages into 8- and 9-figure settlements. Keep dated consent records for at least 5 years and use double opt-in where possible.
What format should US mobile numbers be in?
Strict E.164: +1. US mobile and landline ranges are indistinguishable by prefix (they share the North American Numbering Plan), so smsroute performs an HLR lookup at send time to confirm the destination is a wireless line before billing. A San Francisco mobile looks like +14155552671. Landline destinations return error code 'invalid_destination_type' and are not charged.
Is alphanumeric sender ID supported in the United States?
No. Alphanumeric sender IDs are categorically unsupported for A2P traffic in the US — every mainstream aggregator rewrites them to a 10DLC long code at submission. Your sender must be a 10-digit long code, a toll-free number (8xx), or a 5-6 digit short code. Short codes are expensive ($500-$1,500/month lease + $10k-$75k vetting) and reserved for very high-volume senders; 10DLC is the default for everyone else.
What happens if I send SMS to the US without registering 10DLC?
Traffic from unregistered long codes is filtered at the carrier level. Verizon and T-Mobile drop unregistered A2P silently (your message shows 'sent' to the aggregator but never lands). AT&T applies a surcharge and throttles. Since late 2023 the three carriers enforce 100% 10DLC registration for A2P — there is no grace period left. Unregistered OTP traffic through smsroute's shared campaigns is the only way around self-filing, and only up to the shared-campaign throughput share.
Frequently asked questions
Do I need a 10DLC campaign for OTPs and password-reset codes?
Yes, if you send the OTP from a 10-digit long code. The Campaign Registry does not exempt transactional traffic — even a one-time login code must be attached to a registered campaign (use-case SOLE_PROPRIETOR or LOW_VOLUME_MIXED for most developers, or 2FA for an OTP-dedicated route). The only way around TCR registration is to send from a toll-free number (8xx) or a short code, both of which have different rules. smsroute routes low-volume OTP traffic through pre-registered shared campaigns so individual users do not have to file themselves.
What is a TCR trust score and how is it calculated?
The Campaign Registry assigns every registered brand a numeric trust score from 0-100 at vetting time. The score is produced by a third-party vetting provider (Aegis Mobile or WMC Global, selected at registration) and reflects company age, EIN legitimacy, web presence, opt-in practice language, and historical spam flags. A score of 75+ unlocks 'High' tier throughput (~10 TPS to T-Mobile, comparable on Verizon/AT&T). 40-74 is 'Standard'. Below 40 is 'Low' and capped aggressively. Sole-proprietor campaigns skip vetting entirely and are permanently low-trust.
How long does 10DLC registration actually take?
Brand registration: 1-2 business days for TCR to return a vetting score. Campaign registration: another 1-3 business days per carrier (Verizon reviews separately from AT&T and T-Mobile). In practice plan 5-7 business days end-to-end for a standard campaign. Expect rejections on sample messages that look like marketing without opt-in language, on vague use-case selection, or on URLs pointing to sites that do not describe the SMS program. Sole-proprietor is faster (same-day) but caps at 1,000 messages/day lifetime.
Can I use a toll-free number instead of 10DLC?
Yes. Toll-free SMS (8xx numbers) has its own verification process run by each carrier via Somos, not TCR. Verified toll-free unlocks 3 messages/second steady and higher bursts, and is often preferred for customer-service reply lines. Unverified toll-free is capped at 500 messages/day and aggressively filtered. smsroute provisions verified toll-free numbers from $2/month with a 3-5 business day verification turnaround. Toll-free traffic has no TCR campaign requirement.
What's the TCPA statute of limitations?
Four years from the date of the last violating message under 28 USC § 1658, the default federal statute of limitations. Each non-consenting SMS is a separate violation at $500 statutory damages (tripled to $1,500 for willful violations). In class-action posture, plaintiffs' counsel routinely aggregates millions of messages into 8- and 9-figure settlements. Keep dated consent records for at least 5 years and use double opt-in where possible.
What format should US mobile numbers be in?
Strict E.164: +1. US mobile and landline ranges are indistinguishable by prefix (they share the North American Numbering Plan), so smsroute performs an HLR lookup at send time to confirm the destination is a wireless line before billing. A San Francisco mobile looks like +14155552671. Landline destinations return error code 'invalid_destination_type' and are not charged.
Is alphanumeric sender ID supported in the United States?
No. Alphanumeric sender IDs are categorically unsupported for A2P traffic in the US — every mainstream aggregator rewrites them to a 10DLC long code at submission. Your sender must be a 10-digit long code, a toll-free number (8xx), or a 5-6 digit short code. Short codes are expensive ($500-$1,500/month lease + $10k-$75k vetting) and reserved for very high-volume senders; 10DLC is the default for everyone else.
What happens if I send SMS to the US without registering 10DLC?
Traffic from unregistered long codes is filtered at the carrier level. Verizon and T-Mobile drop unregistered A2P silently (your message shows 'sent' to the aggregator but never lands). AT&T applies a surcharge and throttles. Since late 2023 the three carriers enforce 100% 10DLC registration for A2P — there is no grace period left. Unregistered OTP traffic through smsroute's shared campaigns is the only way around self-filing, and only up to the shared-campaign throughput share.
Related pages
Related
Related
Related
Related
Ready to send SMS to United States?
$5 minimum. Crypto only. Live in 60 seconds.