Skip to main content

Edge rate limits

Plans can carry a per-client-IP request rate (sustained requests/second, with a burst allowance) and a per-client-IP concurrent-request cap, enforced at the platform edge for every public service — platform subdomains and custom domains alike. A client that exceeds them receives 429 Too Many Requests; other clients of the same service are unaffected. These are abuse guards against a single hot client, not a cap on how much total traffic a service may serve. Open Settings → Billing to see your org’s live values; unlimited means no edge throttle is applied. There is no upstream response timeout at the edge — long-lived SSE and WebSocket connections are not cut off.

Per-deployment resources

Every deployment runs with CPU, memory, and disk caps that come from your plan. The numbers aren’t fields in slipway.yaml — they apply automatically, and they’re sized so a service has room to work without one tenant crowding out another. Each container gets a CPU limit (the ceiling) and a CPU request (the guaranteed share); when the request is below the limit, the container bursts up to the limit whenever the node has headroom. Memory is always fully guaranteed at the limit — there is no memory burst, because memory can’t be throttled, only OOM-killed. If a deploy asks for more than your plan allows, it fails at the deploy phase and the deployment detail page tells you exactly which cap was exceeded.

Storage overage

Named-volume storage is an org-wide budget. What happens when you exceed your included storage depends on the plan:
  • Plans with an overage rate (e.g. Team, Business) treat included storage as a soft cap. You may provision past it up to a hard safety ceiling — 4× the included amount — and the GB over the included line are billed as metered overage on your next invoice at the plan’s per-GB-month rate. Provisioning past the safety ceiling is refused.
  • Plans without an overage rate (e.g. Starter) treat included storage as a hard cap: provisioning past it is refused until you free space or upgrade.
A background reporter samples each subscribed org’s provisioned storage daily and reports the over-included amount to Stripe (the meter aggregates by last reported value, so your invoice reflects what you have provisioned at billing time). Watch your standing on Settings → Usage.

Tenant isolation

Each deployment runs fully isolated, with strict network policies. Other tenants can’t reach your services, and yours can’t reach theirs. Outbound traffic to the public internet works normally, with one exception: outbound SMTP (TCP ports 25, 465, and 587) is blocked. Direct mail sending from shared infrastructure gets the platform’s IPs blacklisted; send mail through a provider’s HTTPS API (Resend, SendGrid, Postmark, SES, …) instead. SMTP between your own services inside an environment still works. Each environment is bounded by a resource quota from your plan: pods per environment × per-pod size for CPU and memory, plus the pods-per-environment cap itself. Changing plans re-derives the quota on the next deploy.