SMS Usage, Limits & Billing
SMS Usage, Limits & Billing
Section titled “SMS Usage, Limits & Billing”This page explains how SIPSTACK counts and bills text messages, which limits apply to your account, and what happens when you reach one. For current prices, per-segment rates, and allowance quantities, see sipstack.com/pricing.
At a Glance
Section titled “At a Glance”- Every plan includes a monthly SMS allowance. Inbound messages have their own allowance — they are not free.
- Your allowance resets on your billing date, not on the 1st of the month.
- Each phone number draws from one pool. Numbers set to Direct to a user use your Nova PBX pool; Team inbox numbers use your Flare SMS pool.
- Usage beyond your allowance is billed per segment on your monthly invoice — but only on an active, paid subscription with a valid payment method on file.
- Trials never bill. Sending stops when a trial limit is reached.
- Outbound sending has a daily send limit and a monthly safety ceiling, and brand-new accounts have a 72-hour velocity limit. Campaign messages that reach one of these are held and retried automatically.
How Messages Are Counted: Segments
Section titled “How Messages Are Counted: Segments”Allowances, overage, and limits all count segments, not messages. A long message is split into several segments, and each one counts.
| Message content | One segment holds | When split, each segment holds |
|---|---|---|
| Standard text (GSM-7) — English letters, digits, common punctuation, and many accented letters such as é, è, à, ù, ü, ö, ä, ñ, Ç | 160 characters | 153 characters |
Standard text that uses € ^ { } [ ] ~ \ | | Still counted as standard text, but each of these characters takes the space of 2 | Same |
Anything else — emoji, a backtick (`) or tab, and characters outside the standard set such as á, í, ó, ú, ê, ç, curly quotes, or non-Latin scripts | 70 characters | 67 characters |
| MMS (picture or media message) | Counts as 4 segments (or more, if the text is longer than 4 segments) | — |
A single character from the last group switches the whole message to the 70/67 rule, and most emoji take the space of 2 characters. For example, a 100-character message is 1 segment in standard text but 2 segments if it contains one emoji. Accented French is usually standard text, so a 225-character French message with é, è, and à is 2 segments. Messages are capped at 1,600 characters.
Inbound messages are counted the same way. The composer in Switchboard shows the segment count as you type.
Your Included Pools
Section titled “Your Included Pools”| Product | How the allowance works |
|---|---|
| Nova PBX | Per seat, pooled across your whole account. Each seat adds its allowance to one shared pool that every user draws from. There are separate allowances for outbound messages to US numbers, outbound messages to Canadian numbers, and inbound messages. |
| Flare SMS | Per account. One outbound allowance and one inbound allowance. |
For example, a 10-seat Nova account gets 10 × the per-seat allowance in each category. One busy user can use more than their “share”, because it is one pool.
When your pool resets
Section titled “When your pool resets”Your pool starts over on your subscription’s billing date each month. If you’re billed on the 12th, your pool runs from the 12th to the 11th of the next month.
- Annual plans still get a monthly pool, which resets on the same day every month.
- If your billing day doesn’t exist in a month (for example, the 31st), the pool resets on the last day of that month.
- Unused allowance does not carry over.
Which Pool a Message Uses
Section titled “Which Pool a Message Uses”The pool is chosen per phone number, from how the number’s SMS routing is set on its Messaging tab:
| SMS routing on the number | Pool used |
|---|---|
| Direct to a user (a personal number) | Nova PBX pool |
| Team inbox | Flare SMS pool |
This applies in both directions: a message you receive counts against the pool of the number that received it. It also holds when you have both products. Messages on a team inbox number never use your Nova allowance, and messages on a personal number never use your Flare allowance. If you don’t have a Nova PBX subscription, all your numbers use the Flare pool.
Inbound Messages
Section titled “Inbound Messages”Inbound messages are not free. They have their own included allowance. Beyond it, each inbound segment is billed at your tier’s per-segment overage rate, the same rate as outbound. On Nova PBX, inbound uses the US outbound rate whichever country the message came from.
You can’t stop people from texting you, so inbound messages are never blocked by any limit. If your account isn’t eligible for overage (see below), inbound messages above your allowance are recorded but not billed.
Overage
Section titled “Overage”When you use more than your included pool, each extra segment is billed at your tier’s per-segment overage rate and appears on your next invoice. Rates are tier-specific and higher tiers have lower rates — see sipstack.com/pricing.
Who can run overage
Section titled “Who can run overage”Overage is available only when both of these are true:
- The subscription is active and paid — not in a free trial, not past due.
- A valid payment method is on file: a card that hasn’t expired, set as your default or autopay method on Account → Billing. Accounts SIPSTACK has set up to pay by another method don’t need a card.
If either isn’t true:
- Outbound messages are refused once your included allowance is used up. Add or update your card to keep sending.
- Inbound messages keep arriving. Those above the allowance are recorded but not billed.
Past-due or cancelling subscriptions
Section titled “Past-due or cancelling subscriptions”If your subscription is past due or scheduled to cancel, messages beyond your included allowance are paused. Messages within the allowance keep working. Pay the open invoice, or undo the cancellation, to turn overage back on. See Subscription Lifecycle.
Free Trials
Section titled “Free Trials”- Nothing is billed during a trial, and there is no overage.
- Flare SMS trials can send 100 messages in total across the trial, and no more than 50 messages in any 10 minutes. These count messages, not segments.
- Nova PBX trials get the plan’s full pooled allowance. Sending stops when the allowance for a destination (US or Canada) is used up.
- Inbound messages during a trial are recorded and never billed.
To keep sending, click Activate now on the trial banner. That ends the trial and starts your paid plan (you choose the tier before anything is charged), and trial limits lift straight away. Otherwise the trial converts on its end date, provided a valid card is on file.
Send Limits
Section titled “Send Limits”These safety limits apply to outbound messages and count segments. Inbound messages never count toward them. Your team inbox numbers and your personal numbers each have their own limits, based on the product whose pool they use:
- Team inbox numbers (Flare SMS): while your Flare subscription is active. They count every source: the inbox and Pulse, campaigns, the API, auto-responders, and AI follow-up texts.
- Personal numbers (Nova PBX): whenever you have a Nova PBX subscription, including during a trial. They count everything your users send from their personal numbers.
Daily send limit
Section titled “Daily send limit”| Tier | Team inbox numbers (Flare SMS) | Personal numbers (Nova PBX) |
|---|---|---|
| Core | 2,500 segments per day | 100 segments per seat per day |
| Pro | 15,000 segments per day | 250 segments per seat per day |
| Ultra | 50,000 segments per day | 500 segments per seat per day |
| Enterprise | Set in your agreement | 500 segments per seat per day, unless your agreement sets another value |
The Nova limit is pooled across your account, like your allowance. A 10-seat Nova Pro account can send 2,500 segments a day from its personal numbers, and one user can send more than their “share”.
The day is a UTC day: every daily limit resets at 00:00 UTC (8 pm Eastern during daylight time, 7 pm in winter).
Monthly safety ceiling
Section titled “Monthly safety ceiling”In one pool period, you can send at most 3 times your monthly outbound allowance:
- Team inbox numbers: 3 × your Flare allowance — for example 7,500 segments on Core, 45,000 on Pro, and 150,000 on Ultra.
- Personal numbers: 3 × your pooled Nova outbound allowance, US and Canada combined (seats × the per-seat allowances). On Enterprise, the Ultra allowance is used as the basis.
The ceiling resets with your pool on your billing date. Normal overage happens well below it. The ceiling exists to stop runaway sending, such as an automation stuck in a loop or a compromised account, from producing a surprise bill. If your business regularly needs more, contact us to discuss a higher plan.
New-account velocity limit
Section titled “New-account velocity limit”For the first 72 hours after your account is created, team inbox numbers can send at most 2,000 segments in total. This protects new accounts against card fraud. It lifts automatically after 72 hours.
What Happens When You Reach a Limit
Section titled “What Happens When You Reach a Limit”| How the message was sent | What happens |
|---|---|
| Inbox, Pulse, or the API | Refused immediately with the reason. Nothing is sent and nothing is counted. Personal (Nova) numbers are always used this way, so a message from one is refused, never held. |
| Campaigns and scheduled messages | Held and retried automatically — see below. |
| Auto-responders and AI follow-up texts | Skipped. They are not retried. |
Campaign messages that reach a send limit wait instead of failing:
| Limit | When the message is retried |
|---|---|
| Daily send limit | After the daily reset at 00:00 UTC. Held messages go out over the following 15 minutes, not all at once. |
| New-account velocity limit | When the 72-hour window ends. |
| Monthly safety ceiling | When your pool resets, or after 72 hours, whichever comes first. A message that is still over the ceiling after 72 hours is marked Failed with the reason. |
While a campaign message is held, it shows as Queued in the campaign’s Messages tab, and the error column says which limit it is waiting on.
These refusals fail immediately, including for campaign messages, because waiting won’t clear them:
- a trial limit (activate your plan to keep sending);
- no valid payment method when the message would be overage (add a card);
- a past-due or cancelling subscription when the message would be overage (pay the open invoice or undo the cancellation).
If your account can’t run overage and a campaign is larger than what’s left of your included allowance, the campaign is paused before it starts and the reason shows on the campaign. Add a payment method (or activate your plan), then resume it. Resuming checks again, so a campaign that still doesn’t fit stays paused and shows the reason.
Messages That Are Never Blocked
Section titled “Messages That Are Never Blocked”These messages go out even when a limit has been reached, and they never count toward a daily limit or the monthly ceiling:
| Message | Counted toward your allowance and billed? |
|---|---|
| Your replies confirming STOP, START, and HELP (opt-out, opt-in, and help confirmations) | Free up to 2 segments per reply. Any segments beyond 2 count and bill like any other message, so keep these replies short. |
| SIPSTACK’s own sign-in and verification codes | Never counted, never billed. |
| E911 emergency notifications | Never counted, never billed. |
Inbound STOP, START, and HELP keyword messages from your contacts, including French variants such as ARRÊT, are also not counted and not billed.
Verification codes that you send to your customers, through the API or otherwise, are ordinary messages. They count, bill, and are subject to limits like any other message.
Where to See Your Usage
Section titled “Where to See Your Usage”- Nova PBX — Analytics → Usage shows P2P SMS sent — US, P2P SMS sent — Canada, and P2P SMS received, in segments, against your pooled allowance (seats × the per-seat allowance). Usage updates hourly.
- Flare SMS — the Flare dashboard shows what your team inbox numbers sent and received this pool period, and today’s sends against your daily send limit.
- Billed overage — line items on your invoices.
For Developers
Section titled “For Developers”Send-limit refusals on the messaging API (POST /api/v2/messages/send) return 429 with a Retry-After header, or 402 / 403 / 503 with a machine-readable code. See Rate Limits → Plan Message Limits and Error Codes.