Unified Notification Infrastructure

Every channel. One signal.

Nerve is one API for SMS, WhatsApp, email, and push — with intelligent routing, provider failover, and built-in compliance across 190+ countries. You send. We deliver.

DELIVERS OVER TwilioWhatsAppSendGridInfobipSinchTermii
99.99% UPTIME SLA
<50ms P99 ENQUEUE
190+ COUNTRIES ROUTED
TwilioSendGridWhatsAppTermiiInfobipAfrica's TalkingSinchSlackFirebaseApple Push
Nerve

A message that doesn't arrive is a system that doesn't exist. Delivery is not a feature. It's the contract.

THE PROBLEM

Cross-border messaging is held together with duct tape

ONE API OVER EVERY WIRE
Twilio SendGrid WhatsApp Termii Infobip Africa's Talking Sinch Slack Firebase Apple Push Twilio SendGrid WhatsApp Termii Infobip Africa's Talking Sinch Slack Firebase Apple Push
THE SOLUTION

That's why we built Nerve — the signal layer for the internet

Nerve ingests at hyperscale, routes on live cost and deliverability data, fails over across providers automatically, and clears every message against local regulation — before it leaves the building. One API. Every channel. Delivered.

HOW IT WORKS

From your POST request to their pocket in under 500ms

Ingest

Edge gateways in Rust acknowledge in <50ms. Your request is durable before we return 202.

202 · 41ms
RUST EDGE GATEWAY · DURABLE INGESTION
THE CONSOLE

Watch every packet in flight

Built for people who read changelogs

Strictly-typed SDKs in six languages. Protobuf or JSON. A local CLI with environment detection, secret management, and webhook forwarding. An MCP endpoint so your AI coding agent can read schemas, write integration code, and run sandbox tests — safely.

Read the Docs
node · send
import { Nerve } from "@nervehq/sdk";

const nerve = new Nerve({ apiKey: process.env.NERVE_API_KEY });

await nerve.events.trigger(
  {
    name: "otp.requested",
    to: { subscriberId: "user_8x2", phone: "+2348011223344" },
    payload: { code: "402913" },
  },
  { idempotencyKey: "ord_29441" },
);
// → 202 Accepted · { eventId, status: "QUEUED" }

Your questions, answered

Twilio is one provider. Nerve orchestrates many — Twilio, Sinch, Termii, Infobip, Africa's Talking, SendGrid and more — with automatic failover, live cost arbitrage, and one normalized webhook schema. When a provider degrades, your messages don't.

Circuit breakers detect elevated error rates and reroute to the next healthy provider in your chain — automatically, in-region, without dropped messages. You'll see the failover in your console; your users won't see anything but the message.

Ingestion is an event-driven architecture: stateless Rust edge gateways buffer directly into NATS JetStream. We acknowledge in under 50ms at p99 and shape egress to each provider's real limits so nothing is dropped downstream.

Pre-flight checks against registries like Nigeria's NCC DND and India's TRAI run before dispatch. Blocked numbers are automatically rerouted to compliant transactional channels. GDPR and POPIA controls — residency, consent, erasure — are tenant-level configuration, not custom builds.

Where you tell it to. Data residency is configured per tenant: EU user data never leaves EU infrastructure. Internally, PII is replaced with format-preserving tokens, so raw phone numbers and emails never appear in logs or analytics.

It is one flat plan: ₦50,000 a month for 500,000 notifications and 100 requests a second, billed in NGN. You bring your own provider credentials, so carrier costs are billed by your provider at cost — we add nothing to them. Start free on 1,000 notifications a month.

Signal, delivered.

Your first 1,000 notifications are on us. Integrate in an afternoon.