Messaging

What is 10DLC? Everything You Need to Know

Master affordable high-volume messaging by leveraging 10DLC for unmatched SMS delivery and compliance.

Emily Bowen
By Emily Bowen
What is 10DLC? Everything you need to know

Takeaways

  • 10DLC stands for 10-digit long code. It is a standard US local phone number that carriers have approved for A2P (application-to-person) business messaging.
  • Registration is mandatory. Since February 1, 2025, US carriers block unregistered A2P 10DLC traffic outright.
  • The Campaign Registry (TCR) assigns each brand a trust score from 0 to 100. That score sets your throughput and daily message limits.
  • Compliance runs deeper than registration. TCPA consent rules, FCC revocation requirements, CTIA guidelines, and SHAFT content restrictions all apply.
  • Telnyx is a licensed carrier with direct TCR integration. You register brands and campaigns in Mission Control without third-party middlemen.

What is 10DLC?

10DLC is a 10-digit long code, a standard US local phone number that carriers have sanctioned for A2P business messaging. Before 10DLC, businesses sent automated texts over local numbers built for person-to-person use. Carriers filtered that traffic hard. 10DLC gives businesses a registered, carrier-approved path to send application-to-person messages from local numbers at commercial volume.

A2P means A2P messaging generated by software. An appointment reminder from a scheduling platform is A2P. A text you type to a friend is P2P, person-to-person. Carriers treat the two differently because the volume, patterns, and abuse risk are different.

10DLC concept: A2P SMS messaging over a 10-digit local number with carrier approval

Registered 10DLC gives you a local number your customers recognize, higher throughput than any unregistered number can get, and deliverability that carriers stand behind because they know who you are and what you send. If you want more detail on the numbers themselves, read our guide to 10DLC numbers. If you are new to text messaging as a channel, start with SMS basics.

You will see the term written as 10DLC, 10 DLC, or 10 digit long code. They all mean the same thing.

Start sending compliant SMS with Telnyx

Register your 10DLC campaigns through Mission Control and start sending A2P messages on a carrier-grade network.

Explore the SMS API →

Why 10DLC exists

For years, businesses sent A2P traffic over ordinary local numbers. Those numbers were never meant for it. Carriers had no way to tell a legitimate appointment reminder from a phishing blast. So they filtered by pattern, and legitimate messages got caught alongside spam. Consumers stopped trusting texts from numbers they did not recognize. Everyone lost.

The carriers and industry bodies built 10DLC to fix this. The system is simple in concept. Businesses register who they are and what they plan to send. Carriers check that registration against actual traffic. Registered senders get sanctioned throughput. Unregistered senders get blocked.

Enforcement milestone. Since February 1, 2025, US carriers block unregistered A2P 10DLC traffic outright. Carriers block rather than filter or rate-limit. Registration is a requirement for anyone sending A2P traffic from a 10-digit number. Read more on how unregistered 10DLC ended.

The distinction between A2P and P2P matters here. P2P traffic is low volume, conversational, and roughly balanced between sending and receiving. A2P traffic is high volume, one-to-many, and mostly outbound. If your software sends texts on your behalf, you are sending A2P traffic. The volume or the wantedness of the messages does not change the classification. Carriers classify by origin, and software origin means A2P.

The Campaign Registry, known as TCR, sits at the center of the system. TCR is the central registry that carriers query to verify that traffic on a given number is sanctioned. Businesses do not register with TCR directly. They register through a Campaign Service Provider, a CSP, which submits on their behalf. The system keeps evolving, and you can read about the future of 10DLC to see where it is headed.

How 10DLC registration works

Registration happens in three steps: register your brand, register your campaign, and attach phone numbers to the approved campaign. Each step depends on the one before it. Telnyx is a licensed carrier with direct TCR integration, so all three steps happen inside Mission Control.

Three-step 10DLC registration flow: brand registration, campaign registration, attach numbers

Step 1. Brand registration

Your brand is your business identity. TCR needs your legal business name, your EIN, your address, and your website. The data must match your official records. A legal name that does not match your EIN filing will fail verification, and failed verification stalls everything downstream.

