smspostam

Guide · Pricing

How pricing and message length work.

9 min readUpdated April 2026

In short

  • SMS is billed per segment. A segment is 160 characters of standard text or 70 characters of unicode.
  • Longer messages are split into multiple segments and billed per segment.
  • The route — generic vs DND corridor — changes the per-segment price. Transactional traffic on the DND corridor costs more than marketing on generic.
  • Your wallet reserves the estimated cost before a campaign dispatches and settles against actual spend after.

What counts as one SMS

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.

160 characters vs unicode

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.

Segmentation examples

Three short examples to make the math concrete:

Why longer messages cost more

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.

Generic vs DND routes

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 worked example

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 third, worked in the other direction

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.

How this appears on your wallet

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.

What this looks like on your ledger

Ledger

NGN · append-only
  • Top-up payment

    Card · paystack_ref_0421

    +₦10,000.00

  • Reserve — April promo

    Estimated at preflight

    −₦2,480.00

  • Actual spend — April promo

    Settled after dispatch

    −₦2,360.00

  • Released back

    Over-reservation released

    +₦120.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

Questions about cost.

Know the cost before you hit send.

Our estimator shows the exact cost for your message type and list size — no surprises on the wallet.

  • Sender IDs approved in 24–72 hours
  • Fund from ₦1,000
  • No monthly minimums