Plans & billing
read as.mdBilling on Guuey is per app: every app you deploy carries its own plan, the way every site on a website builder carries its own subscription. Your account (or workspace — each has a separate wallet) pays one subscription per paid app, plus any metered usage those apps accrue. One app per wallet runs without a plan — on the 7-day trial below.
Current prices always live on guuey.com/pricing; the numbers here are the same ones that page is generated from.
For the machinery underneath — what a plan attaches to, the trial state machine, when each meter ticks, and what the spending cap bounds — see How billing works.
| Free (trial) | Starter | Pro | Scale | |
|---|---|---|---|---|
| Price per app / month | $0 | $49 | $129 | $299 |
| Included generations / month | 20 | 1,200 | 3,500 | 9,000 |
| Included managed-LLM credit | — | $20 | $50 | $100 |
| Pod sizes | xs |
xs–sm |
xs–md |
xs–xl |
| Max pods per app | 1 | 2 | 5 | 10 |
| Included app storage (whole app) | ≈10 GiB | 25 GiB | 100 GiB | 500 GiB |
| Per-user home quota | 100 MiB | 1 GiB | 5 GiB | 20 GiB |
| Custom domains | — | — | ✓ | ✓ |
| Default spending cap | $0 (no overage) | $50 | $100 | $200 |
A generation is one generative-UI render your agent produces (through the default mcp.ggui.ai server). The managed-LLM credit covers model usage when Guuey supplies the LLM key for you; past the credit, usage is metered (see below). On the Free tier there is no overage at all — an app that reaches its included quota stops serving generations until the month rolls over or it takes a plan.
Custom domains require Pro or Scale. Pod counts above one, generations past the allowance, managed-LLM usage past the credit, and storage past the included allowance all bill as metered usage.
Pod sizes and scaling
Section titled “Pod sizes and scaling”Every deployed agent runs on at least one always-on pod, included in the plan price. Pick the size with guuey deploy --size (default xs):
| Size | CPU | Memory | Billing units |
|---|---|---|---|
xs |
0.25 vCPU | 512 MiB | 1 |
sm |
0.5 vCPU | 512 MiB | 2 |
md |
1 vCPU | 1 GiB | 4 |
lg |
2 vCPU | 2 GiB | 8 |
xl |
4 vCPU | 4 GiB | 16 |
Which sizes you can pick, and how many pods one app may run, come from the app’s plan (table above). Scale a live app with guuey agent config --max-pods <n> — no redeploy; the change converges within about five minutes. Asking for more pods than the plan’s ceiling is refused with the ceiling named; going beyond the highest ceiling is a support request.
The first pod is included. Each additional pod bills at $0.04 per unit-hour — one xs pod for one hour is one unit-hour, and larger sizes multiply by their billing units. An extra xs pod running a full month is about $29.
The 7-day trial
Section titled “The 7-day trial”Every app starts on a 7-day trial from its first successful deploy. During the trial it runs on the Free (trial) column above: one always-on xs pod, 20 generations a month, the Free limits everywhere else. There is no monthly managed-LLM credit on the trial; a trial app runs managed models against a one-time trial allowance on your wallet, and once that is spent, managed-model turns are refused until the app takes a plan (your own provider keys are unaffected).
One trial at a time per account (or workspace). While an app without a plan is on your account — running, paused, or archived and still inside its 30-day deletion window — creating another app is refused. Choose a plan for the existing app, and the next app you create starts its own 7-day trial. (Deleting the app frees the slot too, but only once its 30-day deletion window completes — archived apps hold the slot until then.) There is no way to create a second app that “skips” the trial slot: the plan always goes on the app that occupies it.
When the trial ends and the app has no plan, Guuey pauses it:
- The pod scales to zero, and the public chat surface says the agent is paused.
- A redeploy is refused (
409 TRIAL_EXPIRED) until a plan is chosen. - Conversation history, settings, configuration and domains are all kept — nothing is torn down.
Choosing a plan on the app resumes it automatically within a few minutes, no redeploy needed. guuey apps get prints the trial’s end date, and you get an email when three days are left, another on the last day, and one when the app pauses. For automation: the app read on the API carries trial: { startedAt, endsAt, status } while the app is on a trial, and a deploy against an expired app without a plan answers 409 TRIAL_EXPIRED.
Metered usage and the spending cap
Section titled “Metered usage and the spending cap”Four things are metered on paid plans, each visible on the app’s billing page before it ever reaches an invoice:
- Generations past the monthly allowance — billed per generation at a per-plan rate ($0.085–$0.10 for a fresh render, depending on plan; cached renders and bring-your-own-key renders bill substantially less — exact rates on guuey.com/pricing).
- Managed-LLM usage past the included credit — billed by token usage.
- Extra pods beyond the first — $0.04 per unit-hour, as above.
- Storage above the plan’s included allowance — $0.0001 per GiB-hour (holding 100 GiB over the allowance for a month is about $7.30).
Every paid app has a spending cap — the plan default from the table, adjustable per app on its billing page. The cap bounds the usage-driven meters: generations, managed LLM, and storage. Pod-hours bill on the invoice but do not count toward the cap, because pod spend is something you configure explicitly (--max-pods × the size’s per-pod rate), not something usage can run away with.
The cap has two modes: hard (the default — past the cap, requests that would spend more are refused until the month rolls over or you raise it) and soft (serving continues and the overage bills). You get an email and an in-app notice at 80% and 100% of the cap.
Where billing is managed
Section titled “Where billing is managed”- Per app — the app’s billing page in the console (
/apps/<app-id>/billingon platform.guuey.com): choose or switch the plan, set the spending cap, and read the four usage meters for the current period. Upgrades apply immediately; downgrades take effect at the end of the billing period. - Per account or workspace — the console’s Billing page lists every app on the wallet with its tier, status and usage, and links to each app’s own page.
- Invoices, receipts and payment method — the Manage billing button on the Billing page opens the Stripe customer portal (billing.guuey.com). Plan changes and cancellation happen in the console, not the portal; deleting an app ends its subscription with a final invoice for any accrued usage.
If a payment fails, the app keeps serving (clamped to one pod) while Stripe retries, with the spending cap held at no more than the plan default (a lower cap you set stays in force) and a banner on the app page; updating the payment method clears it.