--- title: What is A2P 10DLC? The Complete Guide for Developers description: Everything you need to know about A2P 10DLC: what it is, why it exists, registration requirements, throughput limits, and how to get started with date: 2025-12-22 author: Jennifer Villalobos locale: en source: https://www.zavu.dev/en/blog/what-is-a2p-10dlc tags: SMS, Compliance, 10DLC, A2P --- # What is A2P 10DLC? The Complete Guide for Developers If you're sending SMS messages in the United States, you've probably heard about A2P 10DLC. But what exactly is it, and why does it matter for your business? This comprehensive guide covers everything developers need to know. ## Understanding A2P 10DLC **A2P** stands for **Application-to-Person** messaging. This is any SMS sent from a business application to a consumer's phone. Examples include: - Verification codes (OTP/2FA) - Order confirmations - Appointment reminders - Marketing campaigns - Notifications and alerts **10DLC** stands for **10-Digit Long Code**. These are standard US phone numbers with 10 digits, like (312) 555-1234. Before the 10DLC system, these numbers were primarily used for person-to-person (P2P) communication. ## Why Was 10DLC Created? In the past, businesses could send unlimited SMS messages from any phone number without oversight. This led to massive spam problems: - Unwanted marketing messages - Phishing attempts - Robocall-style text blasts - No accountability for bad actors In 2021, the major US carriers (AT&T, T-Mobile, and Verizon) collaborated to create the 10DLC framework. The goals were: 1. **Reduce spam** - Require businesses to register and be accountable 2. **Improve deliverability** - Legitimate businesses get better throughput 3. **Consumer protection** - Give carriers tools to block bad actors 4. **Compliance** - Ensure businesses follow messaging regulations ## How 10DLC Registration Works ### Step 1: Brand Registration First, you register your business (brand) with The Campaign Registry (TCR). You'll need: - Legal business name - EIN (Employer Identification Number) - Business address - Website URL - Contact information - Business type/vertical Brand registration typically takes 1-2 business days. ### Step 2: Campaign Registration Next, you register your messaging use case (campaign). Each campaign describes: - **Use case** - What type of messages you're sending (2FA, marketing, notifications, etc.) - **Sample messages** - Examples of the content you'll send - **Opt-in process** - How users consent to receive messages - **Opt-out process** - How users can stop receiving messages (usually "Reply STOP") Campaign registration takes 1-5 business days, depending on your use case. ### Step 3: Number Assignment Finally, you assign phone numbers to your registered campaigns. Each number can only be associated with one campaign. ## Trust Scores and Throughput After registration, your brand receives a **Trust Score** that determines your messaging throughput (messages per second). The scoring system: | Trust Score | Message Throughput | |-------------|-------------------| | Low | 1 msg/sec | | Medium-Low | 2 msg/sec | | Medium | 5 msg/sec | | Medium-High | 10 msg/sec | | High | 15 msg/sec | ### Factors Affecting Trust Score - **Business age and reputation** - **Brand vetting** (optional $40 fee for faster approval) - **Use case type** (2FA gets higher scores than marketing) - **Historical messaging behavior** ## 10DLC vs Short Codes vs Toll-Free | Feature | 10DLC | Short Code | Toll-Free | |---------|-------|------------|-----------| | Number format | (312) 555-1234 | 12345 | 1-800-555-1234 | | Setup time | 1-2 weeks | 8-12 weeks | 1-2 weeks | | Monthly cost | Low | $1,000+ | Medium | | Throughput | 1-15 msg/sec | 100+ msg/sec | 3-10 msg/sec | | Best for | Most use cases | High-volume campaigns | Customer support | ### When to Use Each **10DLC** is ideal for: - Small to medium businesses - Transactional messages (OTP, confirmations) - Moderate marketing campaigns - Two-way conversations **Short Codes** are better for: - Very high-volume messaging - Time-sensitive campaigns - Large enterprises with budget **Toll-Free** works well for: - Customer support - Businesses wanting a 1-800 image - Lower registration requirements ## What Happens Without Registration? As of February 2025, all major US carriers block unregistered A2P traffic. If you try to send without registration: 1. **Messages get blocked** - They won't be delivered 2. **Numbers may be suspended** - Carriers can disable your number 3. **Potential penalties** - Carriers can blacklist your business 4. **Poor deliverability** - Even if some messages go through, rates are terrible ## Common 10DLC Use Cases ### 1. Two-Factor Authentication (2FA) ```typescript import Zavudev from "@zavudev/sdk"; const client = new Zavu(); await client.messages.send({ to: "+14155551234", channel: "sms", text: "Your verification code is 847293. Valid for 5 minutes.", }); ``` **Campaign type**: Authentication (highest throughput) ### 2. Order Notifications ```typescript await client.messages.send({ to: "+14155551234", channel: "sms", text: "Your order #12345 has shipped! Track: https://track.example.com/12345", }); ``` **Campaign type**: Delivery notifications ### 3. Appointment Reminders ```typescript await client.messages.send({ to: "+14155551234", channel: "sms", text: "Reminder: Your appointment is tomorrow at 2:00 PM. Reply Y to confirm or N to reschedule.", }); ``` **Campaign type**: Account notifications ### 4. Marketing Campaigns ```typescript await client.messages.send({ to: "+14155551234", channel: "sms", text: "Flash sale! 20% off everything today only. Shop now: https://shop.example.com. Reply STOP to unsubscribe.", }); ``` **Campaign type**: Marketing (requires explicit opt-in) ## Registration Requirements by Use Case | Use Case | Opt-in Requirement | Sample Message Needed | Approval Time | |----------|--------------------|-----------------------|---------------| | 2FA/OTP | Implicit | Yes | 1-2 days | | Transactional | Web form/App | Yes | 1-3 days | | Notifications | Web form/App | Yes | 2-3 days | | Marketing | Double opt-in | Yes | 3-5 days | | Mixed | Strictest applies | Yes | 3-5 days | ## How Zavu Simplifies 10DLC Managing 10DLC compliance can be complex. Here's how Zavu handles it for you: ### 1. Automatic Registration When you create a sender in Zavu, we automatically: - Register your brand with TCR - Create the appropriate campaign - Assign your phone numbers - Handle carrier connections ### 2. Included Fees TCR charges registration fees that add up: - $4 brand registration - $15+ campaign registration - Monthly maintenance fees **With Zavu, these fees are included** in your plan. ### 3. Compliance Monitoring Carrier policies change frequently. We: - Monitor policy updates - Adjust your registration as needed - Alert you about required changes - Prevent compliance issues before they happen ### 4. Simple API ```typescript import Zavudev from "@zavudev/sdk"; const client = new Zavu(); // That's it - we handle the compliance const result = await client.messages.send({ to: "+14155551234", channel: "sms", text: "Your verification code is 123456", }); console.log(result.message.id); ``` ## Common 10DLC Questions ### Do I need to register if I only send a few messages? Yes. There are no volume exemptions. Even one message per day requires registration. ### Can I use my existing phone number? Yes, as long as it's a 10-digit US number. You'll need to register it with TCR before sending. ### How long does registration take? - Brand: 1-2 business days - Campaign: 1-5 business days - Total: Usually under 1 week ### What if my campaign is rejected? Common rejection reasons include: - Missing opt-out instructions in samples - Unclear use case description - Missing business information Zavu's team reviews your registration before submission to minimize rejections. ### Can I send to multiple countries? 10DLC only applies to US numbers. For international messaging, different regulations apply. Zavu handles this automatically based on the destination number. ## Getting Started Ready to start sending compliant SMS? Here's how: 1. **Sign up for Zavu** at [dashboard.zavu.dev](https://dashboard.zavu.dev) 2. **Create a sender** - We'll guide you through the registration 3. **Install the SDK** - `npm install @zavudev/sdk` 4. **Send your first message** - Our API handles the rest ## Related Resources - [A2P 10DLC Fees 2025](/blog/a2p-10dlc-fees-2025) - Complete fee breakdown - [10DLC Registration Requirements](/blog/10dlc-registration-requirements) - Step-by-step guide - [SMS API for Developers](/sms-for-developers) - Full API documentation **Need help with 10DLC compliance?** Our team is here to help. [Contact us](/contact-us) or join our [Discord community](https://discord.gg/ZxE8DYkveh).