Rate Limits
Pinnacle automatically manages rate limiting for all channels. This page covers throughput limits for both SMS (10DLC) and RCS messaging. Rate limits can be expanded by contact founders@pinnacle.sh.
RCS Rate Limits
RCS messages are subject to a four-level rate limiting hierarchy. Pinnacle enforces these limits automatically to maximize deliverability and prevent throttling.
Per-Account Limits
All four limits are enforced simultaneously. The most restrictive limit that applies to a given message takes precedence.
How limits stack
If you have 5 agents each sending to different recipients, your account-level throughput is up to 50 messages/second (5 agents × 10 msg/s each), capped at the 100 msg/s account limit. But a single agent sending to a single recipient is capped at 1 message/second.
How Pinnacle Handles RCS Rate Limits
- Automatic queuing — Messages exceeding rate limits are queued and delivered as capacity becomes available.
- Provider rate limits — Pinnacle also respects the underlying provider’s rate limits (e.g., Google RBM allows up to 200 messages/second at the provider level). You do not need to manage this.
- Retry on throttle — If a provider returns a rate limit error (HTTP 429), Pinnacle retries automatically after a short delay.
SMS Rate Limits
US carriers enforce throughput limits on 10DLC campaigns based on tier assignments. Pinnacle automatically queues messages to ensure these limits are met, maximizing deliverability.
Understanding tiers
Each 10DLC campaign is assigned two tiers that determine messaging throughput:
mnoBrandTier: Used for T-Mobile networks. Limits are based on messages per day.mnoTcrTier: Used for AT&T, Verizon, and all other carriers. Limits are based on messages per minute.
You can view your campaign’s current tiers by calling GET /campaigns/dlc/{campaignId}.
Default tiers
All new campaigns from unvetted brands start with the lowest tiers:
mnoBrandTier:LOW(2,000 messages per day on T-Mobile)mnoTcrTier:G(60 messages per minute on AT&T/Verizon)
Improving your tier
Tiers are determined by your brand’s vetting score. To potentially improve your tiers and increase throughput limits, submit your brand for vetting.
Vetting does not guarantee a tier change
Vetting evaluates your brand against carrier trust criteria. Your tiers will only change if the vetting results in a higher score than your current assignment. Vetting does not guarantee an improvement.
If you need additional support upgrading your throughput, contact us at founders@pinnacle.sh.
T-Mobile rate limits
T-Mobile uses the mnoBrandTier value and enforces daily message limits. Your tier is determined by your vetting score:
AT&T and Verizon rate limits
AT&T and Verizon use a message class system (mnoTcrTier) based on your brand’s vetting status and campaign use case.
Standard classes
These classes are assigned based on your vetting score and whether your campaign uses a declared use case or mixed/marketing messaging:
Special classes
These classes are assigned for specific use cases:
Vetting score overview
Your vetting score is determined by The Campaign Registry (TCR) and ranges from 0 to 100. The score is based on:
- Brand verification status: Whether your EIN/Tax ID matches your legal company name
- Russell 3000 membership: Publicly traded companies in the Russell 3000 index automatically receive the highest tier
- Third-party vetting: External verification through providers like Aegis Mobile or WMC Global
Other carriers (US Cellular, etc.)
Minor carriers use a flat rate limit of 600 messages per minute regardless of tier.
How Pinnacle Handles SMS Rate Limits
Pinnacle automatically manages SMS rate limiting for you:
- Automatic queuing — When you send messages, Pinnacle queues them and delivers at the appropriate rate for each carrier.
- Carrier detection — Pinnacle determines the recipient’s carrier and applies the correct rate limit.
- Maximized deliverability — By respecting carrier limits, your messages avoid being flagged or blocked.
You don’t need to implement rate limiting in your application — simply send messages through the API and Pinnacle handles the rest.

