Billing
Pricing & Limits
Pay-per-message pricing in Tanzanian Shillings, plus the platform limits every developer should know before integrating.
MailAfrica has no plans or subscriptions — a single TZS wallet funds everything, and each message debits it.
Per-message pricing
| Direction | Platform domain | Your own domain |
|---|---|---|
| Inbound (per message) | 5 TZS | 10 TZS |
| Outbound (per recipient) | 5 TZS | 10 TZS |
Outbound is charged per recipient and debited before dispatch, refunded on provider failure. Inbound is debited on receipt; a message is rejected if the balance can't cover it.
Account limits
| Resource | Limit |
|---|---|
| Sender IDs (inbound addresses) | 100 per account |
| Receiving domains | 100 per account |
| Sending domains | 5 per account |
| From addresses (per account) | 100 |
| Outbound send rate | 2 emails/sec per user (burst 2) |
| Attachments per message | 10 (max 10 MiB each, 20 MiB total) |
| Batch recipients per chunk | 50 |
| Webhook retries | 3 (1s, 3s, 9s backoff) |
| Minimum top-up | 2,000 TZS |
Naming rules
- Address local parts and sender local parts: lowercase
[a-z0-9-]only. - Phone numbers: Tanzanian format
+255or0, then6or7and 8 digits, normalized to+255.... - Webhook URLs must be http or https.
Rate limits & fairness
Beyond the send throttle, authentication endpoints (register, login, verify) are rate-limited to protect against abuse. Respect 429 RATE_LIMITED responses and back off — details in Errors.