Reliability and limits
The infrastructure behind your published app, the limits that apply to it, and what happens when you reach one.
Floot is built for production apps. Your site runs on managed AWS infrastructure, with no DevOps work from you. This page covers what every app gets, the limits that apply to it, and what happens when you reach one.
What's included with every app
| Feature | Description |
|---|---|
| Database | Managed Postgres for your app's data — see Your database |
| Backend | Highly scalable serverless backend on AWS Lambda |
| Authentication | User sign-up, login, and session management |
| Hosting | Globally distributed content delivery built on AWS CloudFront |
| File storage | CDN-backed storage for user uploads and assets |
| Send and receive email from your app — verify your own sending domain to reach real recipients | |
| Realtime | WebSocket-based live updates and presence |
| Jobs | Background work on every plan; scheduled cron jobs, timers and recurring jobs on paid plans |
| Custom domains | Connect your own domain on a paid plan, once the app is live on its .floot.app subdomain |
| Security | HTTPS everywhere, and secrets kept server-side and never shown to the AI — see Security and data |
Hosting infrastructure
- Automatic scaling based on traffic — no capacity planning
- Global CDN for fast load times worldwide
- SSL certificates (HTTPS) issued and renewed automatically
- Your backend and database run in AWS's US East region (
us-east-1); pages and files are served through the global CDN - A background task or scheduled job can run for up to 15 minutes. A request from a browser must start answering within 2 minutes and never go quiet for longer than that; longer work belongs in a background task — see Backend runtime contract
- Backend memory starts at 1 GB, or 2 GB for a published app with server-side rendering. If heavy work such as large files or PDFs runs out of memory, ask your assistant to raise it, anywhere from 512 MB to 4 GB. More memory makes each request cost more hosting
Uptime and reliability
Floot aims for high availability on all published apps. The longest disruption to published apps so far was the October 2025 AWS event, which took out a large part of the internet rather than Floot alone. There have been a small number of platform incidents since, most of them affecting building and publishing rather than apps that were already live.
A single app can still go offline for reasons that have nothing to do with the platform: an unpaid hosting balance takes it down (see below), and a traffic spike can get it throttled.
Runaway traffic is throttled automatically
If an app's traffic spikes far past its own baseline — usually an infinite loop or a runaway client-side poller rather than real users — Floot caps that app's backend concurrency automatically. The cap is twice the app's own busiest moment of the past week, and never lower than 50 requests running at once. It lifts on its own: no sooner than half an hour after it went on, and only once traffic has settled back below it. While a cap is in place your app sheds some requests. We are alerted whenever this happens, but no message goes out to you automatically, so if you think your app is being capped, open the support chat.
If you experience downtime or performance issues, reach out via the support chat and we will respond quickly.
What gets metered while you build
Your assistant brings its own model tokens, so building does not spend Floot credits. It spends build actions instead. One action is one tool call your assistant makes on a project, and the count is charged to the account whose Floot login authorized the connector — not to the project owner.
| Plan | Build actions per day |
|---|---|
| Free | 100 |
| Pro — $25/mo | 1,000 |
| Power — $100/mo | 5,000 |
| Older Floot credit plans | 100 |
Failed and cancelled calls never count. Six housekeeping tools are free and never count either: get_job_status, get_publish_status, list_projects, get_preview_url, cancel_request, and unpublish_app — unpublishing is deliberately free so a capped account can always take an app offline.
The daily cap is the only limit — there is no weekly cap on any plan. It resets once every 24 hours at a fixed hour set for your account — Plan & usage shows when. On Pro and Power, an Action Boost adds 5,000 actions for the rest of the day and the next — see Build actions.
If you subscribe to one of Floot's older credit plans, your usage is metered at the free caps. Those plans buy credits, not build actions — switching to Pro or Power is what raises the ceiling.
What credits are for
Credits are a second, separate meter. They do not convert into build actions, and build actions do not convert into them. Paid plans include a monthly credit quota — 5,000 on Pro, 15,000 on Power — and three things spend them:
- Image generation. Images made with
generate_imageare produced by Floot's own model, so they spend credits in addition to counting as a build action. - AI features inside your own published app. Floot's built-in
@floot/aipackage — chat, embeddings, image generation, and transcription running in your app for your users — draws on the same credit balance. Connecting your own OpenAI or Anthropic key instead moves that spend to your provider bill. - Floot's own chat in the editor. Building by chatting with Floot in the project editor, rather than through your own assistant over the connector, runs on Floot's models, so every message spends credits.
All three are billed to the project owner's balance, whoever triggered them. See Billing, credits, and plans.
Account limits
| Limit | Free | Paid |
|---|---|---|
| Projects | 5 | Unlimited |
| Published apps | Unlimited | Unlimited |
| File storage | 100 MB | Unlimited, billed past the daily free allowance |
| Single file upload | 100 MB | 100 MB |
| Scheduled jobs per project | Saved, but they do not run | 10, every 5 minutes at most |
| Delayed and recurring background jobs | Not available | 25 pending timers (1 minute to 7 days out) and 10 recurring per project |
| People you can invite to private apps | 5, across all your apps | 20, across all your apps |
| Native app builds per month | 2 | 12 on Pro, unlimited on Power |
| Emails sent per project per day | 1,000 | 1,000 |
| Custom domains | Not available | Included |
Scheduled and delayed jobs follow the project owner's plan. The project cap is checked at the moment you would exceed it and is never applied retroactively. If you are already over it, you keep everything you have — you just cannot create more projects until you upgrade or delete one.
Private files your app serves are handed out as time-limited links: a private download URL can be signed for at most 24 hours.
Verify a sending domain before you launch
Until your project has a verified email domain, your app's outbound mail is sent from Floot's shared domain, and any message addressed to someone other than you is redirected to you instead with a notice explaining why. That is useful while testing and wrong for a live app — verify your own domain in your project's Email settings on floot.com before real users sign up. See Email.
Custom domains need the app to be published to its .floot.app subdomain first. Ask your AI assistant to add one and it hands you a link: the DNS setup finishes in a wizard in your browser, not in chat, and the link is good for one hour. See How to add a custom domain.
Hosting allowance
| Plan | Monthly hosting allowance |
|---|---|
| Free | None recurring — a one-time $3 credit at signup, valid for a year, is all a free account has |
| Pro — $25/mo | $10 of hosting per month |
| Power — $100/mo | $25 of hosting per month |
| Older Floot credit plans | $10 of hosting per month, whatever the credit tier |
Hosting is prepaid. Each month's usage comes out of your plan's allowance first, then out of your hosting credit balance: the signup credit plus anything you have added on the hosting dashboard. When both are used up the balance goes negative, and a negative balance that stays unpaid ends with your apps being taken offline (see below). On a paid plan, the next month's allowance, or the new period an upgrade or plan change starts, pays that debt first. Floot does not charge your card for hosting on its own. The only automatic charge is auto-reload, which is off until you turn it on.
The allowance does not come back at the same moment as your AI credits. Hosting usage is counted by date in UTC, so a new month's allowance starts at 00:00 UTC on the date your billing month rolls over. The credits come back at the time of day your plan started on that same UTC date, so the allowance is back first, by up to a day. The Hosting row on Plan & usage shows the date and time it comes back in your own time zone, counting down in the last 24 hours, and the Hosting tab shows the same date and time.
A daily limit also caps what your published apps can spend in one day: at the limit they pause until the next day instead of running up the bill. See Daily hosting limit.
The baseline price of usage is about twice the underlying infrastructure cost; a few units carry more margin than that — realtime connections most of all — so read the hosting dashboard rather than multiplying an AWS price list. Every project also gets the first 100 MB per day of file storage and the first 50 MB per day of database storage at no charge before metering starts — see Hosting. Database storage is your current data plus the last 7 days of changes kept for recovery, so a database that is rewritten often is billed for more than its size — see Your database.
When your hosting allowance runs out
If your hosting balance goes negative and stays there, Floot takes the app offline. How much warning you get depends on your plan:
- Active paid subscription, not cancelling — a grace window of up to 3 days, with warning emails during it. It is cut to about one day when the overdraft is far above the account's normal hosting spend, and scheduled jobs and recurring background tasks pause from the moment the balance runs out
- Free accounts — no grace period
- Cancelled or pending-cancellation subscriptions — no grace period
- Cards that have been failing for more than 14 days — no grace period; inside those 14 days you get the same 3-day window, so there is time to fix the card
From the moment the balance goes negative, before anything is taken down, you can't publish, create or duplicate projects, or export or import a database.
A takedown removes infrastructure rather than flipping a switch: custom domains are detached, the .floot.app subdomain is released, and the database is disabled. Your code and your data are kept, so bringing the app back is a re-publish once the balance is positive again, not a toggle. While the hosting is taken down, the database can't be opened, queried or downloaded, through the Data tab, your assistant, or Download Database. Support can't make a copy either, except where the law requires one. Paying the balance restores access.
Bringing an app back
- Add hosting credit with Top up on the hosting dashboard. Buying hosting credit needs an active paid plan, so a free account upgrades first. On a paid plan, unused allowance pays the debt first, when a new month starts or a plan change starts a new paid period, so a small debt can clear without a top-up. Upgrading from free clears a takedown by itself only when the new plan's hosting allowance covers what is owed; otherwise add hosting credit as well.
- Your databases come back on their own, with the same data, as soon as the balance is positive again.
- Publish each app again. Its
.floot.appname was released, so choose the name again. - Add each custom domain again — see How to add a custom domain.
Monitoring your usage
Track build actions and credits on the plan and usage dashboard, and traffic on the hosting dashboard. Plan changes are browser pages on floot.com — no tool can move you between plans.
You can also just ask while you build. Your assistant can read your hosting and Lambda numbers through the connector and suggest ways to bring them down.