Cloud Plan Limits
Plan-by-plan limits for Gencow Cloud: app slots, production deploys, custom domains, realtime, storage, image transforms, and credits
Gencow Cloud plan limits are enforced by the platform backend. Dashboard and CLI messages are only guidance; the server remains the source of truth for app ownership, plan capabilities, and security boundaries.
Public pricing currently shows Hobby, Startup, and Enterprise.
Enterprise plans are configured through a separate agreement and can have custom
limits. Internal platform plan IDs can differ from display names during rollout;
the backend enforces capabilities such as customDomain and
productionDeploy.
Summary
| Feature | Hobby | Startup | Enterprise |
|---|---|---|---|
| App slots | 5 | 50 | Custom |
| Monthly platform credits | 20,000 cr | 500,000 cr | Custom |
| Monthly service credits | 5,000 cr | 100,000 cr | Custom |
| Storage | 1 GB | 20 GB | Custom |
| Runtime memory | 256 MB | 1 GB | Custom |
| Deploy bundle size | 50 MB | 200 MB | Custom |
| Production deploy | No | Yes | Custom |
| Custom domain | No | Yes | Custom |
| Realtime connections/app | 50 | 5,000 | Custom |
| Search/RAG indexing | Basic search | Hybrid search | Custom |
| Backups | 1 manual / 7 days | 6-hour + 20 manual / 30 days | Custom |
| Support | Community | Priority | Custom |
App slots count dev and production apps separately. The first
gencow deploy --prod creates a separate production app and consumes one
additional slot.
Monthly platform credits and monthly service credits are separate pools.
Platform credits come from pricing_tiers.monthly_credits. Service credits are
granted on the monthly KST anchor from system coupons and
service_credit_grant_policies, and each user/policy/period is idempotent.
Production Deploys
Production apps are available on Startup and Enterprise plans. Hobby users can still deploy to the dev environment:
gencow deploy # dev app, available on all plans
gencow static dist/ # dev static hosting, available on all plansUse --prod for production targets:
gencow deploy --prod
gencow static --prod dist/
gencow env set KEY=VALUE --prodIf your plan cannot use production deploys, the CLI and Dashboard show an upgrade message and the platform rejects the production write.
Custom Domains
Custom domains are available on Startup and Enterprise plans. Hobby users cannot connect a new custom domain or rebind an existing domain to a different app.
gencow domain set myapp.com
gencow domain status
gencow domain removeFor production apps, target the production app explicitly:
gencow domain set myapp.com --prod
gencow domain status --prod
gencow domain remove --prodIf a project has both dev and production apps, the custom domain should point to the environment you intend to serve publicly. Production domains should be bound to the production app, not the dev app.
www hostnames are first-class custom domains. Use a www.example.com CNAME to
the selected app target when your DNS provider cannot flatten apex records. Gencow
serves a directly connected www domain as canonical and does not redirect it to
example.com. Apex domains should use ALIAS/ANAME/CNAME flattening when the DNS
provider supports it, or the stable edge IP fallback shown by the CLI.
Existing active custom domains are not removed automatically when a plan changes. Status checks and removal remain available so users can inspect or disconnect their own domains. New domain connections and rebinds still require a plan with the custom-domain capability.
Official Gencow domains such as gencow.app, gencow.dev, and gencow.com
are not self-service custom domains. They require platform-admin handling.
Realtime
Realtime connections/app means concurrent WebSocket connections subscribed to
one deployed app. It is not the number of HTTP visitors or static page views.
One browser tab with active realtime queries usually consumes one connection.
| Plan | Realtime connections/app |
|---|---|
| Hobby | 50 |
| Startup | 5,000 |
| Enterprise | Custom |
The platform resolves the app owner's plan, reads the plan's
wsConnections feature, and enforces the limit at WebSocket upgrade/open time.
Storage And Images
Storage quota limits the total file storage available to the app. Public website assets and private attachments both count toward storage.
Image optimization is always available for safe automatic WebP/downscale paths. Explicit image transforms such as resize, format conversion, and quality control are Startup/Enterprise features.
See Storage for public/private visibility, read grants, image transform parameters, cache behavior, and tier-specific transform errors.
Credits
Gencow uses two credit pools:
| Credit type | Used for |
|---|---|
| Platform credits | DB, API, function/runtime, realtime, storage, deploy infrastructure |
| Service credits | AI, embeddings, image generation, document conversion, provider-backed services |
Credit usage depends on the actual workload. AI and document processing costs vary by model, provider, tokens, file size, and output size.
Enforcement Model
Plan limits are enforced in backend routes and runtime gateways, not only in UI:
- App and production-app writes check authenticated ownership.
- Production deploy writes require the production-deploy capability.
- Custom domain set/rebind requires the custom-domain capability.
- Realtime connection limits are enforced at the WebSocket gateway.
- Image transform limits are enforced by storage serving routes.
- Official Gencow domains stay admin-only even when a user has a paid plan.
When a capability is unavailable, the platform returns a plan-limit error and an upgrade path. These errors should not expose other users' app names, tokens, database URLs, provider secrets, or internal infrastructure details.
Related Guides
- Deployment - dev vs production deploys, static hosting, custom domains, CI/CD
- Realtime - realtime connection behavior and limits
- Storage - file visibility, grants, image optimization, and quotas
- CLI Reference - command flags and
--prodbehavior