Plans, quotas, and MAD
Aether has three plans: Free, Pro, and Scale.
| Quota | Free | Pro | Scale |
|---|---|---|---|
| Apps | 3 | 10 | Unlimited |
| Deployments per app | 3 | 10 | Unlimited |
| Storage | 500 MB | 5 GB | Unlimited |
| API requests per minute | 60 | 300 | 1000 |
| API keys | 5 | 25 | Unlimited |
| Collaborators per app | 3 | 10 | Unlimited |
| Monthly active devices | 5,000 | 50,000 | 250,000 |
| Release history retention | 14 days | 90 days | 365 days |
Beyond the included devices, Pro bills $8 for each additional 10,000 MAD, capped at $99 per month in overage charges. Scale bills $6 for each additional 10,000 MAD, capped at $1,000 per month. Scale also adds custom domains and a 99.9% SLA.
Paid plans get usage emails as the month progresses: one at 80% of the MAD quota, one at 100% when overage starts, and one more when the plan’s overage cap is reached.
What counts as a monthly active device
Section titled “What counts as a monthly active device”A device counts as active the first time it performs an update check in a calendar month (UTC). The server counts devices with a HyperLogLog sketch per tenant and month, so the number is a very close estimate rather than an exact count, and counting stays cheap at any scale.
Going over
Section titled “Going over”On Free, once the month’s MAD passes the quota, update checks are throttled: devices are told to retry after 48 hours and responses carry the header X-Aether-Mad-Status: over_quota_throttled. Your app keeps working; it just stops receiving new updates promptly until the month rolls over or you upgrade. On Pro and Scale, overage is billed instead of throttled.
Release history retention decides how far back a deployment’s history reaches, which bounds how old a rollback target can be.