Sub-120ms p50
Edge-routed dispatch with optimal carrier selection per region.
SMS, WhatsApp, Email, Voice, RCS, delivered through a single, beautifully designed API. Built for teams who care about deliverability, latency, and the small details.
Edge-routed dispatch with optimal carrier selection per region.
TLS 1.3 in flight, AES-256 at rest. SOC 2, HIPAA, GDPR.
WhatsApp → SMS → Email cascades, defined in one config block.
Per-message tracing, cohort analytics, anomaly detection.
10DLC, opt-out, DLT, sender registration — handled.
ML-driven traffic pumping detection. Saves the average customer 14%.
Every channel speaks the same API. Switch with a parameter. Fall back automatically. No SDK juggling.
One REST endpoint. Idempotent. Predictable. SDKs in Node, Python, Go, Ruby, Java, .NET, PHP. Webhooks signed with HMAC-SHA256.
Per-message tracing across every channel and carrier hop. No more guessing why a message bounced.
Pay for what you send. No seat fees. No surprise overages. Volume discounts kick in automatically.
Examples in every supported language. Searchable. Versioned. Loved by engineers who hate documentation.
Send your first message in under five minutes. This guide walks through installing the SDK, authenticating, and dispatching to any channel.
npm install msgdeck
Grab your API key from the dashboard. Keep it server-side; never ship it to a browser.
import msg from 'msgdeck';
msg.configure({ apiKey: process.env.MSGDECK_KEY });
await msg.messages.send({
to: '+1 415 555 0142',
channel: 'sms',
content: 'Hello from MsgDeck.'
});
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.
await msg.messages.send({
to: '+44 7700 900819',
channel: 'whatsapp',
fallback: ['sms', 'email'],
template: 'order_shipped'
});
MsgDeck delivers signed webhooks for every message lifecycle event: queued, sent, delivered, read, clicked, failed.
const sig = req.headers['x-msgdeck-signature'];
const ok = msg.webhooks.verify(req.rawBody, sig, SIGNING_SECRET);
if (!ok) return res.status(400).end();
We migrated 18 microservices to MsgDeck in a week. Latency dropped from 340ms to 87ms. Our on-call engineers actually sleep now.
The fallback routing alone paid for the platform in three weeks. WhatsApp first, SMS second, email if all else fails, one config block.
We pen-tested the API for two weeks. Could not break it. Their incident response team responded faster than our own monitoring.
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.
Free for 14 days. No credit card. Production-ready API key in 60 seconds.