/ product · Bellum

Send millions of emails a day. From your own AWS account.

Bellum is self-hosted mass-email infrastructure built on Amazon SES, AWS Batch and Lambda. Scale is bounded by your SES quota — not by us. Pay AWS rates, not SaaS rates. Own your sending reputation, your data and your deliverability.

10M+
emails per afternoon
0.01¢
per email on SES
86–94%
cost cut vs. SaaS at 10M/mo
100%
data in your AWS account
/ the ceiling problem

You're sending 200K a month. You're about to send 5M.

Your current provider just quoted you $32,000/month. Throughput is still capped. Deliverability is dragged down by everyone else on the shared IP pool. Your engineering lead asks if there's another option. There is.

/ side by side

What you trade when you outgrow SaaS.

At million-message volume, the things that didn't matter at 50K suddenly cost you a lot — per-contact pricing, shared IP reputation, vendor lock-in, opaque event data.

CapabilityMailchimp PremiumSendGrid ProConstant ContactBellum
Max contacts200K (then custom)Unlimited (priced per send)50KUnlimited
Send-rate cap~14M/mo soft cap1.5M/day soft~10K/hourYour SES quota — millions/hour
Per-email cost at 10M/mo0.30¢+0.15¢n/a0.01¢ (AWS SES list)
Dedicated IPs$300/mo each$80/mo eachn/aYou own them on SES
Data residencyTheir cloudTheir cloudTheir cloudYour AWS account
Bounce / complaint feedbackAggregatedAggregatedLimitedRaw SES → SNS → your DB
Lock-inHigh (proprietary lists)Medium (API)HighNone — it's your infra
Source codeClosedClosedClosedYours

At 10M emails/month, Bellum customers report 86–94% cost reduction vs. Mailchimp Premium, with 3–5× higher peak throughput.

/ why SaaS hits a ceiling

The architecture is the ceiling.

SaaS providers multiplex thousands of senders across shared MTAs, shared IP pools and shared queues. They have to throttle you — it's the only way to keep the next tenant alive. Bellum gives the infrastructure to you, so the ceiling moves with your account, not theirs.

SaaS providers
THOUSANDS OF SENDERSABCDEFShared MTA poolrate-limitedshared IP reputationthrottled queueRecipientsthe slowest sender drags everyone's deliverability down

The slowest, spammiest sender on the platform drags your deliverability down. Throughput is capped to protect their infrastructure, not yours.

Bellum on your AWS
Bellum admin UIsegments · templates · scheduleAWS Lambda (cron)scans every 60s for due campaignsAWS Batch — N parallel workersW1W2W3W4W5… WnAmazon SESyour IPs · your reputation · your quotaRecipientsAmazon SNSSES eventsLambdaevent processorMySQLyour databasereal-time event pipeline · < 2s end-to-end

No shared infrastructure. No noisy neighbours. Throughput is bounded only by your AWS SES sending quota — which AWS will raise to millions per day on request.

/ the send pipeline

From scheduled campaign to inbox — and back.

Bellum drives Amazon SES through AWS Batch, with SNS-fed Lambdas writing every bounce, open, click and complaint back to your database in real time. The same primitives Amazon uses to send their own mail.

  1. 01
    UI → MySQLCampaign scheduled in <100ms
  2. 02
    Lambda cronScans every 60s for due campaigns
  3. 03
    AWS BatchScales to N parallel workers — your account limit
  4. 04
    Amazon SES10–14 msg/sec per worker × N workers = millions/hour
  5. 05
    SES → SNSBounces, opens, clicks and complaints — every event
  6. 06
    Event LambdaTypically <2s end-to-end into your MySQL
/ millions per day, concretely

Reference deployment.

Twenty AWS Batch workers (c6i.large), eight verified SES identities at production rate. The hardware shape your finance team can buy off the shelf.

4.2M
emails / hour sustained
50M
emails / day realistic
~$5,000
AWS bill / month at 50M/day
22 min
to deliver 5M emails

Equivalent volume on Mailchimp Premium: ~$220,000/month. Same recipients. Same content. Your dedicated IPs, not theirs.

/ deliverability

Throughput is worthless without inbox placement.

At this volume, deliverability is engineering, not luck. Bellum gives you the three levers SaaS providers won't.

/ 01

Dedicated IP reputation

Own your SES IPs (or BYO from warm-up vendors). Your reputation isn't dragged down by other people's bad campaigns.

/ 02

Real-time bounce + complaint handling

Hard bounces and complaints flag subscribers immediately via the SES → SNS → Lambda → MySQL pipeline. Soft bounces increment a counter and auto-suppress after threshold.

/ 03

Suppression and blocked-domain enforcement

Baked into every send. Tenant-scoped — perfect for multi-brand operators.

/ list hygiene at scale

Validate 10M addresses before you send a single message.

