The deliverability loop, closed

Email should answer.

Most email APIs tell you your message was queued. Truncus tells you whether the receiving server accepted it — in the same call.

POST /v1/emails/send_sync
curl https://truncus.co/api/v1/emails/send_sync ...

→ { "status": "delivered" }

Built for software that can’t afford to guess.

“Delivered” means the receiving mail server accepted the message — not inbox placement. Nobody can honestly promise the inbox. We tell you what actually happened.

Built for AI agents. Great for everyone else.

Your agent retries. We don’t double-send.

Idempotency-Key is mandatory on every send — architecture, not a best-practices footnote. Replay a call, get the original message id back as duplicate. Try it twice and watch.

Wait for the answer — not a webhook.

send_sync returns terminal delivery status in the response body. No endpoint to host, no polling loop to write. Takes longer than 25 seconds? You get an explicit pending and an id to poll — never silence.

Eight MCP tools. One command.

claude mcp add truncus -- npx -y @vanmoose/mcp-server — send, validate, events, stats, domains, suppression. Idempotency keys injected automatically.

Built for LLMs, not dashboards.

OpenAPI 3.1. llms.txt, current. Stable machine codes on every error — DOMAIN_TYPE_MISMATCH, MONTHLY_LIMIT_EXCEEDED, granular provider_code on failures. Your agent branches on codes, not prose.

A status endpoint with no gate.

Public. No login. No auth. Never cached. Point your monitoring at /api/status before you even have an account.

Verify it yourself. Replay the duplicate key. Trigger the 403. Fetch the status JSON. Every claim on this page has a curl.

Reliability you can inspect

Every sending domain gets its own circuit breaker.

Truncus halts a domain at 2.0% bounce or 0.07% complaint — tighter than the thresholds that get SES accounts suspended. Nobody’s bad list burns the pool. Including yours.

Failed sends don’t vanish.

Total provider failure on the async path lands in a durable queue — retried at 30s, 2m, 8m, 30m, 2h, then dead-lettered, replayable, watchable. A published schedule, not a promise.

Receipts and campaigns never share blood.

Cold outreach aimed at a transactional domain gets a hard 403 — not a warning, not a silent reroute. Stream isolation is enforced at the API, so your password resets never inherit anyone’s campaign reputation.

A clean pool, enforced at the gate.

Flagged domains are born held — their first send is blocked before any provider sees it. Fingerprinting, burst detection, auto-pause. Boring infrastructure, on purpose.

Two providers, two jurisdictions.

Primary on AWS SES (Ireland); async sends fail over to Scaleway TEM (France).

Infrastructureall systems go
SES · eu-west-1healthy
Scaleway TEM · fr-parfailover
Circuit breakerclosed
Idempotencyenforced

Check your domain readiness

See if your domain is ready to send email — SPF, DMARC, and MX in seconds.

Verify it yourself. The breaker thresholds, the backoff schedule, the 403 — all documented, all reproducible.

EU-resident. Verifiably.

Your email content is processed in the EU: SES eu-west-1, Scaleway fr-par, Supabase Frankfurt. dig our SPF and see both providers yourself.

What we won’t claim: residency is not sovereignty. US-incorporated providers sit in the path and are CLOUD-Act reachable — our pricing page says so in plain text. If a vendor claims otherwise while running on AWS, ask them to put it in their DPA.

The sub-processor table in ours is complete — including the parts vendors usually omit.

99.5% uptime SLA, in writing, with the honest disclaimer no SLA can offer: inbox placement isn’t guaranteed by anyone.

Verify it yourself. Run the dig. Read the DPA. It’s all public.

Built on EU-hosted infrastructure

AWS SESScalewaySupabase (Frankfurt)ClerkVercel

Free: 3,000/mo, 1 domain · Pro $19: 50,000, 10 domains · Scale $99: 300,000, up to 999 domains.

Caps enforced in code — the pricing page and the API agree.

Send one email. Get one answer.

Free tier, no card. Your first delivered is one curl away.

Truncus — EU transactional email API. Email should answer.