Skip to main content

SMS Billing

Inbound SMS to a FlyNumber is free in most countries and per-segment in a handful. Outbound SMS is per-segment for every destination. This page covers how segments are counted, where to see what you've spent, and what happens when your balance runs low.

For configuring where messages get sent, see SMS Information.

Check coverage and rates firstโ€‹

Two pages on the main site tell you what's possible and what it costs before you commit to a number:

  • Coverage โ€” toggle the SMS in and SMS out capability pills to filter the list to numbers that support messaging in the direction you need. Each row shows the badges so you can confirm at a glance.
  • Rates โ†’ SMS โ€” the always-current per-segment cost for every supported country and sender type. This is the source of truth for everything below.

Coverage page with the SMS-in capability pill engaged, showing a table of countries and area codes with capability badges per row โ€” SMS in, SMS out, fax, voice, multi-channel, registration, and monthly price

What gets chargedโ€‹

DirectionWhen charged
InboundOnly for FlyNumbers in a handful of countries (United States, Mexico, Lithuania, Thailand at time of writing). Every other SMS-enabled country is free inbound.
OutboundPer-segment for every destination, regardless of your FlyNumber's country.

Inbound rates also depend on sender type โ€” regular phone numbers (8โ€“13 digits) are typically the lower rate; short codes (4โ€“6 digits, e.g. 87512) are typically higher.

Canadian FlyNumbers don't charge inbound at all โ€” the SMS-in capability isn't wired on those numbers.

For the canonical current values per country and sender type, see /rates#sms.

How segment math worksโ€‹

Long messages get split into segments at SMS-protocol limits. Each segment is billed separately. Limits depend on encoding:

EncodingSingle segmentMulti-segment
GSM-7 (Latin letters, digits, basic punctuation)160 characters153 characters per segment
UCS-2 (emoji, non-Latin scripts, special symbols)70 characters67 characters per segment

The encoding flips to UCS-2 if even a single character requires it. Multi-segment messages lose 7 characters (GSM-7) or 3 characters (UCS-2) per segment to a concatenation header.

Extended characters cost two GSM-7 chars

A handful of characters look basic but cost 2 GSM-7 characters via an escape sequence:

[ ] { } \ ^ ~ | and the Euro sign โ‚ฌ

A message with several brackets or currency symbols hits the segment limit faster than expected.

Examplesโ€‹

Short standard message

Message: "Your verification code is 847291"

  • Encoding: GSM-7 (all standard characters)
  • Character count: 35
  • Segments: 1
Longer standard message

Message: A 200-character business notification

  • Encoding: GSM-7
  • Calculation: 200 รท 153 = 1.31 โ†’ rounds up
  • Segments: 2
Message with emoji

Message: "Thanks for your order! ๐ŸŽ‰"

  • Encoding: UCS-2 (emoji forces Unicode)
  • Single-segment limit: 70 characters
  • Character count: 24
  • Segments: 1
Longer Unicode message

Message: An 80-character message in Chinese

  • Encoding: UCS-2 (non-Latin script)
  • Calculation: 80 รท 67 = 1.19 โ†’ rounds up
  • Segments: 2

Lithuania mobile โ€” activation requiredโ€‹

Lithuania mobile FlyNumbers need a one-time SMS activation through a support ticket before inbound SMS starts working. Activation carries a $5.00 setup fee and an additional $4.00/month on top of the per-segment rate โ€” these are upstream carrier fees specific to Lithuania mobile.

What happens when your balance runs lowโ€‹

The behavior differs by direction:

  • Inbound โ€” message delivered free. If your prepaid balance can't cover the segment charge, we still forward the message to your email and skip the fee. Don't rely on this long-term; top up so the next message bills correctly.
  • Outbound โ€” blocked. Sending fails with an "insufficient balance" error. Add funds and retry.

Set up auto-refill to keep your balance topped up automatically โ€” and configure a low-balance notification so you know before you hit zero.

Where to see SMS chargesโ€‹

SMS charges have their own page: SMS Charges in the sidebar under Billing.

SMS Charges page showing three summary cards (Total Charges, Messages, Total Segments) above a Charge History list with All / Outbound / Inbound filter pills; each row shows the contact phone number with a Local badge when same-country, the date and time, the FlyNumber it went via, direction (In or Out badge), segment count, and the charge amount with three-decimal precision

The page has:

  • Three summary cards โ€” Total Charges, Messages, Total Segments across the filtered range
  • Filter pills โ€” All / Outbound / Inbound
  • Per-message rows โ€” contact number (with a Local badge when they're in the same country as the FlyNumber), date and time, the FlyNumber used, direction badge, segment count, and the cents charged

Amounts show three decimals (e.g. $0.007) because rates can be fractional cents.

SMS charges are separate from Transactions and invoices

SMS charges don't appear on the Transactions page or on invoice PDFs โ€” they have their own log on the SMS Charges page only.

Outbound SMSโ€‹

Outbound SMS is not enabled by default on FlyNumber accounts. It's a Consumer-only, person-to-person (P2P) service โ€” what matters is the identity of the sender, not the content of the message. It's approved only for an individual texting on their own behalf for personal reasons, and each request goes through a manual review before activation. Any business or organization (or anyone texting on a business's behalf) is a Non-Consumer and may not send outbound SMS โ€” not even a conversational, one-to-one message. Business, marketing, automated, and bulk messaging aren't permitted.

Usage limitsโ€‹

A few rate limits apply to protect against runaway sends:

  • 5 sends per minute per account
  • 30 sends per hour per account
  • $50 per day per account

Hitting a limit returns a clear error in the SMS composer; the limit window rolls forward as old sends age out.

Personal use onlyโ€‹

Outbound is intended for personal, person-to-person (P2P) conversations only โ€” texting friends, family, or other personal contacts the way you would from a mobile.

Not allowed:

  • Marketing, promotional, or sales messages
  • Bulk / broadcast / mass-list messaging
  • Automated alerts, app-generated notifications, scheduled sends
  • 2FA / verification codes sent to your customers
  • Lead generation, surveys, polls, appointment reminders
  • Any business-to-consumer (B2C) or application-to-person (A2P) traffic

Business and automated traffic requires a registered campaign (10DLC in the US, similar elsewhere) through a provider that specializes in A2P SMS โ€” FlyNumbers aren't a fit for that traffic.

Outbound traffic is monitored. Accounts trending toward business or automated patterns will have outbound revoked. For the full policy and how to request activation if it's been disabled, see Outbound SMS.

Where to nextโ€‹