Email reliability infrastructure

Your critical emails still deliver when providers fail.

Multi-provider failover, stream isolation, outage simulation, and revenue protection. Not another email API — the infrastructure layer that guarantees delivery when any single provider goes down.

send_sync
POST /api/v1/emails/send_sync

{
  "from": "agent@yourapp.com",
  "to": "user@example.com",
  "subject": "Invoice #1247",
  "html": "<h1>Your invoice is ready</h1>"
}
1.04 seconds later
{
  "status": "delivered",
  "message_id": "msg_abc123",
  "global_message_id": "gm_a1b2c3d4...",
  "provider": "ses",
  "latency_ms": 1040
}

Most email APIs help you send. Truncus helps you survive failure.

Start free — 3,000 emails/month. No credit card.

Most email APIs

Send

Fire and forget

“Here's a 200 OK. Good luck.”

Single provider

Hope

One provider, one point of failure

“Check your webhook later.”

Truncus

Guarantee

Multi-provider. EU-native. Zero loss.

“Delivered. Here's proof.”

Email APIs send. Truncus executes.

Most email APIs return 202 Accepted and call it done. What actually happened? Nobody knows until a webhook fires hours later.

Truncus is different. Every email is a tracked operation:

  • Synchronous delivery confirmation (send_sync)
  • Durable operations with retry + failover
  • Pre-send validation before you risk your reputation

Your agent doesn't fire-and-forget. It executes, confirms, and moves on.

Where Truncus sits

Below your agent logic. Above raw email providers. The execution layer.

Your Agent / App

Truncus Execution Layer

Validate

spam score domain health confidence dedup check

Execute

send / send_sync retry + failover batch / schedule guarantees

Govern

kill switch rate limits reputation cooldowns

Observe

lifecycle latency intelligence statistics

Inbound

receive classify intent correlate sentiment

Prove

global msg ID audit trail sandbox replay

AWS SES

primary (Ireland, eu-west-1)

Brevo

failover (France)

Circuit breaker: 5 failures in 60s triggers automatic failover. Dual MX records for inbound continuity.

99.9% uptime
<100ms p50 latency
No silent failures
100% explicit status responses

The execution stack

Providers: SES Ireland (primary) + Brevo France (automatic failover). Circuit breaker with 5-failure threshold.

Execution layer: Truncus (EU) — validates, routes, retries with exponential backoff, governs, proves. Failed queue with dead-letter recovery.

Complete execution layer

Multi-Provider Failover

SES Ireland primary. Brevo France automatic failover. Durable circuit breaker (5 failures in 60s triggers switch). Every email logs which provider delivered it.

Zero Email Loss

Failed emails enter a durable retry queue with exponential backoff (30s, 2m, 8m, 30m, 2h). Dead-letter recovery for permanent failures. Replay API for manual intervention.

Operations API

Durable email operations. Create, track, retry, cancel. Like Stripe PaymentIntents, but for email. Full attempt history per operation.

Pre-Send Validation

Confidence scoring, spam risk assessment, domain health check, recipient history. Know before you send.

EU Data Residency

Primary provider in Ireland (eu-west-1). Backup in France. Both providers EU-based. GDPR-native by architecture, not by add-on. Your emails never leave Europe.

Governance + Safety

Kill switch API, recipient cooldowns, account reputation engine, anomaly detection, provider health API. Every email logs which provider sent it.

Stream Isolation

Isolated email streams for transactional and outreach. Each with its own domain, reputation, and metrics. Cold email can never damage your auth email deliverability.

Reputation Firewall

Hard enforcement at the API level. Outreach emails are blocked from transactional domains. No warnings, no silent fallback. Your product email reputation stays protected.

Built for agents, not humans

Three real workflows. Execute, validate, recover.

Agent sends invoice

Durable operation with exactly_once guarantee

agent.ts
// Agent sends invoice — durable operation with guarantee
const op = await truncus.operations.create({
  type: 'email.send',
  delivery_guarantee: 'exactly_once',
  params: {
    from: 'billing@yourapp.com',
    to: customer.email,
    subject: `Invoice #${invoice.id}`,
    html: renderInvoice(invoice),
  },
});

