The email delivery engine engineered for Lucia Auth v3 & Oslo in modern TypeScript apps
Lucia Auth leaves transactional email delivery entirely to you. SadaSend pairs with Lucia and Oslo to deliver verification tokens and password reset links in under 150ms, with Dual-DKIM signing, in-flight bounce defense, and 6,000 free monthly sends.
Drop into your application in under 60 seconds
Native typed interfaces with zero unnecessary dependencies. Built for standard fetch and modern edge runtimes.
import { createDate, TimeSpan } from 'oslo';
import { generateRandomString, alphabet } from 'oslo/crypto';
import { SadaSend } from 'sadasend';
import { db } from '@/lib/db';
const sadasend = new SadaSend({
apiKey: process.env.SADASEND_API_KEY!,
});
export async function createAndSendEmailVerification(userId: string, email: string) {
// 1. Generate 8-character verification token using Oslo
const tokenId = generateRandomString(8, alphabet('0-9', 'A-Z'));
const expiresAt = createDate(new TimeSpan(15, 'm')); // 15-minute TTL
// 2. Persist verification token in your database
await db.emailVerificationToken.create({
data: { id: tokenId, userId, expiresAt },
});
// 3. Dispatch verification email in sub-150ms with in-flight bounce defense
const result = await sadasend.emails.send({
from: 'auth@yourdomain.com',
to: email,
subject: 'Verify your account',
html: `<p>Your verification code is <strong>${tokenId}</strong>. It expires in 15 minutes.</p>`,
verifyBeforeSend: true, // Rejects typos and dead domains before debiting quota
tags: ['auth', 'email-verification'],
});
return { tokenId, messageId: result.id };
}Complete Lucia Auth + Oslo email verification flow. Generates secure tokens with Oslo and delivers verification emails in sub-150ms with in-flight bounce shielding.
Engineered for high deliverability and zero incident risk
Every layer from synchronous request validation to per-key rate limits is designed to keep critical transactional dispatches fast, reliable, and contained.
Sub-150ms Ingestion & Send Path
High-performance direct MX ingestion delivers verification emails and password reset tokens in milliseconds, preventing drop-off during onboarding.
In-Flight Pre-Send Bounce Shield
Automatically checks recipient mailbox syntax and MX records before queueing. Blocks fake signups and typos before they pollute database user tables.
Dual-DKIM Cryptography (RSA + Ed25519)
Dual-signs all verification messages with 2048-bit RSA and Ed25519 elliptic-curve keys for optimal deliverability across Gmail and Outlook.
Zero-Dependency Edge Runtime Support
Native web-standard fetch implementation runs seamlessly across SvelteKit, Next.js 15, Astro, Remix, Bun, and Cloudflare Workers with zero package bloat.
SadaSend vs Generic SMTP / Resend
Why TypeScript engineering teams choose SadaSend over generic SMTP and Resend for Lucia Auth.
| Feature & Capability | SadaSend | Generic SMTP / Resend |
|---|---|---|
| Lucia Auth & Oslo Code Recipe | First-class snippet & docs | Generic instructions |
| In-Flight Pre-Send Bounce Shield | Yes (blocks dead mailboxes) | No (wastes credit on bounce) |
| Dual-DKIM (RSA-2048 + Ed25519) | Yes (Dual-signed) | RSA only |
| Free Tier Monthly Allowance | 6,000 / mo | 3,000 / mo (100/day hard cap) |
| Agent SpendGuard™ ($0 floor) | Yes ($0 overage guarantee) | No (uncontrolled overage fees) |
Verified as of November 2026. Competitor features and pricing are based on public documentation and may vary.
Start with 6,000 emails every month at zero cost
No artificial paywalls on security. Unlike providers that reserve recipient allowlists and approval workflows for enterprise tiers, every SadaSend account receives full safety controls from day one.
Everything you need to know about lucia auth email verification
Clear, transparent answers on deliverability, API authentication, and rate limits.
Related developer guides and architectural tutorials
Explore step-by-step production implementation blueprints, benchmarks, and protocols.
REST API Reference & Endpoints
Complete REST API reference for sending emails, managing API keys, tracking delivery events, and configuring recipient allowlists with low latency.
Official Client SDKs (TypeScript & Python)
Official zero-dependency client SDKs for SadaSend. TypeScript and Python packages are live on npm and PyPI with typed results and auto-idempotency.
Better-Auth Email Verification Setup: The Complete 2026 Guide
A production-ready walkthrough for wiring Better-Auth email verification, password resets, and magic links with SadaSend and React Email in Next.js 15 and Bun.
Supabase Custom SMTP Setup: Replace noreply@mail.app.supabase.io and Fix 429 Errors
Supabase's built-in mailer is hard-capped at 2 auth emails per hour. Learn how to configure custom SMTP, raise the rate limit in Auth settings, replace noreply@mail.app.supabase.io, and send reliably with 6,000 free monthly emails.
How to Send Transactional Email with Bun and TypeScript (Zero Dependencies)
Stop wrestling with bloated Node.js polyfills. Learn how to send transactional emails in Bun with sub-millisecond cold starts and full TypeScript type safety.