At 5M contacts, a 1% bad-address rate is 50,000 hard bounces — enough to crater your SES reputation. Bellum ships a six-step validator that runs on the same AWS Batch fleet as the sender, so 10M addresses finish in roughly the same wall-clock as 100K.

  1. 01
    Syntax + RFC 5322Structural validity check
  2. 02
    Domain MX lookupDoes the domain accept mail?
  3. 03
    Disposable detectionmailinator, guerrillamail and friends
  4. 04
    Role-account flaginfo@, support@, postmaster@
  5. 05
    Catch-all checkServer accepts everything — risky
  6. 06
    Deep mailbox SMTPPer-domain throttled handshake
VolumeZeroBounceNeverBounceKickboxBellum (your AWS)
100K addresses$390$400$500~$10
1M addresses$2,250$2,000$4,000~$100
10M addressesQuoteQuoteQuote~$1,000

Validation runs in YOUR AWS account, so addresses never leave your perimeter — important for GDPR, HIPAA and customer-data obligations that bar sharing email lists with third-party validators.

/ what's in the box

Everything a campaign team expects, plus the parts SaaS hides.

01

Campaign builder

Drag-and-drop sections, CKEditor 5, merge tags, per-campaign sender identity.

02

Segmentation

Visual query builder over subscriber custom fields with live preview counts.

03

Master campaigns

Group related sends — A/B variants, re-engagement waves — into one rollup report.

04

A/B testing

Subject lines, sender names and content variants, with statistical reporting.

05

Real-time analytics

Opens, clicks, bounces, complaints and delivery delay, fed from SNS in <2s.

06

List hygiene

Bulk validator on AWS Batch with deep mailbox SMTP check — auto-suppresses bad addresses.

07

Multi-engine

SES primary, with SendGrid and Azure Communication Service as alternate transports per campaign.

08

Multi-tenant + audit

Every record scoped by tenant. WebAuthn passkeys, Duo MFA, full activity log, GDPR-friendly because the data lives in your account.

/ how it gets installed

Three steps. Not a mail-server admin job.

Bellum runs on AWS managed services — SES, Batch, Lambda, RDS. The only thing you host is the admin UI, a small Bitnami / EC2 stack. You stay in control; we never touch your data.

  1. 01

    Deploy into your AWS

    CodeDeploy + CloudFormation — typically ~2 hours. Everything provisions inside your account; the runbook is yours afterwards.

  2. 02

    Request SES production access

    AWS approves within days. Quota raises happen by ticket — we help you write them.

  3. 03

    Send

    Same admin UI as any SaaS. No servers to babysit. Lambdas auto-trigger, Batch auto-scales, SES handles the actual mail.

/ how you pay

Two ways to run Bellum.

Self-host for maximum cost efficiency, or hand operations to us. Either way the data and infrastructure live in your AWS account.

Self-hosted

Bellum, run by your team

  • One-time setup, then annual license
  • You pay AWS directly for SES, Batch, Lambda, S3 and DB
  • Source code escrow available for enterprise contracts
  • Email + Slack support on a business-hours SLA
Talk to sales →

Pricing is engagement-specific because SES quota, IP count and volume vary. We size it on a 20-minute architecture call.

/ objections, answered

What buying teams actually ask.

Isn't self-hosted email a maintenance nightmare?

No. Bellum runs on AWS managed services — SES, Batch, Lambda, RDS. The only thing you host is the admin UI, a single Bitnami / EC2 stack. There is no mail server to operate.

What if AWS suspends our SES account?

We architect for redundancy across SES regions and optional SendGrid or Azure failover at the transport layer. Your campaign data never depends on a single vendor.

How do you handle GDPR and data residency?

Your subscribers live in your MySQL in your AWS region. Bellum has no access to it. Regional isolation is enforced by AWS account boundaries, not by us.

Can we migrate our existing Mailchimp lists?

Yes. CSV import (validated through the AWS Batch validator) or API sync. Migration tooling is included; bulk validation runs before the first send.

Is there an API?

Yes. Every admin function has a REST endpoint. SDKs for Node and PHP. Webhooks for downstream systems.

What about templates?

CKEditor 5 with merge tags and a plain-text variant per template. Import HTML from any existing campaign — Bellum doesn't lock the markup to a proprietary block format.

How fast can we be live?

About 2 hours for a working deploy. Two to five days for SES production access from AWS. One week typical to first production send.

/ next step

Book a 20-minute architecture call.

Bring your sending volume, your current bill and your deliverability headaches. We'll walk you through what a Bellum deployment looks like for your numbers — and what it would cost.

Book a call →
/ let's talk

Your stack, made intelligent.

Tell us where it hurts — slow systems, a stalled migration, AI you can't operationalize. We'll scope it in a 30-minute call.

Book a discovery call →