On paper, a verified toll-free number looks like the obvious pick for US SMS. One number, one verification, and you can text anyone in the country without registering a "brand" and a "campaign" and mapping a use-case to what you actually send. No per-state anything. It sends nationwide out of the box once verified.

So why does almost every serious sender end up on 10DLC anyway? Because "sends nationwide" and "sends fast nationwide" are two different promises, and the gap between them is where flash sales stall and 2FA codes arrive late.

Full disclosure: I work for Ready, and we handle both toll-free verification and 10DLC in-app, so I don't have a horse in this race beyond wanting you on the right one. Let me lay out the actual tradeoffs.

The confusion: "toll-free doesn't need 10DLC" is true and misleading

Here's the fact that trips people up. 10DLC (10-digit long code) is the registration framework for sending A2P traffic from a local number — the kind that shows a local area code. Toll-free numbers (800, 888, 877, etc.) run on a separate A2P framework entirely. They don't go through 10DLC brand/campaign registration.

That's correct. What people hear, though, is "toll-free skips registration." It doesn't. Toll-free A2P has its own verification process. You submit business info, opt-in details, and sample messages, and the carriers approve or reject it. Unverified toll-free traffic gets aggressively filtered — same as unregistered 10DLC.

So the real comparison isn't "registration vs no registration." It's two different approval processes with two different timelines, cost structures, and — the part everyone underweights — two very different throughput ceilings.

Setup speed: 10DLC now wins the race it used to lose

For years, toll-free was the fast path. That's flipped.

  • Toll-free verification now commonly takes days to a couple of weeks. The queues got long as more senders piled in, and there's a manual review step you can't shortcut.
  • 10DLC approval is typically 1–3 days, and with a clean submission it's often same-day. Standard 10DLC carrier fees run roughly ~$10/mo per brand + ~$20/mo per campaign.

I've written before about why toll-free verification takes weeks while 10DLC approves same-day. The short version: the two-week toll-free wait is real, and it's usually the deciding factor for anyone who wants to send this week. If speed to first send is your constraint, 10DLC is now the faster path — the opposite of the old advice.

The throughput tradeoff nobody mentions until it bites

This is the headline. A verified toll-free number and a registered 10DLC number don't push messages at the same rate, and the ceiling shows up exactly when you can least afford it — during a blast.

Toll-free throughput is governed by daily and per-minute segment limits that depend on your verification status. A freshly verified toll-free number is not a firehose; it's throttled while it builds sending history.

10DLC throughput is set by your brand trust score and the specific carrier. A well-vetted 10DLC campaign can push meaningfully higher TPS (transactions per second) than a comparable toll-free number, especially on T-Mobile, which enforces daily message caps tied directly to your vetting tier. I get into the mechanics in how your vetting score sets your daily send cap and the TPS ceiling that spreads your flash-sale send.

Here's what the ceiling feels like in practice. Say you've got a 50,000-contact list and a noon flash sale. If your number tops out around 90 segments/second, that blast physically cannot all land at noon — the tail trickles out for 40+ minutes regardless of when you hit send. Toll-free's ceiling and 10DLC's ceiling are both real; they're just set differently, and for high-volume marketing sends, a well-vetted 10DLC setup usually gives you more room.

Cost: they're closer than you'd think

The number-type decision barely moves your per-message cost. On Ready, outbound is the same regardless of number type:

Ready StandardReady Growth (auto past 50k/mo)
Per segment$0.02$0.016
+ carrier pass-through$0.0045$0.0045
All-in / segment$0.0245$0.0205

The differences are in the registration fees, not the traffic:

  • 10DLC: ~$10/mo brand + ~$20/mo campaign in carrier fees. Optional brand vetting at $40 (Standard) / $100 (Enhanced), one-time, which raises your throughput ceiling.
  • Toll-free: verification carries its own carrier fees, structured differently, but in the same order of magnitude for most senders.

Worked example so the traffic cost is concrete: a 175-character promo with one emoji is a unicode message, which caps segments at 70 chars each — so that message is 3 segments. A 5,000-contact blast on Standard:

`` 5,000 contacts × 3 segments × $0.0245 = $367.50 ``

That number is identical whether it goes out over toll-free or 10DLC. So don't pick your number type to save on traffic — pick it on speed, throughput, and fit.

Vertical fit: which one actually suits what you send

Number type maps loosely to what you're sending and how big your program is.

Toll-free tends to fit:

  • Lower-to-moderate volume senders who don't need aggressive TPS
  • Businesses that genuinely want the toll-free brand look (support lines, national services)
  • Senders already using a toll-free voice line who want texting on the same number
  • Mixed transactional/support traffic where a single national number is cleaner

10DLC tends to fit:

  • Anyone who needs to send this week (same-day approval path)
  • High-volume marketing blasts where throughput ceiling matters
  • Local businesses that benefit from a local area code (people answer local numbers)
  • SaaS and ecommerce running distinct use-cases — because 10DLC lets you register a transactional campaign for 2FA/reminders separately from a marketing campaign

That last point is a real one. Sending 2FA codes and promo blasts from the same number gets both filtered, and 10DLC's campaign structure makes splitting them clean. Toll-free doesn't give you that same per-use-case separation.

If you're a single-location business staring at this decision specifically, I wrote a dedicated breakdown: toll-free vs 10DLC for a single-location business.

A decision shortcut

If you don't want to weigh five variables, use this:

  1. Do you need to send within the next few days? → 10DLC (same-day path). Toll-free's verification queue can't guarantee it.
  2. Are you running large marketing blasts and care about how fast they land? → 10DLC, and pay the $40 vetting to lift your ceiling.
  3. Do people need to recognize you as local? → 10DLC with a local area code.
  4. Do you want one national number, mostly support/transactional, moderate volume, and don't mind waiting? → Toll-free is genuinely fine here.
  5. **Do you send 2FA/reminders and marketing?** → 10DLC, with separate campaigns per use-case, either way.

For most senders the honest answer lands on 10DLC — which is why "nationwide with no registration" doesn't make toll-free the default. The nationwide part was never the bottleneck. Throughput and speed-to-first-send were, and 10DLC now wins both for the majority of programs.

If you want the fuller three-way including short codes, I compared toll-free, short code, and 10DLC side by side — short codes are the highest-throughput option, but the 8–12 week wait and cost put them out of reach for most.

The practical takeaway

"Toll-free sends nationwide without per-state 10DLC registration" is true — but it hides two costs: a verification queue that now runs slower than 10DLC approval, and a throughput ceiling that pinches during your biggest sends. Pick your number type on speed, throughput, and vertical fit, not on the false savings of skipping registration, because your traffic cost is the same either way.

Ready handles both, so you're not locked into the wrong choice by your provider. If you're closer to your first send than your final decision, the fastest thing you can do is start the 10DLC path — most approvals clear same-day — and you can grab 2,500 free credits with no card to test delivery before you commit real volume. If you land on toll-free instead, we verify that in-app too. Either way, get the number type matched to what you actually send.