There are three brand categories, and picking the right one matters:

  • Sole Proprietor. For individuals and businesses without an EIN. Lowest throughput, strict volume caps.
  • Low-Volume Standard. For registered businesses sending under 6,000 message segments per day. Lower fees, lower throughput.
  • Standard. For registered businesses that need full throughput. Requires complete verification and supports external vetting for higher trust scores.

Most businesses with an EIN should register as Low-Volume Standard or Standard based on expected daily volume. Our brand registration guide walks through the full process.

Step 2. Campaign registration

A campaign describes what you send. You declare a use case, such as marketing, customer care, or two-factor authentication. You describe how recipients opt in. You provide sample messages that reflect your actual content.

This is where most registrations go wrong. Businesses pick a campaign type based on what their company does instead of what their messages say. A gym that sends class reminders is not a "marketing" campaign. It is customer care or account notifications. Match the campaign type to the message content. Reviewers compare your samples against your declared use case, and a mismatch gets rejected.

Plan for review time. Campaign review typically takes 3 to 7 business days under normal conditions, and up to 10 to 15 during high-volume periods. If you have a launch date, register weeks ahead of it.

Your sample messages should include your business name, match your stated use case, and show opt-out language where required. Vague samples slow the review process. Specific samples that reflect actual message content pass faster. See our campaign registration detail for what reviewers check.

Step 3. Attach phone numbers

Once your campaign is approved, you assign phone numbers to it. Numbers must be attached to an approved campaign before you send a single message. Traffic from unattached numbers gets blocked the same as unregistered traffic.

You can attach existing numbers you already own or buy new ones. Telnyx Phone Numbers activate instantly and give you local presence in over 140 countries, so you can provision and attach in the same session.

Trust scores and throughput

When your brand is verified, TCR assigns it a trust score from 0 to 100. This score is the single biggest factor in how fast you can send. It sets your messages per second, your daily message limits, and carrier-specific caps.

The scoring process is opaque, and that frustrates senders. You cannot see the exact formula. But the inputs are known. Complete, accurate brand data scores higher than partial data. A verifiable web presence helps. An established business entity helps. Sloppy or inconsistent registration data hurts.

10DLC trust score tiers: low (0-40), medium (41-70), high (71-100) mapped to throughput

T-Mobile deserves specific attention. T-Mobile applies daily brand-level message limits tied directly to your trust score. The Campaign Registry publishes the tier thresholds that carriers use. A low score can cap your entire brand at a few thousand message segments per day across all campaigns.

Throughput tip. Two practical moves improve your position. Fill out brand registration completely and accurately the first time. Then consider external vetting, a paid third-party review that can raise your score substantially. For high-volume senders, the vetting fee pays for itself in throughput. Read the full 10DLC throughput breakdown for the numbers.

If your volume exceeds what even a high trust score allows, 10DLC may be the wrong channel for that traffic. Short codes exist for exactly this case. The next section covers when to switch.

10DLC vs. short codes vs. toll-free numbers

10DLC is one of three channels for A2P messaging in the US. Each has a job it does well.

Feature10DLCShort code
Number format10-digit local number5 to 6 digits
Setup timeDays to 3 weeks8 to 12 weeks
ThroughputVaries by trust scoreHighest available
CostLowest overallHighest, dedicated lease
Voice callingYesNo
Best forLocal presence, mixed volumeVery high volume blasts

Toll-free numbers occupy a third position: 10-digit 8XX numbers with moderate, consistent throughput, voice support, and national brand recognition. See our toll-free vs 10DLC comparison for that head-to-head.

The plain recommendations. Choose 10DLC when you want a local identity, want to call and text from the same number, and your volume fits within trust-score limits. Choose a short code when raw throughput is the requirement, such as national marketing blasts or high-volume OTP delivery, and you can absorb the lease cost and the long approval wait. Choose toll-free when you run national customer support or verification traffic and do not need a local identity.

Comparison of 10DLC, short code, and toll-free messaging channels

Many businesses run more than one. A local sales team texts from 10DLC numbers while a national promotion runs on a short code. For a deeper look at the toll-free decision, see toll-free vs 10DLC. Software vendors sending on behalf of customers should read our take on channel choice for ISVs.

10DLC compliance requirements

