Senders, billing & limits

From address rules, per-recipient credit pricing, the per-address daily cap, and the size and rate limits shared by both channels.

Senders, billing & limits

These rules apply identically to the SMTP relay and the HTTPS API, because both channels run through the same send pipeline.

Sender addresses

The address you send from selects which upstream mailbox the message is authenticated through, and it keeps sending limited to addresses your account actually owns.

  • noreply@hep.gg works for every account. It is a global address available to everyone with no setup. If you do not care which sender shows, use it.
  • Custom addresses are assigned by Hep.gg. Any other sender (for example support@yourdomain.com) must be provisioned and assigned to your account by Hep.gg. There is no self-serve way to add a sender yet; the dashboard "Custom addresses" tab is coming soon. Until an address is assigned to you, you cannot send from it.
  • Default resolution. If you omit from (HTTPS) or the From: header (SMTP), the pipeline picks your account default sender if you have one assigned, then the global default noreply@hep.gg.
  • Unauthorized senders are rejected. Sending from an address you do not own returns an error and charges no credit. On HTTPS this is a 400; on SMTP it is a 550 (a bad or disabled key, by contrast, fails earlier at AUTH with 535).
  • Display names are allowed and truncated to 100 characters: "Acme Receipts" <noreply@hep.gg>.

Billing: credits

Email is billed purely in credits. There is no unlimited tier.

  • 1 credit per distinct recipient, counting To + Cc + Bcc.
  • Recipients are de-duplicated case-insensitively before billing, so the same address listed twice is charged once.
  • A message to two to addresses, one cc, and one bcc costs 4 credits.
  • Credits are debited before the relay attempt and refunded automatically if the send terminally fails (see Errors & retries). A queued message (202) is charged at queue time and not refunded, since it will be delivered.

When your balance is below the recipient count, the send is rejected with 402 and is not attempted. Top up on the Email dashboard. Credit bundles are priced in USD:

BundleCreditsPrice (USD)
1k1,000$1.50
5k5,000$6.00
10k10,000$10.00
50k50,000$40.00

Per-address daily cap

Each sender address has a rolling 24-hour send cap enforced upstream. When a send would push that address over its cap, the message is not rejected: it is accepted, charged, and queued, then drained within 24 hours.

  • On HTTPS this returns 202 Accepted with status: "queued" and a retryHint.
  • On SMTP the DATA command returns 250 queued: <messageId>.

The cap is tracked per sender address, so spreading load across assigned addresses raises your effective ceiling. The exact cap is set per address by Hep.gg and is not exposed publicly.

Size limits

LimitValueChannel
Decoded body (html + text combined)under 10 MBboth
HTTPS request payloadup to 15 MBHTTPS
Raw SMTP message (headers + base64)30 MB hard ceilingSMTP

The 10 MB decoded-body cap is the binding limit on both channels. On SMTP, the 30 MB raw ceiling exists so a 10 MB body still fits after MIME headers and base64 inflation; oversize messages are hard-killed by the server.

Rate limit

120 calls per minute, per key, shared across SMTP and HTTPS. The bucket is keyed on the key, so switching protocols does not reset it.

  • HTTPS over the limit returns 429 with a Retry-After header (seconds).
  • SMTP over the limit returns 421 (transient; retry later).

Recipient cap

A single message may address at most 100 recipients total across To, Cc, and Bcc after de-duplication. Exceeding it returns 400 (HTTPS) or 550 (SMTP). For larger audiences, split into multiple sends.