If you text customers from a regular 10-digit phone number, 10DLC already governs whether those texts arrive. Most "10DLC news" pieces get one of two things wrong. Some treat it as a deadline that's still coming. Others pile up fee figures nobody can source.

This post covers what the acronym means, how carriers changed their enforcement, what registration costs today, and the short list of things to do now. We make Ready, so we'll show how the fees appear on our bill. Most of this applies no matter which provider you use.

What 10DLC actually means

10DLC stands for 10-digit long code. It's an ordinary local phone number, like (212) 555-0199, used for application-to-person (A2P) texting. A2P means software sending texts on a business's behalf: reminders, order updates, promos and two-way support threads.

The "A2P 10DLC" system is the carriers' framework for making that traffic accountable. It has two layers:

  • Brand registration. This identifies the business behind the texts: legal name, EIN, address and website. It goes through The Campaign Registry (TCR), the shared database the major US carriers use.
  • Campaign registration. This describes what you send: the use case (marketing, account notifications, customer care and so on), sample messages, how people opt in and how they opt out.

Every number you text from gets attached to a registered campaign. Carriers then score your brand, set your throughput and decide how hard to filter you based on that record.

For a fuller primer, our 10DLC rules and requirements post covers what carriers check field by field.

What changed: from "please register" to "registered or filtered"

The biggest shift is enforcement, and it isn't one dated announcement. Carriers ran 10DLC for a long time as a soft requirement. Unregistered traffic got higher fees and some throttling, but plenty still got through. That grace period is over in practice. Unregistered 10DLC traffic now gets carrier-filtered. Messages are accepted by your provider and then never reach the phone.

Three practical consequences:

  1. No deadline is left to beat. The deadline is your next send. If you're texting from an unregistered long code today, assume a meaningful share of it isn't being delivered.
  2. Use case accuracy matters more than it used to. A campaign registered as "marketing" that mostly sends appointment reminders can get worse treatment than one registered correctly. Our use-case picking guide walks through the mapping.
  3. Approval doesn't stop content filtering. Registration gets you onto the road. Carriers still screen message content, links and sending patterns after approval.

Throughput is now tied to your registration record

Carriers don't publish an official rate card, so treat these as round approximations:

FactorApproximate figure
Per-second rate, fresh standard campaign, no vetting~1 to 4 segments/second
Per-second rate, higher use-case tiersroughly 10 to 75 segments/second
T-Mobile daily brand cap, by trust score (lowest first)~2,000 / ~10,000 / ~40,000 / ~100,000 / ~200,000 messages/day
AT&TThrottles per second/minute; no hard daily cap

What this means in practice: a brand-new, unvetted brand sending 15,000 texts in one afternoon will hit limits. At an assumed 2 segments per second, 15,000 single-segment texts take about 2 hours of continuous sending. That assumes T-Mobile's daily cap for your trust score doesn't stop you first.

The fees, line by line

This is where most confusion lives. The structure has three kinds of fees: one-time registration charges, recurring monthly fees and per-message fees. Here's how they look on Ready. Our 10DLC cost breakdown goes deeper on each line.

Registration and monthly fees

  • Brand: ~$10/mo
  • Campaign: ~$20/mo
  • Per number: $2/mo each
  • Setup fee: none. The charge when you submit is the first month, $25 (brand plus campaign).
  • Optional brand vetting: $79 Standard or $179 Enhanced, one-time. Vetting can raise your trust score. It moves your T-Mobile daily cap only if the new score crosses a tier, and it doesn't change your per-second rate. Most senders don't need it. We cover when it pays off in is 10DLC brand vetting worth $79?

Worked example, fixed costs. Assume one brand, one campaign and two numbers:

  • $25/mo for registration and $2/mo per number for 2 numbers before you send a single text.

Per-message fees

Carriers charge a per-segment fee on registered traffic. On Ready that carrier fee is itemized separately, currently $0.0045 per segment. Our Standard rate is $0.0075/segment, one flat rate, for texts you send and replies you receive.

Worked example, a monthly send. Assume 3,000 opted-in contacts and one single-segment message each (160 GSM-7 characters or fewer):

  • Message fees: 3,000 × $0.0075 = $22.50
  • Carrier fee: 3,000 × $0.0045
  • Fixed fees from above: $29.00

