01 · How it works, in 5 steps
How does A2P 10DLC work?
- 1
Register the brand
Submit the legal entity's details to The Campaign Registry through your SMS provider: exact legal name, tax or company registration number (non-US companies use their home-country number), address, website and vertical. A name that does not match official records is the commonest reason for failure.
- 2
Get vetted if you need volume
Basic registration puts the brand on the system. Additional vetting by a third party returns a score that carriers use to grant throughput; unvetted or low-scoring brands get the smallest allowances.
- 3
Register each campaign
Pick the use case that matches the traffic (2FA, account notifications, customer care, marketing or a mixed campaign) and supply sample messages, a description of the opt-in flow, and the opt-out and help replies. Carriers review it before it can carry traffic.
- 4
Link numbers and send
Assign your 10-digit numbers to the approved campaign. Messages now travel as registered traffic, and each carrier applies its own limit: a per-campaign messages-per-minute allowance at AT&T, a daily brand cap at T-Mobile.
- 5
Pace sends and honour opt-outs
Queue messages so bursts stay under the allowance, process STOP at once, answer HELP, and keep content inside the registered use case. Offers sent on a notifications campaign invite filtering.
02Try it
Hands-on: use the controls to work through it yourself.
Fire a sale-day burst at a campaign's carrier allowance
0 / 75 tokens
Each dot = 2 tokens
Last burst · 200 texts
75 admitted — one token each. 125 rejected with HTTP 429 Too Many Requests: the bucket ran dry. Each chip ≈ 5 texts.
- Tokens left
- 0
- Admitted
- 75
- Rejected (429)
- 125
- Full again in
- 1 min
The bucket holds 75 tokens, so up to 75 texts can go out in one burst. After that, texts get through only as fast as tokens drip back in: 1.25 per second is the sustained limit. Watch the dots refill, then send another burst before it is full.
A burst of 200 hit a full bucket of 75: 75 accepted, 125 rejected with 429.
03What is A2P 10DLC?
A2P 10DLC (application-to-person 10-digit long code) is the system US mobile carriers use for business text messaging sent from standard ten-digit phone numbers, the same kind of number a person has, rather than from a five- or six-digit short code or a toll-free number. Before a business can text US users from a 10DLC number, it registers itself as a brand and registers each kind of messaging it does as a campaign with The Campaign Registry (TCR), the industry hub the major US carriers rely on.
A brand record identifies the legal entity: exact legal name, tax or company registration number, address, website and industry, optionally put through additional vetting that returns a score. A campaign record describes one use case, such as two-factor authentication, account notifications, customer care or marketing, with sample messages, how subscribers opt in, and how STOP and HELP are handled. Carriers then use the use case and the vetting result to set throughput: AT&T gives each campaign a messages-per-minute allowance, and T-Mobile applies a daily message cap at brand level.
10DLC is the US counterpart to India's DLT Registration, but the two work differently. DLT registers the principal entity, its headers and the exact wording of every content template, and Indian operators match each SMS against that wording. 10DLC registers who is sending and what kind of messages they send, then relies on carrier filtering, opt-out rules and throughput caps. Since early 2025 US carriers block unregistered 10DLC traffic, so an Indian company texting US customers needs an approved campaign, a verified toll-free number or a short code before its first message.
Key takeaways
- A2P 10DLC is the US system for business texts sent from ordinary 10-digit numbers, registered as a brand and a campaign before sending.
- Brand registration identifies the company; campaign registration declares the use case, sample messages, opt-in method and STOP/HELP replies.
- US carriers block unregistered 10DLC traffic and set each campaign's throughput from its use case and the brand's vetting result.
- Unlike India's DLT, 10DLC does not register every message text: it registers who you are and what kind of messages you send.
- Indian businesses need 10DLC, a toll-free number or a short code for US texts, because WhatsApp marketing templates are not delivered to US numbers.
04 · In code
A2P 10DLC in code
// Pace US texts under a campaign's carrier allowance and honour opt-outs at once.// sendSms() stands for your SMS provider's client; numbers are E.164.const PER_MINUTE = Number(process.env.CAMPAIGN_MSGS_PER_MIN ?? 75); // from your campaign's carrier detailsconst GAP_MS = 60_000 / PER_MINUTE;const optedOut = new Set(); // load from your suppression list at start-upexport async function drain(queue) {for (const msg of queue) {if (optedOut.has(msg.to)) continue; // never text an opted-out numberawait sendSms({ from: msg.from, to: msg.to, body: msg.body });await new Promise((resolve) => setTimeout(resolve, GAP_MS)); // stay under the allowance}}// Inbound-message webhook from your provider.const STOP_WORDS = new Set(["STOP", "STOPALL", "UNSUBSCRIBE", "CANCEL", "END", "QUIT", "REVOKE", "OPTOUT"]);export function onInbound({ from, body }) {const word = body.trim().toUpperCase();if (STOP_WORDS.has(word)) {optedOut.add(from); // persist it too: the opt-out covers every campaignreturn "You are unsubscribed and will receive no more messages.";}if (word === "HELP") {return "Clinic Billing alerts. Reply STOP to unsubscribe. Msg & data rates may apply.";}}
Throughput is enforced by carriers, so pace in your own queue; opt-out keywords must stop all further texts immediately.
05 · Key facts
A2P 10DLC: key facts and limits
- Full name
- Application-to-person 10-digit long code
- Registry
- The Campaign Registry (TCR), via your SMS provider
- What is registered
- The brand (company) and each campaign (use case)
- Throughput
- AT&T: messages per minute per campaign; T-Mobile: daily brand cap
- Unregistered traffic
- Blocked by US carriers since early 2025
- Required replies
- STOP (opt-out) and HELP
- Alternatives
- Verified toll-free numbers, short codes
06 · Mistakes to avoid
Common mistakes with A2P 10DLC
Registering a name that does not match official records
Vetting checks the legal name and tax or company number against official sources. Use the registered legal name, not the trading name, or the brand fails or scores low.
One mixed campaign for everything
Mixed and low-volume campaigns get lower allowances and closer scrutiny. Separate login codes, notifications and marketing into their own campaigns so a filtered promotion cannot slow your login codes.
Sending content outside the registered use case
A notifications campaign that starts carrying offers looks like spam to carrier filters. Register a marketing campaign for promotional texts and keep it separate.
Bursting past the allowance
A sale announcement fired at full speed exceeds the per-minute allowance, and messages are delayed, queued or rejected. Pace the send in your own queue, as the scene shows.
Treating 10DLC like India's DLT
There are no per-message template IDs to pass. Carriers judge sample messages, opt-in evidence and live traffic instead, so keep a consent record for every US recipient.
07Example: A Pune SaaS company texts its US customers
A Pune billing-software company sells to dental clinics in Texas and needs to text clinic owners login codes, payment-failure alerts and an occasional upgrade offer. Login codes go by WhatsApp authentication templates to owners who use WhatsApp, but the offer cannot: WhatsApp marketing templates are not delivered to US numbers. The team registers the company as a brand with its Indian company registration details, completes vetting, and registers three campaigns (two-factor authentication, account notifications and marketing) instead of one mixed campaign. Its queue paces alerts under the AT&T per-minute allowance, and STOP replies write straight to a suppression list that every campaign checks before sending.
08 · Why it matters
Why does A2P 10DLC matter?
For a business with US customers, such as an Indian SaaS company, an ed-tech platform with American learners or an exporter's after-sales desk, SMS is often the only text channel for some messages: WhatsApp marketing templates are not delivered to US numbers at all. 10DLC registration decides whether those texts arrive, how fast they can go out and how much carrier filtering they face. A weak or mismatched campaign means throttling and filtered messages; no campaign means nothing arrives.
09 · Pro tips
Best practices for A2P 10DLC
- Write sample messages that look exactly like live traffic, including the brand name and the opt-out line.
- Describe the opt-in wording and where the sign-up form lives in the campaign description.
- Start every text with the brand name so recipients and filters recognise the sender.
- Watch delivery reports per carrier: a drop at one carrier usually points to filtering, not a network fault.