If you text on Twilio, A2P 10DLC is now a big part of your messaging work. You register a brand and a campaign, wait for approval, and pay several fees. If you run a platform that texts on behalf of your own customers, you repeat that for every customer. The per-segment price on Twilio's pricing page is the smallest part of what you pay.
This post covers the costs Twilio 10DLC adds on top of the per-segment rate, how the registration API works for a platform, when toll-free verification fits better, and when staying on Twilio is the right call. We make Ready, so we'll also cover where Ready fits and where it doesn't, with the math shown.
What Twilio 10DLC actually costs
Twilio's US SMS rate is about $0.0083 per segment. For raw sending, that's among the lowest prices you'll find. Ready's Standard rate is higher on that line, and we won't pretend otherwise.
On top of the per-segment rate, a registered 10DLC sender on Twilio pays several kinds of charges:
- Brand registration. A one-time fee to register the business with The Campaign Registry. Optional secondary vetting costs extra.
- Campaign vetting. A one-time fee per campaign submitted. You pay it again if the campaign is rejected and you resubmit.
- Monthly campaign fee. A recurring charge per campaign. The amount depends on the use case.
- Carrier fees per message. Each carrier adds a pass-through fee per segment, and it differs for registered and unregistered traffic.
- Phone number rental. A monthly fee per number.
Twilio changes these line items from time to time, so check its current 10DLC pricing page instead of trusting an old blog post, this one included. We break down the carrier-side fees that apply on any provider in 10DLC cost: every fee explained.
Don't forget segment math
Whatever the provider, you're billed per segment, not per message:
- One plain-text segment holds 160 GSM-7 characters. A longer message splits into 153-character parts.
- One emoji or other non-GSM character drops the limit to 70 characters (67 per part).
- A 175-character promo with one emoji is 3 segments, not 2.
On Twilio, a curly apostrophe pasted from a doc can also switch the message to unicode. Ready replaces curly quotes, long dashes and ellipses with plain ones before sending, so those characters never change the count. Emoji still do, on every provider.
The Twilio registration process, step by step
For a single business texting its own customers, Twilio's console walks you through it. For a platform, the process becomes an engineering project. The flow through Twilio's APIs looks roughly like this:
- Create a customer profile in Trust Hub with the business's legal name, EIN, address and authorized contact.
- Create an A2P trust bundle that ties that profile to messaging.
- Submit the brand registration and wait for the result.
- Create a Messaging Service and attach phone numbers to it.
- Submit the A2P campaign on that Messaging Service. This includes the use case, sample messages, opt-in description and opt-out language.
- Poll or listen for status changes, and handle rejections.
If you're an ISV registering your customers, you run that flow once per customer. You collect their business details in your own UI, map their errors back to them, and store the state yourself. We go through the rejection side in Twilio A2P 10DLC registration: steps and common rejections. The general programmatic pattern is in 10DLC registration API: how platforms register their customers' brands and campaigns.
None of this is badly designed. Twilio exposes the primitives and leaves the product work to you. If you have engineers who want that control, that's an advantage.
Toll-free verification: the other path
The "verification" people search for alongside Twilio 10DLC is usually toll-free verification. Toll-free numbers skip the 10DLC brand-and-campaign registry. Instead, you submit a verification form with the business details, use case, sample messages and opt-in proof, and the toll-free verification reviewers approve it.
| 10DLC (local number) | Toll-free (verified) | |
|---|---|---|
| Registration | Brand + campaign through The Campaign Registry | Verification request per number |
| Recurring registry fees | Yes, monthly campaign fee | No campaign fee structure |
| Looks local | Yes, local area code | No, 8XX number |
| Good fit | Platforms giving each customer a local identity, local businesses | One brand with high volume and national reach |
| Unverified sending | Carrier-filtered | Heavily restricted or blocked |
For a single brand texting nationally, toll-free is often the simpler choice. For a platform whose customers are local businesses, a local number usually matters more, and 10DLC is the path. The trade-offs, including RCS, are in 10DLC vs toll-free vs long code vs RCS.
Ready sends over registered 10DLC numbers and the blue line (iMessage). If toll-free is clearly right for you, Twilio or another CPaaS is a reasonable home for it.
Throughput is a carrier limit, not a provider feature
Switching providers won't change throughput. Carriers set the limits based on your registration. These figures are approximate, because carriers don't publish an official rate card:
- Per-second rate: about 1 to 4 segments per second for a new standard campaign with no vetting. Higher use-case tiers get tens per second, roughly 10 to 75.
- T-Mobile daily brand cap by trust score: about 2,000, 10,000, 40,000, 100,000 or 200,000 messages a day, lowest score first.
- AT&T throttles per second and per minute instead of setting a hard daily cap.
At an assumed 3 segments per second, a 10,000-segment campaign takes about 55 minutes on Twilio, on Ready or anywhere else. Brand vetting ($79 Standard or $179 Enhanced, one-time, on Ready) can raise your trust score. It only changes the daily cap if the score crosses a tier, and it never changes the per-second rate.
The worked example: a platform with 50 customers
Here's a fictional SaaS platform with these assumptions:
- 50 customers, each texting opted-in appointment reminders
- Each customer sends about 2,000 segments a month
- One registered brand, one campaign and one number per customer
On Ready (Standard):
- Registration per customer: $25/mo for registration and $2/mo per number, repeated for each of the 50. There's no setup fee. The charge at submit is the first month.
- Usage: 100,000 segments × $0.0075 = $2,000 + 100,000 × $0.0045 in carrier fee.
- That all-in rate excludes the compliance surcharge. Scrubbing and landline validation are $0.003 extra per segment each, but only if you switch them on. Both are off by default.
On Twilio:
- Usage: 100,000 × $0.0083 = $830, plus carrier fees.
- Twilio's own brand, vetting and monthly campaign fees for 50 brands and campaigns, plus number rental.
On the per-segment line alone, Twilio comes out about −$80 a month lower for this platform before carrier fees. That's the honest gap.
The real question is whether the work around that rate is worth −$80 a month to you:
- Building the registration UI
- Handling rejections
- Isolating each customer
- Propagating opt-outs
- Enforcing quiet hours
- Scrubbing lists
If you already have that built, stay on Twilio. If it's still on your roadmap, compare the cost against engineering hours, not against $0.0083.
We wrote about passing that fixed $27 into your plan pricing in how SaaS platforms should price 10DLC into every plan.
What Ready handles that Twilio leaves to you
Ready is a thin layer over carrier infrastructure, built for platforms that text for their customers. Here's what's included:
- Sub-accounts with their own registration. Each customer gets its own numbers and its own 10DLC brand and campaign. You create sub-accounts with
POST /v1/sub-accountsand check status withGET /v1/registration. Registration is self-serve, and most approvals take 2 to 7 days. See docs.tryready.com. - Opt-out propagation. Inbound STOP is honored automatically, and the contact can't be texted again from any campaign. Sends to opted-out or numbers on your Ban list are refused up front and not charged.
- Quiet hours. Campaign and automation texts sent during the recipient's quiet hours are held, sent later, and charged only when they actually send; a one-to-one or API text is held only if the window opens within about 6 hours, otherwise it is refused.
- TCPA litigator and DNC scrubbing. You can scrub inline at $0.003 per segment when switched on, or run a standalone scrub at $0.005 per contact. TCPA exposure runs about $500 to $1,500 per text, so this is cheap risk reduction. It is not lawsuit protection. Compliance is still your responsibility.
- Attestation capture. Every bulk send, and every API send that sets
consent_attested, records who sent it, to how many recipients, and when. This is an audit trail of the sender's attestation. It is not a per-contact consent record, so your app still stores the opt-in itself. - Local presence. Texts go from the account's registered number closest to the contact's area code. Its listed price is $0.0015 for each segment of a delivered text.
- Blue line. iMessage sending at $99 a month per line, plus 6 cents a segment. It needs no 10DLC registration, so a customer can start texting while their registration is in review.
- Native GoHighLevel integration for platforms and agencies whose customers already work in GHL.
Sending looks like any other REST API:
curl -X POST https://api.tryready.com/v1/messages \
-H "X-API-Key: $READY_KEY" \
-H "Idempotency-Key: <a new UUID for each text>" \
-H "Content-Type: application/json" \
-d '{"to": "+12125550199", "body": "Your order #1042 has shipped.", "consent_attested": true}' For lists, POST /v1/messages/bulk takes up to 100 recipients per call. Full reference: docs.tryready.com/api/messages.
Whether to stay on Twilio
Stay on Twilio if:
- Your registration flow is already built and working
- You need voice, video, email or international routes from the same vendor
- Toll-free is your main sender type
- Per-segment cost dominates your margin
Look at Ready if:
- You're about to build per-customer 10DLC registration from scratch
- You want opt-outs, quiet hours and scrubbing enforced at the API layer instead of in your code
- Your customers live in GoHighLevel
- You want iMessage alongside SMS in the same inbox
The practical takeaway
Twilio's 10DLC per-segment price is low, and that's real. The total cost also includes registry fees, rejection retries and the code that runs registration for every customer you onboard.
Run the worked example with your own numbers: customers × (brand, campaign and number fees), plus segments × ($0.0075 + $0.0045). Compare that against Twilio's usage cost plus the engineering time you'd spend.
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.
If you want to test Ready, create an account. To send, you add a card and get a number, which is $2 a month with the first month charged when you get it. Your first 20 one-to-one texts are free, so use them before you register, because they end once a registration is paid for. You can send up to 500 texts a month at the normal rate before registering, which is enough to judge delivery and the API before you commit.