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.ggworks 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 theFrom:header (SMTP), the pipeline picks your account default sender if you have one assigned, then the global defaultnoreply@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 a550(a bad or disabled key, by contrast, fails earlier at AUTH with535). - 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
toaddresses, onecc, and onebcccosts 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:
| Bundle | Credits | Price (USD) |
|---|---|---|
| 1k | 1,000 | $1.50 |
| 5k | 5,000 | $6.00 |
| 10k | 10,000 | $10.00 |
| 50k | 50,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 Acceptedwithstatus: "queued"and aretryHint. - On SMTP the
DATAcommand returns250 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
| Limit | Value | Channel |
|---|---|---|
Decoded body (html + text combined) | under 10 MB | both |
| HTTPS request payload | up to 15 MB | HTTPS |
| Raw SMTP message (headers + base64) | 30 MB hard ceiling | SMTP |
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
429with aRetry-Afterheader (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.