Guide · Pricing
In short
Technically, one SMS is defined by the telecom standard GSM 03.38: a single message of up to 160 characters from the standard GSM-7 character set. In practice, that's about the length of a tweet from the pre-2023 era — enough for a meaningful update, not enough for a paragraph.
When your message fits within 160 standard characters, you pay for one segment. When it doesn't, the message is automatically split into parts — each part is its own segment, and each segment is billed separately.
The 160-character limit applies only to the standard GSM-7 alphabet — English letters, digits, punctuation, and a few European accents. As soon as you include a character outside that set — a local-language diacritic, an emoji, or script from Yoruba, Igbo, Hausa — the entire message is encoded in unicode (UCS-2), and the per-segment limit drops to 70 characters.
You don't choose the encoding. The presence of a single non-GSM character flips the whole message to unicode. A 150-character message with one accented character becomes a 3-segment unicode send where a pure-ASCII version would have been one segment.
Three short examples to make the math concrete:
The cost is per segment for a technical reason: each segment is delivered as a separate over-the-air message by the carrier, even if the recipient's phone reassembles them into one display. When a 340-character message arrives on your phone as one bubble, behind the scenes the carrier sent three SMS and stitched them together. We pay the carrier per segment, so we charge per segment.
The practical implication: keep messages short. An 85-character reminder costs ₦4.00 on the DND corridor. A 210-character version of the same reminder costs ₦8.00 — you paid double for padding. When you're sending 5,000 of them, that's the difference between a ₦20,000 campaign and a ₦40,000 one.
Each message dispatches on one of two Nigerian routes:
Unicode adds a small premium to both: generic unicode is ₦3.00 per segment, DND unicode is ₦4.50. International traffic (non-Nigerian numbers) has a separate corridor that starts at ₦15.00 per segment.
A school sends a 62-character PTA reminder to 1,000 parents. The message is a service update — transactional class — so it routes on the DND corridor.
Now consider the same 1,000-parent list receiving a 170-character fundraising note (marketing class, generic route):
Same final cost, very different shapes. The transactional send reaches everyone at one segment each. The marketing send reaches 80% of the list at two segments each. Both valid — just different workflows.
A clinic sends a 130-character appointment reminder to 2,500 patients. One Yoruba accented character appears in one doctor's name, so the message renders in unicode (70 chars per segment). Class is Transactional, so it routes on the DND corridor at the unicode-on-DND rate of ₦4.50 per segment.
If the clinic transliterated the name so every character is in the standard GSM-7 set, the same message is 130 chars in standard encoding — one segment per recipient. Cost: 2,500 × ₦4.00 = ₦10,000. The single unicode character cost an extra ₦12,500 across the campaign.
When you submit a campaign, we estimate the cost based on segment count × recipients × per-segment rate. That amount is reserved from your available balance — not charged — while the campaign awaits dispatch. After dispatch, the actual spend is settled against the reserve, and any difference is released back to available.
Ledger
NGN · append-onlyTop-up payment
Card · paystack_ref_0421
+₦10,000.00
Balance
₦10,000.00
Reserve — April promo
Estimated at preflight
−₦2,480.00
Balance
₦7,520.00
Actual spend — April promo
Settled after dispatch
−₦2,360.00
Balance
₦7,520.00
Released back
Over-reservation released
+₦120.00
Balance
₦7,640.00
Every movement is recorded as its own ledger row. The top-up, the reserve, the actual spend, and the released-back amount all show up separately. If accounting asks where ₦2,360 went, you have an append-only trail to show them.
Pricing FAQ
Phones display multi-segment messages as one bubble, but the carrier delivered them as separate SMS. Segments are billed per carrier-side message, not per visual bubble.
No. We count exact characters and compute segments using the GSM standard: 160 for single-segment GSM-7 or 153 per segment when concatenated; 70 or 67 for unicode. The estimator on the pricing page shows the exact math.
No. What you see in the rate card is what we pay the carrier plus our margin — there's no hidden discount. Bulk pricing kicks in past 100,000 segments per month; reach out if you're close to that.
Product
The full lifecycle of a campaign's cost — reserved, settled, released back.
Read moreSolutions
Why retailers blend transactional and marketing traffic — and the effective rate that results.
Read morePricing
Every route, every encoding, the estimator for your specific send.
Read more