iMessage vs SMS vs RCS vs WhatsApp for business: which channel fits (2026)
Written by ZeroSettle. We make one of the products compared. Facts about SMS, RCS and WhatsApp come from Apple's, Google's, Meta's, Twilio's and AWS's own pages, and facts about other iMessage providers from their own pricing pages, all checked October 8, 2026.
For a US business texting iPhone customers one to one, iMessage (what ZeroSettle provides, as a real number with a REST API) gives the native Messages experience: blue bubbles, your name and photo, typing indicators and tapbacks, but it reaches only Apple users. SMS reaches every phone but arrives green and needs carrier registration first. RCS adds branding and rich cards on Android and on iPhones running iOS 18 or later with a supporting carrier, after brand and carrier approval, and WhatsApp suits customers outside the US. You can also combine two: iMessage for iPhone users and SMS for everyone else.
Key takeaways
- Reach: iMessage reaches Apple users only; SMS reaches every mobile phone; RCS reaches Android and iPhones on iOS 18+ where the carrier supports it; WhatsApp reaches people who have the app.
- Cost model: ZeroSettle Pro is $49/month for one number, with messages in and out unlimited (counted), including unlimited messages with people who message you first. SMS and RCS bill per message plus carrier fees; WhatsApp bills per delivered message, by message category and the recipient's country.
- Before the first send: ZeroSettle Pro is four self-serve steps. SMS on a 10DLC number needs an approved A2P 10DLC campaign; RCS needs a partner, brand verification and carrier approval; WhatsApp needs approved templates for business-initiated messages.
- ZeroSettle's main limits: 5 new contacts a day per number on Pro (50 on Growth), no SMS fallback, and no group chats.
How we compared the four channels
We compared the four channels on six criteria: reach, cost, what you must do before the first send, what the thread can show, rules on messaging people first, and which jobs each suits. ZeroSettle is an iMessage API: a real phone number on real iMessage, running on Apple hardware we operate for you, that your code texts customers from and hears back on through a bearer token and signed webhooks.
How we checked: ZeroSettle facts come from its API docs, homepage and terms; the rest from Apple's, Google's, Meta's, Twilio's, AWS's and four iMessage providers' own pages, all read on October 8, 2026 and listed under Sources. Twilio and AWS stand in as example providers; others price differently. We sent no test traffic on any channel for this page. More head-to-heads are in the comparisons hub.
Which channel reaches whom?
SMS is the only one of the four that reaches every mobile phone; iMessage, RCS and WhatsApp each depend on what the recipient uses.
| Channel | Who receives it | How it looks on iPhone |
|---|---|---|
| iMessage (ZeroSettle) | Anyone whose phone number or email is on iMessage. “There is no SMS or email fallback.” | Blue bubble in Messages, with your brand name and photo |
| SMS/MMS | Every mobile phone | Green bubble in Messages (Apple) |
| RCS for Business | Android phones with RCS on; iPhones on iOS 18 or later whose carrier supports RCS. iPhone users can switch business RCS off. | Green bubble in Messages (Apple) |
| People with WhatsApp installed. Marketing templates are not currently delivered to US numbers. | Inside the WhatsApp app, not Messages |
Sources: ZeroSettle docs; Apple Support; Meta, “Per-user marketing template message limits”.
At the edge of its reach, Google's RCS API returns 404 NOT_FOUND when a recipient can't receive RCS and leaves fallback to “the fallback methods defined in your infrastructure.” ZeroSettle sends only to iMessage addresses, but you can check whether a number or email is on iMessage before texting it, and the check sends nothing. See blue vs green bubbles for business texting for why the color matters.
How do costs compare?
ZeroSettle charges a flat monthly price ($49 for one number on Pro); SMS and RCS charge per message plus carrier fees and registration fees; WhatsApp charges per delivered message, by message category and the recipient's country. Below a few thousand texts a month, SMS costs less in total than ZeroSettle's flat plan.
| Channel (example provider) | Per message | Fixed fees |
|---|---|---|
| iMessage (ZeroSettle Pro) | None: outbound and inbound unlimited (counted) | $49/month for one number. “No setup fee · Cancel anytime” |
| SMS (Twilio) | $0.0083 per 160-character segment, out and in, plus a carrier fee (Verizon $0.005, T-Mobile $0.0045 outbound). MMS $0.022 out. | Number $1.15/month; 10DLC brand registration $4.50 and standard vetting $41.50, one-time (Twilio); campaign types carry “varying monthly fees” (Twilio) |
| RCS (Twilio, AWS) | Twilio: Rich $0.0083/segment, Rich Media $0.022 out, plus carrier fees. AWS: Rich $0.007 + $0.00494 carrier fee per segment, billed when delivered. | AWS: $500 agent setup, $200/year brand vetting, $200/month agent maintenance. Twilio: carrier onboarding fees, amount not listed |
| WhatsApp (Meta) | “You are only charged when a template message is delivered”; rates vary by template category and the recipient's country code. Meta's non-template pricing page adds per-message charges for replies inside the 24-hour window from October 1, 2026; its main pricing page still lists them as free. | None listed on Meta's pricing page |
The cost math at small volumes
Our arithmetic, at the published rates above:
- SMS: one outbound segment to a Verizon customer costs $0.0083 + $0.005 = $0.0133, so 1,000 texts cost $13.30, plus $1.15 for the number, $46 of one-time 10DLC fees and the monthly campaign fee. Replies are billed too.
- Break-even: $49 buys about 3,680 outbound Verizon segments on Twilio, before replies and fixed fees. Below that, SMS is cheaper per message; ZeroSettle's flat price buys the blue-bubble thread, not a lower unit cost.
- RCS on AWS: fixed fees alone are $500 + $200 + 12 × $200 = $3,100 per agent in the first year.
- ZeroSettle Pro: the cap is on people, not messages: 5 new contacts a day, so at most about 150 conversations you start in a 30-day month. People who text you first don't count.
Growth, for several numbers working as one, is from $599/mo; see pricing and, for the SMS side in depth, ZeroSettle vs Twilio.
What does each require before you send?
ZeroSettle's Pro plan is self-serve in four steps with no carrier registration step; SMS, RCS and WhatsApp each need a registration or review first.
iMessage through ZeroSettle
- Press Get started and sign in with your phone number (a one-time SMS code). A number is set aside while you finish.
- Answer one question: what the number is for (sign in with iMessage, branded messages, or an AI agent). That claims the number.
- Set your brand name and photo and text yourself a test message (you can skip the test and change the name and photo later).
- Subscribe. The console and API open once the subscription is active.
Numbers can sell out (there is a waitlist). After step 4, the first send is one call with free-form text and no template:
BASE=https://portal.zerosettle.io # ZEROSETTLE_TOKEN is read from your environment
curl -s -X POST -H "Authorization: Bearer $ZEROSETTLE_TOKEN" -H 'Content-Type: application/json' \
-d '{"to":"+15555550142","text":"Hi Sam, this is Northside Bikes. Your repair is ready. What time suits you for pickup?"}' \
$BASE/api/imessage/send
SMS, RCS and WhatsApp
- SMS: “Anyone sending SMS/MMS messages over a 10DLC number from an application to the US must register for A2P 10DLC” (Twilio). Sends from an unregistered 10DLC number are blocked with error 30034.
- RCS: you work through a partner such as Twilio or AWS, create an agent with a name and logo, and pass a review that “includes brand verification” plus carrier approval. “Google-managed launches take 1–3 business days” when Google's conditions are met (Google); Twilio says to “allow four to six weeks or longer” when launching in several regions, and its Messaging Services fall back to SMS or MMS when RCS fails (Twilio).
- WhatsApp: you register the number with a display name, and “Template messages generally require approval before you can send them” (Meta).
What can each do in the thread?
RCS and WhatsApp add cards, carousels and buttons; SMS carries text and MMS media. On ZeroSettle, customers on iPhone see blue bubbles, your brand name and photo, typing indicators, and tapbacks, “because every message goes through Apple's own iMessage network.”
| Feature | iMessage (ZeroSettle) | SMS/MMS | RCS for Business | |
|---|---|---|---|---|
| Sender shown as | Your phone number, with brand name and photo | A phone number or short code | A brand agent with name and logo | A display name |
| Typing indicators | Both ways | No | Yes (IS_TYPING event) | You can show one; it clears after 25 seconds |
| Reactions | Six tapbacks, sent and received | No | No reaction event in Google's API | Emoji reactions |
| Read status to your server | Not reported; message.sent means handed to Apple | Delivery status for most messages, no read | Delivered and read events | Delivered and read |
| Media | Photos (5 MB) and voice messages (6 MB); no video or files | Photos and video by MMS | Media and PDFs up to 100 MiB per message | Image, video, audio, document, location |
| Buttons and cards | No | No | Rich cards; carousels of 2–10 cards; up to 11 suggested replies and actions | Reply buttons, lists, CTA URL buttons, Flows |
Sources: ZeroSettle docs; Apple Support; Google RCS for Business “Send messages” and “Receive events”; Twilio “Track outbound message status” (read receipts “currently RCS and WhatsApp”); Meta “Service messages” and “Typing indicators”.
Group chats split the channels too: WhatsApp's Cloud API can “Create, manage, and message WhatsApp group conversations,” while ZeroSettle conversations are one-to-one, with group chats on the roadmap.
- Today 4:12 PM
- Business: Hi Sam, this is Northside Bikes. Your repair is ready. What time suits you for pickup?
- Customer: Can I come at 5:30?
- Business: 5:30 works. We close at 6.👍
- Customer is typing
Who can you message first, and how often?
All four channels require consent, and each limits outreach differently: ZeroSettle by new contacts per number, 10DLC by daily segments per brand type, RCS by agent category, and WhatsApp by business-initiated users per portfolio.
| Channel | Rule |
|---|---|
| ZeroSettle Pro | 5 new contacts a day per number (3 AM–3 AM Eastern); at most 2 unanswered messages to one contact, then 403 awaiting_reply until they reply |
| ZeroSettle Growth | 50 new contacts a day per number and 3 per rolling 15 minutes; at most 2 unanswered messages to one contact, then 403 awaiting_reply until they reply (a text, photo, voice note or tapback) |
| SMS on 10DLC | Daily caps to T-Mobile by brand type: Sole Proprietor 1,000 segments; Low-Volume Standard up to 2,000; Standard from 2,000 to unlimited by Trust Score (Twilio) |
| RCS for Business | Each agent has a use-case category: an OTP agent can't send offers, and a promotional agent can't send login codes (Google) |
| Opt-in required (policy); outside the 24-hour customer service window, only templates. New portfolios can reach 250 unique users per rolling 24 hours, rising to 2,000, 10,000, 100,000 and unlimited, shared by every number in the portfolio (Meta) |
On ZeroSettle, anyone who texted the line first is never limited, nor is an ongoing conversation. A send over the cap returns 429 new_contact_limit with retry_after_s.
Consent applies on every channel
ZeroSettle's docs: “texting a consumer without their prior express consent carries statutory damages of $500 to $1,500 per message, and class actions are routine. Marketing texts need written consent; the National Do Not Call Registry applies.” Rules differ by country and by message type, and each channel adds its own. This isn't legal advice; have counsel review your program.
Which channel for which job?
Pick by job: iMessage for conversations with US iPhone customers, SMS (or RCS with SMS fallback) for codes and campaigns that must reach every phone, and WhatsApp for customers outside the US.
| Job | Fits | Why |
|---|---|---|
| One-time sign-in codes | SMS (or an RCS OTP agent with SMS fallback) for everyone; Sign in with iMessage for iPhone users | The user taps Send on a prefilled SIGNIN <code> and is in: “No password, no SMS gateway, no OTP fee, and nothing to type.” Android users need your existing sign-in. |
| Support for US iPhone customers | iMessage | Customers text first, so there's no new-contact limit, and the thread shows your name and photo |
| Support outside the US | Free-form replies inside the 24-hour window | |
| Consented marketing at volume | SMS (short code) or an RCS promotional agent | ZeroSettle's terms prohibit high-volume marketing and unsolicited messaging; WhatsApp doesn't currently deliver marketing templates to US numbers |
| An AI assistant people text | iMessage | WhatsApp's terms (§4.7) bar AI providers where AI is the “primary (rather than incidental or ancillary) functionality”; AI that only supports a business's own service, such as its support bot, is still allowed there |
| Cards, carousels and buttons | RCS or WhatsApp | ZeroSettle sends text, photos and voice messages only |
With ZeroSettle's hosted agent, labeled “Managed by AI Agent” (Beta), “our hosted agent answers every inbound text on the group's lines, from your business context,” at one AI credit per text it sends; Pro includes 1,000 a month. Or run your own model behind the webhook. The Sign in with iMessage docs cover Firebase, Supabase, Auth0 and Clerk sessions, plus a QR-code flow for non-Apple desktops.
To run iMessage for iPhone users and SMS for everyone else, see moving business texting from SMS to iMessage. Apple's own business chat is a separate product: Apple Messages for Business vs an iMessage number.
When ZeroSettle is not a fit
ZeroSettle is the wrong channel, or not enough alone, when:
- Most of your customers use Android. “The address must be on someone's iMessage; there is no SMS or email fallback.” SMS fallback is on the roadmap. A “text us”
sms:link opens the SMS app on Android, so offer email or chat there too. - Your customers are mostly outside the US and live in WhatsApp. Use WhatsApp there.
- You run high-volume marketing. ZeroSettle's terms prohibit it, and Pro allows 5 new contacts a day. Use an SMS short code or RCS with written consent.
- You must send one-time codes to every phone. Sign in with iMessage covers iPhone users only; SMS covers the rest.
- You need group chats, video or files, rich cards, read status, or a contractual SLA. ZeroSettle has none of these. Its homepage shows “99.9% uptime” as a stat, not an SLA.
For iMessage with SMS fallback from one vendor, see the iMessage API providers comparison. If iMessage fits, get a number or read the limits and compliance docs.
Frequently asked questions
Is RCS the same as iMessage?
No. RCS is a carrier standard used by Google Messages and, on iOS 18 and later where carriers support it, by Apple's Messages app; Apple shows RCS messages in green. iMessage is Apple's own service and shows blue.
Can one number send both iMessage and SMS?
With some providers. As of October 8, 2026, per their public sites, Sendblue lists “$0 SMS fallback fees”, Linq's plans include “RCS and SMS fallback”, LoopMessage sells SMS/RCS fallback as an add-on (+$15/month and a $15 one-time fee, on top of its phone-number option), and Blooio advertises “automatic RCS-to-SMS fallback”. ZeroSettle doesn't offer SMS fallback yet.
Can I move my existing SMS number to ZeroSettle?
No. ZeroSettle assigns the number, and it remains ZeroSettle's property; porting or bringing your own number isn't offered. You can keep your SMS number for non-iPhone customers and add the iMessage number alongside it.
Will customers know an iMessage is from a business?
ZeroSettle shares your brand name and photo with the first message of every conversation, so customers see 'Maybe: Your Company' and your photo even without saving the number; the exact display depends on the customer's iPhone and contact settings. Your first message should still say who you are.
Sources
- ZeroSettle iMessage API docs: “Your iMessage number”, “Send a message”, “AI agent”, “Sign in with iMessage” and “Errors, limits, and compliance”. Checked October 8, 2026.
- ZeroSettle homepage: Plans, stats and FAQ. Checked October 8, 2026.
- ZeroSettle iMessage API Terms of Service, sections 6 and 13. Last modified September 28, 2026.
- What is the difference between iMessage, RCS, and SMS/MMS?, Apple Support. Published May 11, 2026; checked October 8, 2026.
- Use RCS messaging on your iPhone, Apple Support. Published May 11, 2026; checked October 8, 2026.
- Why are my iPhone messages green?, Apple Support. Published June 18, 2026; checked October 8, 2026.
- SMS, MMS and RCS pricing in the United States, Twilio (“Pricing current as of October 2026”). Checked October 8, 2026.
- A2P 10DLC Brand Registration, Twilio. Modified September 25, 2026; checked October 8, 2026.
- Programmable Messaging and A2P 10DLC, Twilio. Checked October 8, 2026.
- 30034: US A2P 10DLC, Message from an Unregistered Number, Twilio. Checked October 8, 2026.
- Get started with branded RCS messaging, Twilio. Checked October 8, 2026.
- Track the message status of outbound messages, Twilio. Checked October 8, 2026.
- Launch approval, Google RCS for Business. Updated October 7, 2026; checked October 8, 2026.
- Send messages, Google RCS for Business. Updated October 5, 2026; checked October 8, 2026.
- Receive events, Google RCS for Business. Updated September 2, 2026; checked October 8, 2026.
- Agent use cases, Google RCS for Business. Updated July 14, 2026; checked October 8, 2026.
- AWS End User Messaging pricing, Amazon Web Services. Checked October 8, 2026.
- Pricing on the WhatsApp Business Platform, Meta: per-message billing and customer service windows. Checked October 8, 2026.
- Pricing for non-template messages, Meta. Checked October 8, 2026.
- Per-user marketing template message limits, Meta. Checked October 8, 2026.
- Messaging limits, Meta. Checked October 8, 2026.
- About the WhatsApp Business Platform, Meta. Checked October 8, 2026.
- Service messages, Meta. Checked October 8, 2026.
- Typing indicators, Meta. Checked October 8, 2026.
- Display names, Meta. Checked October 8, 2026.
- WhatsApp Business Messaging Policy, WhatsApp. Last updated September 23, 2026; checked October 8, 2026.
- Meta Terms for WhatsApp Business Platform, section 4.7. Last modified September 23, 2026; checked October 8, 2026.
- SMS fallback offers: Sendblue pricing, Linq pricing, LoopMessage pricing, Blooio. Checked October 8, 2026.
Changelog
- Updated ZeroSettle Pro to 5 new contacts a day and the 2-unanswered-message rule, which now applies on every plan.
- First published.