Stay inside quotas and caps
Track counted quotas, abuse limits, fleet caps, and overage behavior.
Track counted quotas
| Quota | Free | Pro |
|---|---|---|
| Apps owned | 1 | 10 |
| Code changes / day (UTC) | 50 | 500 |
| D1 databases / app | 1 | 1 |
| R2 buckets / app | 1 | 1 |
- Charge each
committhat creates a commit to the app owner, whoever makes it. - Exclude the template commit from
create_appand everyrollbackfrom counting. - Check usage and reset times with
whoami. - Relay
quota_exceededplus its verbatimuser_messageto the person. - Merge extra databases or buckets; a second
d1_databasesorr2_bucketsentry fails validation.
Respect abuse and runtime caps
- Expect sign-in throttles: 5 OTP emails/hour/address, 20/hour/IP, 3 new accounts/day/IP.
- Run every fleet under the host’s memory and CPU caps; there is no per-plan sizing.
- Expect idle sleep after about 30 minutes on every plan; on Pro, keep-warm holds selected fleets awake up to the host cap.
- Track requests, storage, and egress in usage with no enforced caps; never tell the person an app paused over quota.
For the person-side walkthrough, see Limits and quotas.