Registration gets you onto the network. Compliance keeps you there. The obligations stack in three layers, and you are responsible for all of them.

Federal law. The TCPA requires consent before you send commercial texts. For marketing messages, that means prior express written consent. The FCC enforces it, and violations carry per-message fines. In 2025, new FCC rules took effect on revocation. Consumers can revoke consent through any reasonable method, including replying STOP, replying with plain language like "quit texting me," or asking through another channel. You must honor the revocation.

Three-layer 10DLC compliance stack: Federal (TCPA/FCC), Industry (CTIA), Carrier (TCR/SHAFT)

Industry guidelines. The CTIA Messaging Principles define what carriers expect from senders, covering consent, message content, and opt-out handling. CTIA updated its Messaging Security Best Practices in October 2025. Carriers treat these guidelines as enforceable through their own filtering and suspension policies.

SHAFT restrictions. Content involving sex, hate, alcohol, firearms, or tobacco is prohibited or heavily restricted on 10DLC. Some categories, like alcohol, are allowed only with age-gating. Others are banned outright. Sending SHAFT content on a campaign not approved for it gets the campaign suspended.

Carrier rules. Registration itself, campaign accuracy, and traffic that matches your declared use case. Carriers audit registered traffic against campaign descriptions. Drift between what you declared and what you send looks like evasion.

Documentation. Keep auditable records of how and when every recipient opted in. That means the opt-in language they saw, a screenshot of the form, and a timestamp. If a complaint or an audit lands, a timestamped record is evidence.

The consequences of getting this wrong are concrete. Filtered messages, regulatory fines, and campaign suspension that takes your traffic to zero while you re-register.

For the full picture, read our dedicated 10DLC compliance guide, the broader SMS compliance overview, and our coverage of consent in SMS marketing.

Common 10DLC mistakes and how to avoid them

These five mistakes come up constantly. All of them are avoidable.

MistakeWhat happensFix
Wrong campaign typeRejection and weeks of reworkMatch the campaign type to actual message content, not your industry
Underestimated timelineLaunch date arrives with campaign still in reviewRegister at least a month before any hard launch date
Weak opt-in recordsNo proof when carriers or regulators askLog opt-in source, exact language, and timestamp for every recipient
Assuming registration means deliverySpam filters still catch registered messagesMonitor delivery rates per template and adjust content that underperforms
Ignoring throughput limitsT-Mobile daily brand cap hit mid-campaignKnow your trust score and daily limits before planning volume

Picking the wrong campaign type. Businesses select a campaign based on their industry instead of their message content. The campaign gets rejected, and the rework costs weeks. Read your actual sample messages, decide what they are, and register that. A message with a promotion in it is marketing, even if your company is a dental office.

Underestimating review timelines. Teams register a week before launch and discover the review queue can take up to 15 business days during peak periods. Register at least a month before any hard launch date to avoid blocked traffic.

Weak opt-in documentation. Senders collect consent but keep no proof. When carriers or regulators ask, there is nothing to show. Log the opt-in source, the exact language displayed, and a timestamp for every recipient. Store it where you can retrieve it in minutes.

Assuming registration guarantees delivery. Registration removes the blocking penalty for unregistered traffic. It does not disable spam filtering. Registered messages with spammy content, public link shorteners, or all-caps urgency still get filtered. Monitor your delivery rates. When a message template underperforms, change the content and test again.

Ignoring throughput planning. A sender with a low trust score plans a 50,000-message campaign and hits T-Mobile's daily brand cap a fraction of the way in. Know your trust score and your daily limits before you plan volume. Vet the brand externally if you need more headroom, or move very high-volume traffic to a short code.

Getting started with 10DLC on Telnyx

Telnyx is a licensed carrier with direct TCR integration. Brand registration, campaign registration, and number attachment all happen in Mission Control. There is no third-party CSP between you and the registry, which means fewer handoffs and faster fixes when something needs revision.

The Telnyx SMS API sends over 10DLC, toll-free, and short codes from one integration, with built-in 10DLC registration, per-message delivery tracking, and Ed25519-signed webhooks. Here is a working example that sends A2P SMS over a long code with a rate-limited queue and signed webhook verification for delivery tracking:

