v4.0 — Now with RCS Business Messaging

One API for every
conversation
on Earth.

SMS, WhatsApp, Email, Voice, RCS, delivered through a single, beautifully designed API. Built for teams who care about deliverability, latency, and the small details.

99.99%
Uptime SLA
<120ms
Median latency
190+
Countries
SMS 1.2M/min
WhatsApp 840K/min
Email 3.4M/min
Voice 62K/min
RCS 110K/min
Powering messaging at
Features

A platform that disappears behind your product.

Sub-120ms p50

Edge-routed dispatch with optimal carrier selection per region.

End-to-end encrypted

TLS 1.3 in flight, AES-256 at rest. SOC 2, HIPAA, GDPR.

Smart fallback

WhatsApp → SMS → Email cascades, defined in one config block.

Live observability

Per-message tracing, cohort analytics, anomaly detection.

Compliance built-in

10DLC, opt-out, DLT, sender registration — handled.

Fraud shield

ML-driven traffic pumping detection. Saves the average customer 14%.

Channels

Five channels. One mental model.

Every channel speaks the same API. Switch with a parameter. Fall back automatically. No SDK juggling.

SMS Operational

Two-way SMS in 190+ countries with smart routing, sender ID, and built-in compliance.

99.7%
Delivery rate
+1 (555) MSGDECK · 2s ago
Your Acumen verification code is 284-019. Do not share this with anyone.
+1 (555) MSGDECK · just now
Hi Mira, your order #A82-9920 has shipped. Track: msgd.co/t/9920
Developer Experience

Send your first message in three lines.

One REST endpoint. Idempotent. Predictable. SDKs in Node, Python, Go, Ruby, Java, .NET, PHP. Webhooks signed with HMAC-SHA256.

Ready https://api.msgdeck.com/v1/messages
// Press Run to send a real test message →
Observability

A console that tells you the truth.

Per-message tracing across every channel and carrier hop. No more guessing why a message bounced.

app.msgdeck.com / overview
All systems normal
Acumen / Production

Overview

Last 24h Live
Messages sent
4.82M
+12.4%
Delivery rate
99.7%
+0.3pp
Avg latency
94ms
−18ms
Cost / msg
$0.0042
−9%
Throughput
2,184 msg/s
SMS WA Email
Live event stream
Streaming
SMS delivered +1 415 ••• 0142 just now
WhatsApp read +44 7700 ••• 819 2s ago
Email opened nadia@v•••.io 4s ago
SMS delivered +81 90 •••• 4421 6s ago
Voice completed +1 312 ••• 7732 8s ago
Pricing

Pricing that respects your runway.

Pay for what you send. No seat fees. No surprise overages. Volume discounts kick in automatically.

Starter
Build, prototype, ship.
$39 / month
Start free
  • 10K messages/mo included
  • All channels
  • Email support
  • Basic analytics
  • Sandbox + production keys
Enterprise
Mission-critical, at scale.
Custom
Talk to sales
  • Unlimited volume
  • Dedicated routing & sub-accounts
  • 24/7 named support
  • Custom SLA · 99.99%+
  • HIPAA, BAA available
  • On-prem connectors
Volume estimator

Move the slider, see your bill.

Mix is roughly 60% SMS · 20% WhatsApp · 18% Email · 2% Voice.
1K500K1M2M
50,000 messages
$221.80
estimated · USD / month
Docs

Documentation that reads like a manual.

Examples in every supported language. Searchable. Versioned. Loved by engineers who hate documentation.

Guides / Quickstart

Quickstart

📖 3 min read · Updated 2 days ago

Send your first message in under five minutes. This guide walks through installing the SDK, authenticating, and dispatching to any channel.

1. Install

bash
npm install msgdeck

2. Authenticate

Grab your API key from the dashboard. Keep it server-side; never ship it to a browser.

js
import msg from 'msgdeck';

msg.configure({ apiKey: process.env.MSGDECK_KEY });

3. Send

js
await msg.messages.send({
  to: '+1 415 555 0142',
  channel: 'sms',
  content: 'Hello from MsgDeck.'
});
That is it. Check the Logs tab to see your message land.
Guides / Fallback chains

Fallback chains

📖 6 min read · Updated 2 days ago

When delivery on the primary channel fails, MsgDeck can automatically retry on alternate channels. Define a fallback chain inline or via a Route in your dashboard.

Inline fallback

js
await msg.messages.send({
  to: '+44 7700 900819',
  channel: 'whatsapp',
  fallback: ['sms', 'email'],
  template: 'order_shipped'
});
Each step waits up to 90s for a terminal status before falling back. Tune via fallback_timeout.
Reference / Webhooks

Webhooks

📖 8 min read · Updated 2 days ago

MsgDeck delivers signed webhooks for every message lifecycle event: queued, sent, delivered, read, clicked, failed.

Verify the signature

js
const sig = req.headers['x-msgdeck-signature'];
const ok = msg.webhooks.verify(req.rawBody, sig, SIGNING_SECRET);
if (!ok) return res.status(400).end();
Customers

Engineers who actually like their messaging stack.

We migrated 18 microservices to MsgDeck in a week. Latency dropped from 340ms to 87ms. Our on-call engineers actually sleep now.

A
Alex Thompson
CTO, TechFlow

The fallback routing alone paid for the platform in three weeks. WhatsApp first, SMS second, email if all else fails, one config block.

S
Sarah Chen
Head of Product, ShopWave

We pen-tested the API for two weeks. Could not break it. Their incident response team responded faster than our own monitoring.

M
Michael Rodriguez
CEO, FinSecure

The dashboard is the first observability tool I have used that does not make me want to write my own. Per-message tracing is a superpower.

P
Priya Iyer
Staff Eng, Northwind

Ready to ship?

Free for 14 days. No credit card. Production-ready API key in 60 seconds.

$ npm install msgdeck — and you are 30 seconds away.