Email, SMS,WhatsApp & OTP.One developer API.
Send and verify OTPs, trigger transactional notifications, and track delivery attempts. Connect your providers, publish templates, and integrate from your backend with one notification platform.
Everything a distributed notification system needs, already built.
Multi-tenant from day one. Every event, template, and delivery attempt is tracked, versioned, and recoverable.
Multi-Tenant by Design
Scope applications, provider settings, and credentials by tenant, with role-based access for administration.
Versioned Event Contracts
Define a versioned JSON Schema, recipient policy, and allowed channels for each event. Payloads are validated before acceptance.
Templates You Can Roll Back
Draft, validate, preview, and publish immutable template versions with locale and variant support — plus one-click rollback.
Durable Delivery Pipeline
Accepted notifications are persisted with an outbox record. Retry policies and dead-letter replay help you investigate and recover failed delivery attempts.
Multiple Channels, One Platform
Choose email, SMS, WhatsApp, push, Telegram, webhooks, or in-app notifications in your request, using a published template for that channel.
Full Operational Visibility
Delivery activity, structured logs, metrics, and audit events help your team understand processing and investigate provider failures.
Ship 2FA & OTP Verification in 4 minutes, not 4 sprints.
No code storage to build. Hashed single-use codes, attempt limits, resend cooldowns, and a signed verification token come built in.
Two-Factor Authentication
Enter the 6-digit code sent via sms to +1 (555) 019-2834
import { Sendrin } from '@sendrin/sdk';
const client = new Sendrin(process.env.SENDRIN_API_KEY);
const sent = await client.otp.send({
channel: 'sms',
recipient_phone: '+15550192834',
purpose: 'login_2fa',
ttl_seconds: 300,
});
console.log(`OTP ${sent.otp_id} sent, expires at ${sent.expires_at}`);From zero to your first delivery in minutes.
No brittle glue code, no per-provider SDKs to maintain. Four steps and you're sending.
Register an Event
Define an event key, a versioned JSON Schema, and which channels it may use — user.welcome, payment.receipt, alert.triggered.
Publish a Template
Draft, validate, and preview your content, then publish an immutable version with locale and variant support.
Connect a Provider
Test SMTP, Twilio, FCM, Telegram, or WhatsApp credentials before they ever touch production traffic.
Send & Track
Dispatch via the API or the OTP Playground, then watch it move — accepted, queued, sent, delivered.
Not another vendor promise.
Every product eventually needs to send a password reset, an OTP, a payment receipt, an alert. Most teams rebuild the same brittle logic for templates, retries, and provider failover — over and over, for every app. We got tired of that, so we built the platform once, properly.
IITDEVELOPER — Platform Team
A dashboard, not a black box
Every notification's status, retries, and provider health — visible in real time, not buried in logs.
Nothing disappears silently
Failed deliveries land in a dead-letter queue for manual replay, never just dropped.
Secrets you can actually trust
One-time reveal, encrypted at rest, never printed to a log or a chat window.
Built in the open
Every fix and feature is tracked in a public changelog, not a black-box release note.
Stop stitching together five different provider SDKs.
One API, every channel, full delivery visibility. Start free, no credit card required.
