> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.pinnacle.sh/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.pinnacle.sh/_mcp/server.

# Rate Limits

> Understand carrier-specific throughput limits for SMS and RCS messaging.

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](mailto: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

| Scope                             | Limit               |
| --------------------------------- | ------------------- |
| Account (all agents combined)     | 100 messages/second |
| Per agent                         | 10 messages/second  |
| Per recipient (across all agents) | 10 messages/second  |
| Per agent + recipient pair        | 1 message/second    |

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

1. **Automatic queuing** — Messages exceeding rate limits are queued and delivered as capacity becomes available.
2. **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.
3. **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}`](/api-reference/campaigns/10-dlc/get).

## 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](/api-reference/brands/vet).

> **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](mailto: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:

| Tier       | Vetting Score | Description                                   | Messages per Day |
| ---------- | ------------- | --------------------------------------------- | ---------------- |
| `TOP`      | 75-100        | Russell 3000 companies or high vetting scores | 200,000          |
| `HIGH_MID` | 50-74         | Upper-mid trust level                         | 40,000           |
| `LOW_MID`  | 25-49         | Lower-mid trust level                         | 10,000           |
| `LOW`      | 0-24          | Unvetted or low vetting scores                | 2,000            |

---

## 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:

| Class | Description                                                  | Messages per Minute |
| ----- | ------------------------------------------------------------ | ------------------- |
| `A`   | Declared use case, high trust (Russell 3000 or score 75-100) | 4,500               |
| `B`   | Mixed/marketing, high trust (score 75-100)                   | 4,500               |
| `C`   | Declared use case, mid trust (score 50-74)                   | 2,400               |
| `D`   | Mixed/marketing, mid trust (score 50-74)                     | 2,400               |
| `E`   | Declared use case, low trust (score 25-49)                   | 240                 |
| `F`   | Mixed/marketing, low trust or unvetted (score 0-24)          | 240                 |
| `G`   | Lowest trust level (score 0-24)                              | 60                  |

### Special classes

These classes are assigned for specific use cases:

| Class | Description                                          | Messages per Minute |
| ----- | ---------------------------------------------------- | ------------------- |
| `T`   | Low volume mixed campaigns                           | 75                  |
| `N`   | Multi-location businesses (10-5,000 agents/branches) | 3,000               |
| `S`   | High-volume social engagement campaigns              | 2,400               |

---

## 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

| Score Range | Trust Level | T-Mobile Tier | AT\&T/Verizon Class |
| ----------- | ----------- | ------------- | ------------------- |
| 75-100      | High        | `TOP`         | `A` or `B`          |
| 50-74       | Upper-Mid   | `HIGH_MID`    | `C` or `D`          |
| 25-49       | Lower-Mid   | `LOW_MID`     | `E`                 |
| 0-24        | Low         | `LOW`         | `F` or `G`          |

---

## Other carriers (US Cellular, etc.)

Minor carriers use a flat rate limit of **600 messages per minute** regardless of tier.

| Carrier        | Messages per Minute |
| -------------- | ------------------- |
| US Cellular    | 600                 |
| Other carriers | 600                 |

---

## How Pinnacle Handles SMS Rate Limits

Pinnacle automatically manages SMS rate limiting for you:

1. **Automatic queuing** — When you send messages, Pinnacle queues them and delivers at the appropriate rate for each carrier.
2. **Carrier detection** — Pinnacle determines the recipient's carrier and applies the correct rate limit.
3. **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.