Billing
Manage a workspace subscription and learn how optional hosted Agent credits and automatic top-ups work.
Subscription billing runs through Stripe. Fermium never sees or stores card numbers. Use Checkout to start a plan or add storage, and Portal to change or cancel. Optional hosted Agent credits use a separate balance, described below.
Starting a plan
- Open Settings, then Billing at
fermium.app/app/settings/billing. - Pick Team or Business, monthly or yearly, or a storage add-on.
- You are sent to Stripe Checkout. Promotion codes are accepted, tax IDs can be entered, and the billing address is collected where required.
- On success you return to the app. A webhook from Stripe sets the workspace plan within a few seconds. Refresh the page if the plan badge has not changed yet.
Under the hood the app calls POST /api/billing/checkout with one of these price keys: team_monthly, team_yearly, business_monthly, business_yearly, storage_50gb_monthly. Storage add-ons can have their quantity adjusted inside Checkout, from 1 to 40 units of 50 GiB.
Workspace owners and admins can start a plan. The Stripe customer is attached to the workspace, not to the person.
Additional storage usage
Enterprise includes 5 TiB by default, with larger allowances agreed separately. Existing prepaid storage add-ons increase the allowance before overages are calculated.
Where enabled, a workspace owner can opt into usage billing under Settings → Billing → Additional storage usage. Review the displayed rate, set a monthly dollar limit, and authorize charges to the default payment method. Owners authorize charges; admins and auditors can inspect the ledger. This is off by default, including for existing workspaces. A saved default payment method and a paid workspace are required.
The default rate is $0.10 per GiB-month ($5 per 50 GiB-month), configurable before enrollment. The accepted rate and grace period are saved with the authorization and never silently changed by a configuration update. Existing enrolled workspaces keep their accepted terms until they explicitly re-enroll.
- Usage must remain over the allowance for 24 continuous hours by default. The grace period is free. Returning under the allowance resets it.
- After grace, charges are proportional to excess bytes and elapsed time, using the actual number of seconds in the UTC calendar month. There is no full-month charge for a short overage and no backcharge for time before authorization.
- The meter uses current live document content, secure items and Agent transcripts. Historical document versions and backups are not added to the customer-facing usage calculation.
- Storage changes and five-minute samples update a durable ledger. An observation gap longer than an hour restarts grace without reconstructing charges for the unobserved interval.
- Charges cannot exceed the accepted monthly storage spending limit. Additional capacity is also bounded by the amount that budget would cover for a full month. At the limit, new storage growth stops; existing pages are retained and remain readable.
- Storage is invoiced separately each UTC calendar month, including for annually paid plans. Amounts below $0.50 are waived. Subscription fees and prepaid add-ons are separate; applicable taxes are outside the usage limit.
- Disabling stops future accrual and returns to the included capacity. Already accrued charges are still invoiced. Downgrading to Free stops future overages without deleting content.
- An unpaid storage invoice is handled by our team. If your subscription is current, it does not downgrade your plan, restrict access, or trigger app-wide payment notices. Automatic retries and reminders stop after a failed storage charge. An uncertain Stripe response is retried with the same identity; unresolved requests require operator reconciliation before another attempt.
For example, at the default rate, 100 GiB of excess usage for 10 billable days in a 30-day month costs approximately $3.33. The preceding grace period is not billed.
Managing a plan
Manage billing in the same settings page opens the Stripe Customer Portal (POST /api/billing/portal). There you can:
- switch between monthly and yearly;
- move between Team and Business;
- change the storage add-on quantity;
- update the payment method and billing details;
- download invoices;
- cancel.
Portal is only available once a plan has been started; before that the endpoint answers 404 with "no billing account yet".
How the plan is set
Fermium verifies Stripe webhook signatures and reconciles all Fermium subscriptions for the workspace. The highest eligible plan applies, and paid storage add-ons are summed separately. Buying or cancelling an add-on does not replace the base plan. A background check also catches missed events.
A first payment must complete before paid features unlock. On a failed subscription renewal, paid features stay available for a seven-day grace period with a quiet notice and a link to update billing. If payment remains unresolved, the workspace returns to Free. Paying restores the paid plan. Storage overage invoices are handled separately and do not trigger these notices or downgrades.
Enterprise agreements are set by an operator rather than through Checkout and are preserved independently of storage add-on events.
Cancelling and downgrading
When a subscription ends, the workspace returns to Free at the end of the paid period, as Stripe reports it. Consequences:
- storage above 1 GiB blocks new publishes and updates until you are under the cap; existing documents stay up;
- Restricted documents keep working, and existing grants still apply; new group grants need Team or above;
- custom domains stop being accepted for new additions; contact hello@fermium.app about existing ones;
- the viewer domains stay on the workspace but no longer claim new sign-ups.
Nothing is deleted on downgrade.
Receipts and invoices
Stripe emails receipts to the address used at Checkout. Invoices are in the Portal. Fermium does not send its own billing email today.
AI credits
Hosted Agent work is paid for by the Agent's workspace. Your existing agent can still use ordinary Agent context and individual tools without enabling hosted chat.
Open Settings → AI credits at /app/settings/ai-credits. Workspace owners and
admins control hosted usage, credit purchases and automatic top-up. This authority
is separate from the existing subscription flow described above.
The balance distinguishes available credit from credit reserved for active runs. Choose a per-run limit; a new request must fit both that limit and the available balance. Completed model usage is charged according to the configured model rates, and unused reservation is released. Waiting for a human approval does not keep generating model calls; continuation uses a new run allowance.
Usage by Agent and member
Usage breakdown shows settled credits and run counts by Agent and by the member who requested the work. Owners, admins and auditors can view it. Select an Agent to see its member breakdown, or use This month, Last 30 days, All time or custom dates. Dates use UTC; both custom boundary dates are included. Charges belong to the day they settle, which can differ from when a run started.
The totals include charged usage from stopped or failed runs. A continuation after approval is a new run. Active reservations, credit purchases and direct MCP calls that do not use hosted inference are separate from this report. Website visitors have a separate usage row; private website previews count toward the member who tested them.
The report exposes billing amounts and counts, not prompts, transcripts, private session names or document titles. Agent names and links follow existing access; for example, another member's personal Agent stays unnamed. Charges survive Agent or conversation deletion. Deleted Agents and former members are labeled, and older charges whose attribution cannot be recovered appear as unattributed historical usage.
Add credits
Choose an amount within the displayed limits and continue to Stripe Checkout. Confirm the amount there. Credits appear after verified payment; returning to the app from checkout alone does not prove that payment succeeded. Purchases are unavailable when payment configuration is missing.
Saving a payment method is optional. It enables later automatic purchases only after an admin separately opts into automatic top-up.
Automatic top-up
Set the low-balance threshold, target balance and monthly automatic-purchase cap. The target must exceed the threshold. When available credit falls below the threshold, Fermium purchases credit toward the target, subject to the minimum purchase amount and cap. The cap is measured in credits purchased automatically per UTC calendar month; it is not a total cap on manual purchases or workspace use.
Review the displayed amounts before enabling. A failed or uncertain payment pauses automatic attempts for attention instead of silently creating another charge. Check billing and any existing payment before retrying. Disabling automatic top-up prevents future automatic purchases; it cannot reverse a purchase already sent.
Model rates and interrupted work
Available OpenAI/Anthropic models and their credit rates come from Fermium's configured catalog. The page shows current purchase pricing and input/output rates; no provider price is implied by a model's name. Credit usage is not the provider's exact invoice.
An interrupted or cancelled request may already have consumed model usage or sent an external action. Review its status and saved work before continuing; cancellation does not promise a refund or undo an action. Exhausted balance preserves saved conversation work and blocks further paid work until an allowance is available.
See Chat with an Agent for the workflow and the developer contract for wallet fields, purchase confirmation and error handling.