Billing Model

Credits-gated.
Not per-send.

Reserve recipient capacity before you send. Inject email to consume credits only on successful delivery. Void what fails. No surprise overage bills — ever.

The 3-step credit cycle

1

HOLD — Reserve capacity

You declare recipient count. Credits are held — not yet billed. Billable immediately on hold.

2

INJECT — Kumo delivers

KumoMTA accepts delivery. Per-message injection via POST /v1/send or SMTP. Each accepted message commits credits.

3

COMMIT or VOID — Settle

On delivery success: credits are consumed permanently. On hard bounce or suppression: credits are voided and returned to your wallet in real time.

Included in every plan

Everything you need to run email at scale

Credits

Realtime wallet ledger

Live wallet balance via Supabase Realtime. Every hold, commit, and void appears instantly. Full transaction history with timestamps.

Credits

Top-up anytime

Admin grant in the panel — no Stripe required by default. Stripe top-up is optional and only activated when STRIPE_* secrets are configured.

Credits

Idempotent operations

Every credit operation is idempotent via an idempotency_key. Duplicate submissions are safely deduplicated — no double billing.

Credits

Matrix M12 bypass control

Stripe-less top-up is gated by the PMH-SEC M12 control. If Stripe is not configured, the matrix row M12 is skipped during compliance verification.

Credits

No overage billing

You can never go negative. Send is rejected at the SMTP layer if your wallet balance is insufficient. No unexpected bills at end of month.

Credits

Per-workspace isolation

Credits are scoped per workspace. Multi-tenant agency mode: each tenant has their own wallet, their own credit pool, zero cross-contamination.

Pricing

Simple, predictable pricing

All plans include unlimited SMTP connections, DKIM/SPF/DMARC, OmniFBL, and the full panel. No per-feature add-ons.

Starter

Up to 10,000 credits/mo

$49/mo

  • 5 SMTP connections
  • 1 sending domain
  • Community support
  • Shared IP (warmup required)
Get started

Growth

Up to 100,000 credits/mo

$299/mo

  • 25 SMTP connections
  • 5 sending domains
  • Dedicated IP included
  • Priority support
Get started

Scale

Unlimited credits

$899/mo

  • 100 SMTP connections
  • Unlimited sending domains
  • Custom IP pool
  • Dedicated account manager
Contact sales
API

Credits RPC contract

POST /v1/panel/credits/hold

Reserve credits for a batch of recipients. Returns a hold ID and the amount reserved.

POST /v1/panel/credits/commit

Commit a hold after successful injection. Credits are permanently consumed.

POST /v1/panel/credits/void

Void a hold — credits returned to wallet. Used for hard bounces, suppression hits, or cancelled sends.

GET /v1/panel/credits/balance

Returns current wallet balance, total held, and total consumed for the billing period.

Read full credits documentation