import os
import time
import queue
import threading
import telnyx

telnyx.api_key = os.environ["TELNYX_API_KEY"]

MESSAGING_PROFILE_ID = os.environ["TELNYX_MESSAGING_PROFILE_ID"]
FROM_NUMBER = os.environ["TELNYX_LONG_CODE"]  # Your 10DLC number, attached to an approved campaign
MPS_LIMIT = 1  # Match this to your campaign's approved throughput

send_queue = queue.Queue()

def enqueue_message(to_number: str, text: str):
    send_queue.put({"to": to_number, "text": text})

def sender_worker():
    """Drain the queue at your approved messages-per-second rate."""
    while True:
        msg = send_queue.get()
        try:
            response = telnyx.Message.create(
                from_=FROM_NUMBER,
                to=msg["to"],
                text=msg["text"],
                messaging_profile_id=MESSAGING_PROFILE_ID,
            )
            print(f"Queued {response.id} to {msg['to']}")
        except telnyx.error.APIError as e:
            print(f"Send failed for {msg['to']}: {e}")
        finally:
            send_queue.task_done()
            time.sleep(1 / MPS_LIMIT)

threading.Thread(target=sender_worker, daemon=True).start()

enqueue_message(os.environ["TO_NUMBER"], "Your appointment is tomorrow at 2 PM. Reply STOP to opt out.")
send_queue.join()

Delivery receipts arrive as webhooks. Verify the telnyx-signature-ed25519 header on every inbound webhook before trusting the payload, and track message.finalized events to measure real delivery rates per template.

The next step is direct. Sign up for a Telnyx account, register your brand in Mission Control, and submit your first campaign. If your use case is complex, talk to a Telnyx messaging expert before you register.

Frequently asked questions

What does 10DLC stand for?
10DLC stands for 10-digit long code. It is a standard US local phone number that carriers have approved for A2P (application-to-person) business messaging. The "10-digit" part refers to the number format, and "long code" distinguishes it from 5 or 6 digit short codes.
Is 10DLC registration required?
Yes. Since February 1, 2025, US carriers block unregistered A2P traffic on 10-digit long codes. Any business sending automated texts from a local US number must register a brand and a campaign through The Campaign Registry to have messages delivered.
How long does 10DLC registration take?
Brand verification is often complete within a few business days. Campaign review typically takes 3 to 7 business days under normal conditions, and up to 10 to 15 during high-volume periods. Rejections restart the clock, so accurate submissions matter. Plan for the full registration process to take two to four weeks and register well before any launch date.
How much does 10DLC cost?
10DLC costs fall into four buckets. A one-time brand registration fee, an optional external vetting fee, a recurring monthly campaign fee that varies by use case, and per-message carrier pass-through fees. Exact amounts vary by provider and carrier. Even with these fees, 10DLC is the lowest-cost A2P channel compared to short codes.
What happens if I send unregistered 10DLC traffic?
Your messages get blocked. Since February 2025, US carriers block unregistered A2P traffic on 10-digit long codes rather than throttling it. Repeated violations can also trigger fines passed through by carriers and suspension of your numbers. Registration is the only path to reliable delivery.
What is a 10DLC trust score?
A trust score is a rating from 0 to 100 that The Campaign Registry assigns to your brand after verification. It determines your messages per second, daily message limits, and carrier-specific caps such as T-Mobile's daily brand limits. Complete registration data and paid external vetting raise the score.
What is the difference between 10DLC and a short code?
A 10DLC number is a standard 10-digit local number that supports both texting and voice at low cost, with throughput set by your trust score. A short code is a 5 or 6 digit number with the highest available throughput, no voice support, higher cost, and an approval process that takes 8 to 12 weeks.
Can I use my existing business phone number for 10DLC?
Yes, in most cases. You can port or text-enable an existing 10-digit local number and attach it to an approved 10DLC campaign. The number must be assigned to a registered campaign before you send any A2P traffic from it. Your customers keep texting the number they already know.

Start sending compliant SMS with Telnyx

Register your 10DLC campaigns through Mission Control and start sending A2P messages on a carrier-grade network.

Explore the SMS API →
Share on Social