You wired up your SMS integration, your code is clean, and Twilio shows the message as sent. Yet the recipient never got it. Your logs show error 30034, “Message from an Unregistered Number.” Nothing in your code changed. What changed is the carrier side of the pipe.
That is the short version of why 10DLC exists. It is the registration system US mobile carriers now require before they will deliver business text messages sent from an ordinary 10-digit local number. This guide explains what 10DLC is, why your messages suddenly need registration, and how the process works.

The short version: what 10DLC actually is
10DLC stands for 10-digit long code: a regular US local phone number, like (415) 555-0100, used for business texting instead of personal texting.
A2P 10DLC adds the other half of the acronym. A2P means application-to-person: any text sent by software rather than typed by a human. Order confirmations, appointment reminders, one-time passcodes, and marketing blasts are all A2P, and A2P 10DLC is the carrier-sanctioned system for sending them from local US numbers.
In practice, you register your business identity (a brand) and describe what you send (a campaign) with The Campaign Registry (TCR), usually through your provider. Carriers then treat your number as a known sender, which means higher throughput, lighter filtering, and a real error path instead of silent blocking.
One thing to get straight early: 10DLC is not a law. There is no 10DLC statute. It is an industry framework the carriers enforce as a condition of delivering your messages, guided by CTIA messaging principles. It also does not replace consent law. TCPA and FCC rules about who you may text and how opt-outs must work apply whether or not you are registered.
Why your messages suddenly need registration
The story of how a local phone number went from “just buy one and send” to “register or get blocked” explains the design of the whole system.
Before 2021: the unregistered long code era
US long codes were built for person-to-person texting, not application traffic. Businesses that wanted real throughput used short codes: shared ones were cheap but one spammer’s behavior got every tenant on the code filtered, while dedicated ones were reliable but expensive and took 8 to 12 weeks to provision.
So plenty of businesses just sent from regular long codes through software. It was cheap and it looked local. Then the spam flood got worse, carriers treated all long code application traffic as guilty until proven innocent, and legitimate messages got swept up in aggressive filtering.
2021 to 2023: The Campaign Registry and the soft launch
In 2021 the major US carriers stood up a new answer. They backed The Campaign Registry as the central vetting system and defined the A2P 10DLC route: the same local numbers, but now every sender registers a brand and a campaign first.
For the first year or two this was a soft launch. Registered senders got better throughput while unregistered traffic was filtered quietly rather than blocked, so many developers ignored the requirement.
2023 to 2025: enforcement bites
That grace period ended. Starting in mid to late 2023, carriers began enforcing registration. Unregistered 10DLC traffic hit hard blocks, with Twilio surfacing the now-familiar error 30034. Carriers also added per-message surcharges on unregistered traffic.
This is when “my texts stopped working and my code did not change” became a support-ticket cliché. Twilio’s docs note that blocked unregistered messages are still billed, and registration went from best practice to prerequisite.
2025 to now: total blocking and stricter filters
By early 2025, provider guides were describing the block as total rather than partial. Unregistered long code application traffic to the US simply does not go through anymore. There is no slow lane and no reduced-rate fallback. You are registered or you are blocked.
The bar for registered senders has kept rising too. Carriers now use AI-based filtering that compares your live traffic against the samples you submitted at registration. New FCC consent revocation rules took effect in April 2025, and reviewers increasingly expect opt-in forms to show Terms of Service and Privacy Policy URLs.
How registration actually works
Registration has three moving parts, and your provider’s console walks you through all three.
Step 1: register your brand
Your brand is your business identity: legal company name, tax ID or EIN, address, and contact details. TCR vets this against business records. Clean submissions often approve within minutes to a day, but a legal-name to EIN mismatch can trigger manual vetting that takes up to a week.
Step 2: register your campaign
Your campaign describes what you send, and this is the part people rush and then get rejected for. Reviewers want specifics, such as “order confirmations and shipping updates for online purchases,” with sample messages that match that use case and include opt-out language. Describe your opt-in flow precisely, one description per use case. Public URL shorteners in sample messages are a common rejection trigger, so use your own branded links.
Keep your lanes separate. A campaign registered for transactional messages should not carry marketing copy. Adding a promotional line to an appointment reminder turns the whole message into marketing under carrier rules, , one of the most common suspension triggers.
Step 3: link your numbers to the campaign
Once the brand and campaign are approved, you assign your 10DLC numbers to the campaign. Each number belongs to exactly one campaign, though one campaign can hold many numbers. Adding numbers does not raise your throughput ceiling, because the ceiling belongs to the campaign, not the number pool.
What a trust score actually is
Standard brands get a Trust Score from 0 to 100, assigned by a vetting algorithm that looks at your business profile. That score sets your messaging throughput and daily volume limits. Two things surprise developers here. First, trust scores are static, so they do not climb as you build sending history. Second, if you need more volume than your score allows, the path is secondary or external vetting, which costs extra and can unlock much higher limits. Sole proprietor and low-volume brands never get a trust score, and their limits are fixed by their use case.
10DLC vs. toll-free vs. short codes
Short codes are 5 or 6 digit numbers, pre-approved at purchase, with the highest throughput and the heaviest vetting. They are expensive to lease and take weeks to provision, but they still suit national high-volume programs.
Toll-free numbers follow their own verification process, which is simpler than 10DLC registration. They suit lower-volume two-way conversations. They are not part of the 10DLC system.
10DLC sits in the middle. It looks like a local number, costs far less than a short code, and supports solid throughput once registered. For most developers sending application traffic to US customers, 10DLC is the default right answer.
What it costs, and what it costs to skip it
Registration fees are set by TCR and the carriers, not by your provider, so they are the same everywhere. Treat every figure below as a snapshot.
Per the TCR pricing updates published around August 2025, brand registration runs about $4.50 one-time for sole proprietor and low-volume standard brands, and about $46 for a standard brand. Campaign vetting costs about $15 per campaign, with a monthly fee from roughly $1.50 for low-volume mixed use to about $10 for standard campaigns. Every message also carries carrier per-segment surcharges that stack on your provider’s base rate.
Skipping registration costs more than the fees. Unregistered 10DLC traffic to the US is blocked, Twilio returns error 30034, and your provider still bills you for the blocked messages. Do not hunt for a provider loophole. 10DLC is a carrier requirement, so switching providers does not exempt you. You would just re-register through the new one.
Before you apply: a practical checklist
Most rejections trace back to a short list of avoidable problems. Get these right before you submit and you will save yourself at least one 48-hour resubmission cycle.
- Match your legal business name and EIN exactly to your tax records. This is the number one brand rejection cause.
- Have a working website that matches your registered name and address. Reviewers open it.
- Publish a privacy policy stating that mobile information is not shared with third parties for marketing purposes.
- Write a specific campaign description with matching sample messages, each including opt-out instructions like “Reply STOP to unsubscribe.”
- Document your opt-in flow precisely, naming where and how the user consented.
- Keep marketing and transactional use cases in separate campaigns with separate opt-ins.
FAQ
What does 10DLC stand for?
10DLC stands for 10-digit long code, a standard 10-digit US local phone number. A2P 10DLC is the full term: application-to-person messaging over 10-digit long codes, under the carrier registration system.
Who needs to register for 10DLC?
Any business sending application-driven texts to US phone numbers from a local 10-digit number: appointment reminders, order updates, one-time passcodes, alerts, and marketing messages. The one gray area is a person hand-typing texts one at a time from a personal phone, which is person-to-person messaging and sits outside these rules. The moment texting runs through software, it is A2P and needs registration.
How long does 10DLC registration take?
A clean submission typically takes a few business days. Brand vetting is often the fast part, while campaign review by the carriers takes longer. Inaccurate submissions stretch into weeks, because each correction resets the review clock.
How much does 10DLC registration cost?
Roughly $4.50 one-time for low-volume and sole proprietor brands, about $46 for a standard brand, about $15 per campaign vetting, plus $1.50 to $10 per campaign per month. Carrier per-message surcharges apply on top. Confirm current pricing with your provider, because TCR adjusts its fees periodically.
What happens if I do not register?
Carriers block your messages outright. On Twilio you will see error 30034, “Message from an Unregistered Number,” and you are still billed for the blocked messages. There is no reduced-speed lane for unregistered numbers.
What is a 10DLC trust score?
A 0 to 100 score TCR assigns to standard brands based on vetting. It sets your throughput and daily volume limits, and it is static, so it does not improve with sending history. Sole proprietor and low-volume brands do not receive one.
Can a sole proprietor register for 10DLC?
Yes, on providers like Twilio through a sole proprietor brand path, as long as you do not have an EIN. Limits are much tighter: one campaign, one number, 1 message per second, and about 1,000 messages per day to T-Mobile (up to roughly 3,000 across all US carriers).
Is 10DLC the same as a short code or toll-free number?
No. Short codes are 5 or 6 digit pre-approved numbers, expensive but highest throughput. Toll-free numbers have their own simpler verification process and suit lower-volume two-way messaging. 10DLC is the local-number route with brand and campaign registration through TCR.
Does 10DLC registration replace TCPA consent requirements?
No. Registration identifies you to the carriers. Federal consent law still governs who you may text and how opt-outs must work. You need both.
Not legal advice
This guide describes an industry registration framework, not a legal standard, and the rules around business texting change often. Confirm current requirements with your messaging provider’s compliance docs and The Campaign Registry, and get proper legal counsel for TCPA and consent questions.
Conclusion
10DLC exists because the old way of doing business texting broke. Unregistered long codes became a spam highway, carriers lost trust in the channel, and legitimate messages paid the price. Registration is the trade the industry settled on: you disclose who you are and what you send, and in return your messages get a trusted lane with real throughput instead of silent filtering.
Want this set up for you?
I build SMS chatbots and API integrations for businesses. If you would like what this guide describes, done for you, get in touch.