const result = await truncus.operations.get(op.operation_id);
// { status: "completed", provider: "ses", delivered_at: "..." }

Agent handles bounce

Post-send intelligence with actionable recommendations

agent.ts
// Agent handles bounce gracefully
const email = await truncus.emails.get(messageId);

if (email.intelligence.failure_category === 'permanent') {
  // "The recipient email does not exist."
  await removeFromList(email.to);
} else if (email.intelligence.is_retryable) {
  // Already handled — Truncus retried across providers
}

Agent validates first

Pre-send confidence scoring protects reputation

agent.ts
// Agent validates before risking domain reputation
const check = await truncus.emails.validate({
  from: 'agent@yourapp.com',
  to: prospect.email,
  subject: 'Partnership opportunity',
});

if (check.recommendation === 'do_not_send') {
  // Skip — high bounce risk
  console.log(`Skipping: ${check.checks.spam_risk}`);
} else {
  await truncus.emails.sendSync({ ... });
}

Beyond sending

Most email APIs stop at delivery. Truncus guarantees execution, proves outcomes, and protects reputation.

CapabilityTruncusTypical APIEnterprise API
Sync delivery confirmation
Yes (send_sync)
No
No
Operations API (durable sends)
Yes
No
No
Delivery guarantees
3 modes
Best effort
Best effort
Multi-provider failover
SES + Brevo (circuit breaker)
Single
Single
Pre-send validation
Yes
No
No
Post-send intelligence
Yes
No
No
Governance (kill switch, reputation)
Yes
No
No

Event log

Delivery events are stored in real time and remain queryable. Terminal state. Stored. Replayable.

Event Log
TimeMessage IDToSubjectStatusReason
09:14:02msg_8f21a3user@acme.comYour invoice is readydelivered
09:14:18msg_9b44c1old@defunct.coPassword resetbouncedmailbox_full
09:14:33msg_a2f7e8blocked@example.orgWelcome aboardrejectedsuppression_list
09:15:01msg_c3d9f2team@startup.ioDeployment succeededdelivered

Pricing

Starts free. No credit card required.

All plans include send_sync, Operations API, delivery guarantees, multi-provider failover (SES + Brevo), EU data residency, and governance. No annual contracts.

Free

$0/month

For testing and development

  • 3,000 emails/month
  • API access
  • Includes send_sync
  • Webhooks
  • EU data residency
  • Shared IP
Start free
Most popular

Pro

$19/month

For shipping products

  • 50,000 emails/month
  • 5 team seats
  • Includes send_sync
  • 5 custom domains
  • 90-day log retention
  • Open & click tracking
  • Email support
Upgrade to Pro

Scale

$99/month

For serious infrastructure

  • 300,000 emails/month
  • 20 team seats
  • Includes send_sync
  • Unlimited domains
  • 1-year log retention
  • Open & click tracking
  • SLA
  • Email support
Go Scale

No credit card required.

Why Truncus exists

J

Every email API tells you they sent it. None of them tell you it arrived. We built Truncus because agents need execution certainty, not optimistic status codes. If your system decided to send an email, you deserve to know what happened.

Jasper Founder, Van Moose

FAQ

No. Transactional only — receipts, notifications, password resets, alerts.
Primary email delivery via AWS SES in Ireland (eu-west-1). Automatic failover to Brevo in France. Account data, orchestration, and logs run in EU infrastructure. Both sending providers are EU-based. Operated by Van Moose (Netherlands).
Optional per email. Delivery tracking is always on.
You receive a 429 response with a retry_after value. No silent drops.
Yes. Per-tenant domain isolation, reputation separation, and warm-up.
New domains start at 500/day. Automatic ramp over 5 days. Progress visible in dashboard.

The execution layer for email.

Send email. Guarantee execution. Prove the outcome. Multi-provider failover, delivery guarantees, and governance on every plan.

Get API key

No credit card required.

Truncus — Email Execution Layer for Agents & SaaS | Truncus