← Docs

Messaging Limits & Compliance

A2P 10DLC throughput on MOST

Every business texting number in the US runs on A2P 10DLC, the carrier framework (T-Mobile, AT&T, Verizon) for application-to-person messaging. When you turn on SMS, MOST registers a messaging brand and campaign on your behalf with The Campaign Registry (TCR) and the carriers. The throughput you get depends on how your brand is verified.

Business (EIN) vs. Sole Proprietor

There are two ways to register a brand. If you have an EIN (Employer Identification Number), MOST registers a standard business brand — verified against business records, no phone verification, and standard carrier throughput. This is the recommended path.

If you don’t have an EIN, MOST can register a Sole Proprietor brand instead. Because there’s no business record to verify against, the carriers require a one-time SMS code sent to your personal mobile, and they impose strict, non-negotiable throughput caps (below). A free EIN takes about 10 minutes to obtain from the IRS and removes these caps entirely.

Sole-proprietor limits

These are carrier-mandated caps, defined by TCR’s Sole Proprietor policy and enforced per campaign. They are not set by MOST and cannot be raised — the only way past them is to register with an EIN.

LimitValueCarrier
Daily messages1,000 / dayT-Mobile
Send rate15 / minuteAT&T
Campaigns per brand1All
Phone numbers per brand1All

How MOST enforces the caps

MOST enforces the sole-proprietor caps on your behalf, before every message leaves the platform, so your brand stays compliant and isn’t suspended by the carriers:

  • Outbound SMS on a sole-proprietor campaign is counted per campaign against both caps.
  • The 15/minute rate is checked first, then the 1,000/day total.
  • Once a cap is reached, further sends are blocked (not silently dropped) and return an error explaining which cap was hit.
  • The per-minute window clears each minute; the daily counter resets at 00:00 UTC.

API behavior

When a message is blocked by a sole-proprietor cap, the send call returns a failed result rather than dispatching to the carrier:

{
  "success": false,
  "error": "Sole-proprietor daily limit reached (1,000 messages/day —
            a T-Mobile carrier cap for sole-proprietor brands). It resets
            at 00:00 UTC, or register as a business with an EIN for higher limits.",
  "metadata": { "rate_limited": true }
}

Automations and workflows that send SMS should treat a rate_limited result as a soft failure — pause and retry later rather than looping. Standard business (EIN) brands are not subject to these caps.

Message costs

Sends draw down your monthly message credits (stamps). Texting costs on MOST:

MessageCost
Outbound SMS (per segment)2 stamps
Outbound MMS5 stamps
Inbound SMS or MMS1 stamp

An inbound message is never dropped or rejected for insufficient balance — the carrier has already delivered it, so it is always received and the charge may take your balance negative until the next top-up.

Want higher limits?

Register your brand with an EIN for standard carrier throughput and none of the sole-proprietor restrictions. A free EIN takes ~10 minutes from the IRS website.