Now add one emoji. A 140-character text with an emoji isn't 1 segment. Emoji force unicode encoding, which drops the limit to 70 characters (67 per part when split), so the text becomes 3 segments. The same 3,000-contact send then costs 9,000 × ($0.0075 + $0.0045). That's 3x the message fees for one emoji. Ready swaps curly quotes, long dashes and ellipses for plain characters before sending, so those don't cause the same jump on our side.

Ready's all-in prices per segment include the carrier fee but not screening: Scrub lists and Number validation, the two switches in Settings under Compliance, each add $0.003 per segment when switched on, shown as screening on your bill, and both are off by default. Unless you turn the opt-out footer off, the first text to each contact, and one again from time to time, also gets "Reply STOP to opt out" and your business name if the message does not already have them, so a text close to the segment limit can bill one more segment.

Where other providers come in lower per segment

Raw CPaaS APIs come in lower per segment. Twilio is around $0.0083/segment, and GoHighLevel's LeadConnector runs about $0.0083 per message (roughly $0.0128 all-in). Both are below our Standard rate. If your team wants a bare pipe and will build registration flows, opt-out logic and an inbox itself, those are reasonable choices.

What our rate covers is the rest of the stack:

  • Self-serve registration in the app
  • Automatic STOP handling
  • Quiet-hours holds
  • An Inbox
  • The native GoHighLevel integration
  • For platforms, sub-accounts that each get their own numbers and registration

What to do now

You don't need to watch for news to stay compliant. A short checklist covers most of it.

If you're not registered yet

  1. Register your brand and campaign. On Ready this happens in the app. Most approvals take 2 to 7 days. Our approval timeline post breaks down where time goes.
  2. Use your free texts before you register. Your first 20 texts on Ready are free one-to-one sends. They end the moment a registration is paid for, so use them to test first. To send, you add a card and get a number, which is $2 a month with the first month charged when you get it.
  3. Know the pre-registration ceiling. An account can send up to 500 texts a month before registering, at its normal per-text rate. If you bought a number before registering, you send on Ready's shared registration at the same rate while your own is in review.

If you're already registered

  1. Check that your use case still matches what you send. Businesses drift. A "customer care" campaign that's now sending weekly promos is a mismatch carriers notice.
  2. Audit your opt-in records. Ready records the sender's consent attestation for each bulk send and each API send that sets consent_attested: who sent, to how many contacts, and when. That record is useful, but it isn't a per-contact consent record. The recipient's opt-in time, the wording they agreed to and the page they signed up on have to live in your own systems (your form tool, CRM or store).
  3. Strip emoji from high-volume templates unless the emoji earns the extra segments.
  4. Consider scrubbing for older lists. The standalone TCPA and DNC litigator scrub is $0.005 per contact. It's cheap protection against TCPA exposure that runs $500 to $1,500 per text. Scrubbing lowers your risk but doesn't make you lawsuit-proof. Compliance stays the sender's responsibility.

If you're a platform texting for your customers

Each customer needs its own brand registration. Sharing one brand across unrelated businesses is exactly what 10DLC exists to stop.

Ready's API gives each customer a sub-account with its own numbers and registration. You can check registration status at GET /v1/registration. Sends go through POST /v1/messages with consent_attested: true. Opt-outs are refused up front and not charged. Campaign and drip texts sent during a recipient's quiet hours are held; an API text is held only if the window opens within about 6 hours, otherwise it is refused. Billing happens only when a text actually sends. Start with the quickstart and the messages API reference.

A note on iMessage

A Ready blue line sends as iMessage and doesn't need 10DLC registration. It costs $99/mo per line plus 6 cents a segment, and each line can start up to 50 new conversations a day. It isn't a way around 10DLC for campaigns: campaigns and drip campaigns still send from your registered numbers. Details are in the blue line guide.

The short version

10DLC means a registered 10-digit long code. The big change is that carriers now filter unregistered traffic instead of just charging more for it. The fixed cost of staying legitimate is modest: $25/mo for registration and $2/mo per number. Per-message costs depend on segments, so message length and emoji matter more than most people expect.

If you're unregistered, register this week and expect 2 to 7 days. If you're registered, check that your use case and opt-in records still match reality. If you want to see the fees itemized on a real bill, you can sign up and send your first 20 one-to-one texts free before you register.