SMS, MMS and email
One contact list, three channels. Send now or schedule it, with consent checked per channel at the moment of sending.
SMS, MMS and email, billed per segment at the carrier's own count. If a message doesn't arrive, the charge comes back. Every credit and every charge sits on a ledger you can read line by line.
Get started See pricing$10 minimum to add credit. Credits never expire.
| Estimate held2,400 recipients, reserved before sending | −$36.00 |
| Hold releasedat completion, in full | +$36.00 |
| Sent2,317 messages, priced at the segments the carrier reported | −$34.76 |
| Suppressed83 recipients had opted out. Never sent, never billed | $0.00 |
| Refunded11 messages the carrier could not deliver | +$0.17 |
| Charged | −$34.59 |
That's the shape of a real bill. Most platforms charge the estimate and keep the difference. We charge what the carrier charged for, and give back what didn't land.
One rate per channel. No tiers, no feature gates, no monthly floor. SMS is billed per segment, so a long message costs more than a short one, and the composer tells you before you send rather than after.
| Channel | Billed | Rate |
|---|---|---|
| SMS | per segment | $0.0150 |
| MMS | per message | $0.0450 |
| per message | $0.0030 |
Sending more than 100,000 a month? Rates come down. Tell us your volume.
Listed honestly. Anything marked soon is being built and isn't in your account yet.
One contact list, three channels. Send now or schedule it, with consent checked per channel at the moment of sending.
Import by CSV. Numbers are normalized and validated on the way in, so a malformed number is caught at import rather than at send.
Carrier-level delivery status per message, not just "we handed it off". Failures are recorded with the carrier's own reason code.
An append-only ledger. Every credit, hold, charge and refund is a permanent line item, and your balance is the sum of them.
Links on our own domain, not a shared public shortener. Shorter links mean fewer segments, which means a cheaper send.
Set a window per account. A campaign scheduled inside it waits until the window opens, in your recipients' local time.
Per-recipient click attribution. The links and the recording already work; the reporting screen doesn't yet.
Sequences with delays and triggers. Not built. When it ships it'll be listed here without this tag.
Targeting by contact attributes. Today you target by list.
The expensive mistake in messaging is sending to someone who asked you to stop. Wally is built so that's hard to do by accident.
STOP, END, CANCEL and the rest are matched exactly against the message. Someone who writes "please don't stop sending these" stays subscribed.
An opt-out is recorded against the phone number or email address, and every send path checks the same list. There's no second place for it to be missed.
A hard bounce or a spam complaint adds the address to the suppression list without anyone having to notice.
Each record stores when consent was given, through what, and what the proof was. That's what you need when someone asks.
These are tools, not legal advice. Messaging rules vary by state and change often; review your program with your own counsel. Our messaging compliance page covers what we do and don't do.
Including the ones with awkward answers.
Open an account, add credit when you're ready to send, and stop whenever you like. There's nothing to cancel.
Get started