01Pricing

Per line, per month. Flat.

$15 for messaging, $20 with voice calling. No per-message fees, no per-minute fees, no setup fees, no minimums. You only pay for WhatsApp lines that actually connect.

Your first line is free for 7 days. Card required, no charge until the trial ends.

Messaging
$15/line/month

Flat. Billed monthly per active line.

  • First line free for 7 days, then $15/month
  • Always-on hosted connection
  • Unlimited inbound and outbound messages
  • Signed webhooks with retry queue
  • Stable line ID across reconnects
  • Conservative per-line daily rate limits to keep accounts healthy
  • Self-healing on transient disconnects
Messaging + Calling
$20/line/month

Flat. Unlimited minutes. No per-minute fees.

  • Everything in Messaging
  • Click-to-call from your dashboard or API
  • Voice calls through your customer's WhatsApp
  • Unlimited call minutes
  • Real-time call state webhooks (ringing, answered, ended)
  • Mix calling-enabled and messaging-only lines on one key
  • Same wallet, same webhook secret, same line ID

* Calling is rolling out on a per-account basis. See docs.

02Two ways to enable calling

You pick everywhere, or let your customers pick per line.

Same product, same API, two ways to roll calling out. Mix them in the same account — every line is independent.

Bundle

Calling on every line.

Provision every new line at $20/month with calling enabled by default. No toggle for your end-customer, no decision for your team. Simple and predictable.

How: pass calling_enabled: true on POST /api/v1/wa/lines. That line bills $20 starting at line.ready.

Flex

Let your customer choose.

Default to $15/month messaging. Show your customer a single toggle on the connect page — they pick calling or not before they scan. Lines they enable bill $20; lines they skip stay $15. Your customer never sees pricing.

How: pass allow_calling: true on POST /api/v1/wa/lines. Webhooks tell you which lines billed at $20.

Note. Flex is fully optional. By default the toggle is hidden — your customer only sees the QR scan. Pass allow_calling: true only when you want them to choose, on the lines where you want them to. Hide it entirely on the others and they never know calling existed as an option.

03Also available
SMS verification numbers
$live price + flat margin

Pay-per-number based on the cheapest in-stock source at the moment of the request. Same key, same wallet as WhatsApp.

  • One-time verification numbers, multiple countries
  • Rentals (hours to days) when you need them
  • Routed across a network of providers
See live prices in your dashboard →
Contact sales

Need something custom?

High volume, white-label, custom SLAs, or a specific integration. Tell us what you need and we’ll get back within a business day.

04How billing works

Card on file. Auto top-up. No surprises.

  1. 1Save a card

    Card on file is required before your first line. Securely tokenized by Square — we never see the number. Auto top-up optional.

  2. 2Your first line is free for 7 days

    Provision a line and connect your customer's WhatsApp. No charge during the trial. After day 7, the line bills $15 or $20/month depending on whether calling is enabled.

  3. 3Pay only when lines connect

    Subsequent lines bill the moment the customer scans the QR. The price is fixed at connect time based on the calling choice — $15 messaging, $20 with calling. Lines that never connect cost nothing — release them anytime.

  4. 4Monthly renewal, with grace

    Each line renews on its own monthly anniversary from the card on file. If a charge fails, you get a 5-day grace period before the line is auto-released.

Tip. Keep your wallet topped up to cover ($15 × messaging lines) + ($20 × calling lines) plus a buffer for new provisions and one renewal cycle. Top-ups never expire.

05Worked example

An agency with 40 connected customers.

ItemCalculationPer month
28 messaging-only lines28 × $15$420
12 calling-enabled lines12 × $20$240
Per-message feesnone$0
Per-minute call feesnone$0
Setup feesnone$0
Total with Mossmoon$660
Self-hosted alternative*
hosting, proxies, verification, call infra, ops
28 × ~$42 + 12 × ~$58~$1,872
You save with Mossmoon~$1,212 / mo

You decide whether to resell those lines to your customers at $X each. Mossmoon takes the same $15 or $20 either way.

* Self-host estimate based on typical running costs for an always-on WhatsApp integration at this scale: per-line hosting and proxy, verification on registration, orchestration, ops time, and dedicated-CPU call infrastructure for the calling-enabled lines. Engineering cost to build and maintain not included.

06FAQ

Common pricing questions

What's the difference between the $15 and $20 plans?

Both plans get you the same messaging product: always-on WhatsApp, unlimited inbound and outbound, signed webhooks. The $20 plan also enables voice calling on the line — click-to-call from your dashboard, the call goes through your customer's WhatsApp to anyone. Unlimited minutes, no per-minute fees. You pick the plan per line; you can mix messaging-only and calling-enabled lines under the same API key.

Can I let my customers decide if they want calling instead of paying for it on every line?

Yes. Stay on $15 messaging by default and pass allow_calling: true on POST /api/v1/wa/lines — the Mossmoon-hosted connect page shows your customer a simple "Make and receive calls?" toggle before the QR. If they enable it, that specific line bills $20/month; if they skip it, that line stays $15. Your customer never sees Mossmoon's pricing; they just see a feature toggle. See the API docs for the full flow.

Does the calling toggle change my customer's experience?

No — to your customer it's just a single toggle on the connect page. There's no extra setup, no second QR, no second account. They scan once and their WhatsApp number is connected with whichever feature set you (or they) chose. Toggling later isn't supported in v1 — the choice is locked at QR-scan time. To add calling to an existing line, release it and provision a fresh one.

Are there per-minute charges for calling?

No. Calling-enabled lines are flat $20/month regardless of call volume. Normal business use is fully covered — sustained heavy use (lines averaging 50+ minutes/day every day) may be moved to a custom plan; we'll reach out before anything changes.

How does the 7-day free trial work?

Your first line ever is free for 7 days from when it goes ready (i.e. when your customer scans the QR — not from signup). After day 7, that line bills at $15 or $20/month depending on whether calling is enabled. The trial is per-account and one-time; subsequent lines start billing immediately.

Start with one line. Free for 7 days.

Sign up, save a card, provision your first line. Pick messaging at $15 or messaging plus calling at $20. Nothing is charged until the trial ends.