WarmupReputation-safe pools, on every paid plan

Warmup that earns
reputation.

Mailboxes ramp gradually inside the premium pool. Verification tokens distinguish real warmup from forged traffic. Bands quarantine before mailbox providers act.

The ramp

10 emails on day 1.
40 emails on day 30.

One additional warmup message each business day, until the mailbox reaches the 40 / day ceiling and holds. Aggressive ramps trip volume-anomaly heuristics on the receiver, so we keep it boring.

Day 1
10/ day

First warmup send. Normal individual activity to any provider.

Each day
+1/ day

Volume grows by one each business day. Weekends skipped.

Day 30
40/ day

Ceiling reached. Mailbox holds at 40 / day indefinitely.

~10m average gap between sendsBusiness hours by recipient TZPlain text only
Verification token

Every warmup message carries proof it is real.

The single largest threat to a shared warmup pool is a sender pretending to receive its own warmup. Each warmup message carries a random, single-use token in a mail header. Muster issued it, stored it, and checks it on arrival, so only real pool mail is counted.

warmup token · mail header
# Sent as a header on the warmup message
X-Mailtrace-Verify: 5f0c7a2e-3b1d-4e8a-9c6f-2d7b8e1a4c90
   └ random token, stored with sender, recipient and expiry

# The body reads like an ordinary note:
Hey, just wanted to follow up on the project we discussed.
Let me know when you have a chance.

# On arrival → look up the token
if issued_to(recipient) && !consumed && !expired then credit_signal
else treat_as_normal_mail()
Validation rules
Issued by Muster

A token counts only if Muster issued it. A made-up value matches nothing.

Expiry window

Tokens expire 7 days after issue.

Single use

A token is consumed on first valid use. A repeat counts for nothing.

Recipient match

The token must have been issued to the mailbox that received it.

A rejected token is treated as normal mail. It never counts against the mailbox that received it.
The daily loop

One loop. One mailbox. One day.

Warmup is not a black box. Every step has a defined input and output, and every quarantine has a reason you can read.

Read about warmup pools
  1. 01
    Pool member selection
    partner = pool.draw(exclude_recent: 7d)

    A partner mailbox is drawn from the same pool the sender belongs to. Recent partners are excluded for 7 days to prevent degenerate pairs.

  2. 02
    Token issue + embed
    token = random(), stored with sender, recipient, expiry

    A single-use token is stored for this pair and sent in a mail header. The receiving side looks it up when the message arrives.

  3. 03
    Send through worker
    worker.send(msg, schedule: business_hours(recipient_tz))

    The mailbox's assigned worker dispatches the message during the recipient's business hours, with spacing that matches human typing cadence.

  4. 04
    Partner classification
    receiver.classify(msg) → {inbox|promotions|spam}

    The receiving mailbox syncs the message and Muster records where it landed. Inbox arrivals are credited as positive placement signals.

  5. 05
    Score update + band
    bands = rates(placement, complaints, bounces)

    Per-mailbox rates are recalculated. If thresholds are crossed, the mailbox transitions to Watch, Quarantined, or Blocked.

Why warmup matters

A fresh mailbox is suspicious by default.

Gmail and Microsoft treat new senders cautiously. Without a behaviour history, a brand-new domain that immediately starts cold outreach looks like the worst-case sender. Warmup is the only way to build that history without a complaint event.

Without warmup
  • No sending history. Providers default to suspicion on first volume spike.
  • Inbox vs spam classification has no positive signal to lean on.
  • Any complaint or hard bounce moves reputation faster because the baseline is empty.
  • Engagement signals (replies, moves from spam) take longer to accrue.
  • First catastrophic event can hit within days of starting cold sends.
With Muster warmup
  • Gradual volume ramp matches what a real mailbox usage looks like.
  • Inbox arrivals at vetted partners build a positive placement signal.
  • Replies in the pool produce real engagement history at the receiver.
  • Verification tokens prove the activity is genuine, not self-replied noise.
  • Per-mailbox bands quarantine drift weeks before providers would act.

Reputation is per-mailbox, per-IP, and per-domain. Warmup builds all three simultaneously. We do not publish placement-improvement percentages because the answer depends on your domain age, content quality, list hygiene, and DMARC posture more than anything we control.

Health bands

Bands that act before providers do.

Spam placement on the X axis. Each band starts where the previous one ends. Muster's thresholds (in sky) sit well to the left of Google's and SES's published enforcement points (in rose) so we pull a mailbox out of the shared pool weeks before it would earn a public complaint.

Spam placement · 0% → 100%
Per-mailbox rolling window
HEALTHY · 0–10%
WATCH · 10–20%
QUARANTINED · 20–40%
BLOCKED · 40%+
0%
10%
20%
40%
80%
100%
↑ providers act
Healthy
Spam< 10%
Complaint< 0.03%
Bounce< 1%

Default state. Continue ramp.

Watch
Spam≥ 10%
Complaint≥ 0.03%
Bounce—

Lower volume, increase spacing.

Quarantined
Spam≥ 20%
Complaint≥ 0.10%
Bounce≥ 5%

Removed from shared paid pool for 7 days.

Blocked
Spam≥ 40%
Complaint≥ 0.30%
Bounce≥ 10%

30-day block. Review required for re-entry.

Spam-placement band requires at least 20 warmup deliveries in the past 7 days. Complaint band requires at least 100 delivered messages in the past 30 days.

Pool isolation

Four pools. Zero crossover.

Mailboxes never silently move between pools. A free-trial mailbox stays in the free pool. A quarantined paid mailbox drops into recovery, not back to premium. Dedicated infrastructure runs alongside without sharing IPs.

Free pool
Free trial
trial mailboxes only
  • Recipients drawn exclusively from other free-plan mailboxes.
  • Same auto-quarantine thresholds as premium.
  • Cannot send to premium-pool mailboxes.
Most paid plans
Premium pool
Starter · Professional · Enterprise
vetted paid mailboxes only
  • Stricter quarantine bands than free pool.
  • Quarantined senders move to recovery, not back to premium.
  • Recipients only drawn from other healthy premium mailboxes.
Recovery pool
Automatic
quarantined mailboxes serving cooldown
  • 7-day cooldown after quarantine trigger.
  • Must pass 20-delivery probation to re-enter premium.
  • Completely isolated from healthy premium senders.
Dedicated
Enterprise
isolated worker + IP per org
  • One worker process and IP allocated to one organisation.
  • Still participates in the premium pool for warmup recipients.
  • Infrastructure isolation, not a reputation shortcut.
Defaults

The numbers we ship with.

Tuned for the median sender. Override per mailbox if you have a real reason. The right column is the reasoning we will defend in an incident review.

01 · Starting volume

Low enough to read as normal individual activity to any provider.

10 / day
02 · Daily ramp

Aggressive ramps trip volume-anomaly heuristics on the receiver.

+1 / day
03 · Volume ceiling

Maintains reputation without crowding the cold-campaign budget.

40 / day
04 · Recent-partner gap

Stops two mailboxes from forming a degenerate warmup pair.

7 days
05 · Token lifetime

Long enough for a slow mailbox sync, short enough to stop replays.

7 days
06 · Re-entry probation

Enough fresh data to confirm health, not just dormancy.

20 deliveries
Source: internal/scheduler/warmup_scheduler.go · internal/repository/pg_warmup.go
Warmup FAQ

Four questions we get most.

Want the full mental model? Read the warmup guide.

Plan on 3 to 6 weeks for a brand new mailbox to reach a stable warmed state. We ramp +1 / day from a 10 / day start with a 40 / day ceiling.

No. Free pool mailboxes never silently appear in the premium pool. Dedicated workers still participate in the premium pool by default.

Spam-folder placement of 20% or more on at least 20 warmup sends in 7 days, a complaint rate of 0.10% or more, or a bounce rate of 5% or more on at least 100 deliveries in 30 days. Deleting or marking pool warmup mail as spam blocks the mailbox.

Yes, and you should. Warmup runs in parallel with cold sending so any reputation dip is caught and offset before campaigns hit it.

Connect a mailbox. Start warming today.

OAuth in 30 seconds. First warmup send in under a minute.