Limits
Every limit in one place, and who can change it.
The Change it column says how to go past a limit:
- You — a setting you change yourself (the link shows where).
- Upgrade — a higher plan has a higher limit (plans and prices).
- Ask us — Totalum can raise it for your account or project: write to support with what you need and why.
- No — fixed for everyone.
Plans are named Free, Starter, Builder, Professional and Enterprise. All amounts are per calendar month (UTC) unless the row says otherwise.
#Account
#Plan limits
| Limit | Free | Starter | Builder | Professional | Enterprise | Change it |
|---|---|---|---|---|---|---|
| Projects at once | 2 | 10 | 50 | 300 | Unlimited | Upgrade · Ask us |
| New projects | 1 a minute | 5 a minute | 10 a minute | 30 a minute | 100 a minute | Ask us |
| Prompts, all projects together (a new project counts as one) | 1 a minute | 5 a minute | 10 a minute | 30 a minute | 100 a minute | Ask us |
| Prompts running at once, all projects together | 2 | 10 | 20 | 60 | 200 | Ask us |
| API and MCP requests per API key | 10 a second | 100 a second | 100 a second | 100 a second | 1,000 a second | Upgrade |
| People on the account (you included) | 1 | 3 | 5 | 10 | 500 | Upgrade |
| Domains bought on Totalum, held at once | – | 3 | 10 | 50 | Unlimited | Upgrade |
- A deleted project frees its slot at once. Creating too fast answers
429 RATE_LIMIT_EXCEEDED; wait a moment and retry. - New projects and prompts share one per-minute allowance: a prompt over it, or over the prompts running at once, answers
429 RATE_LIMITEDwithRetry-After; nothing is started, so send it again after that many seconds. A prompt stops counting as running as soon as it finishes, fails or is stopped. If your account has a higher new-project rate from us, its prompt limits rise with it (running at once = twice the per-minute figure). - A key over its requests per second answers
429 RATE_LIMITEDwithRetry-After(counted each second, Enterprise over 10 seconds: spread a burst over a few seconds). - A pending invitation holds a seat until it is accepted, revoked or expires.
- Code editing, source download, GitHub, custom domains and mobile apps need a paid plan; reading your code and connecting Figma work on every plan.
- The API and MCP work on every plan. Any paid action needs a balance of at least 1 credit (reads and deleting a project always work).
- The API key the platform gives an app-builder project (handbook): 600 requests a minute and 300 prompts an hour (Ask us); its project creates count against the account's per-minute rate above.
#Account spending caps
To protect your balance from a runaway app or script, the whole account pauses when everything it spends — prompts, publishes and every project's running app — passes a cap:
| Window | Free | Starter | Builder | Professional | Change it |
|---|---|---|---|---|---|
| One hour (UTC) | 120 credits | 360 credits | 1,200 credits | 3,600 credits | Ask us |
| Last 24 hours | 300 credits | 900 credits | 3,000 credits | 9,000 credits | Ask us |
While your balance is 0 or below, the caps are at most 100 credits an hour and 500 a day. The pause lifts by itself once the spend is back under the cap and the balance is above 0. Your caps are in Get Account Usage (account.accountCaps).
#Balance and suspension
Hosting, the database and other infrastructure keep running when the balance reaches 0, so a balance can go below 0. Then:
| When | What happens | Change it |
|---|---|---|
| Balance 0 or below | The built-in features (AI, e-mail, files, scraping…) of every project are refused until you add credits; sites keep serving | No |
| Free plan, balance −30 or below | Every site of the account is paused until the balance is back to 0 | Upgrade |
| Balance −300 or below | You get an e-mail; 48 hours later every site is paused unless you add credits | Ask us |
| Paid plan, balance −400 (Starter), −600 (Builder), −900 (Professional) or −2,000 (Enterprise) | Every site is paused at once until the balance is back to 0 | Ask us |
| Balance below 0 for 90 days in a row | Every site is paused; you are warned by e-mail 7 days before | Ask us |
Nothing is deleted. Add credits (or turn on auto-recharge) and the sites come back by themselves within a minute.
#Project
#Monthly budgets
Every project has two monthly caps, in credits: development (prompts, publishes and project actions) and infrastructure (what the running app spends). New projects get:
| Created from | Development | Infrastructure | Change it |
|---|---|---|---|
| The platform | 50,000 credits | 10,000 credits | You |
| The API or MCP | 5,000 credits | 300 credits | You |
Set them at creation (creditLimits in Create Project) or later in the project's Usage & limits or with Update Credit Limits. You can also switch any built-in feature off or give it its own budget (Feature Limits).
#Built-in features
What each project's app may use. Each cell is per month · per minute.
| Feature (unit) | Free | Starter | Builder | Professional | Enterprise |
|---|---|---|---|---|---|
| AI text, chat, vision (calls) | 300 · 10 | 250,000 · 300 | 250,000 · 300 | 250,000 · 300 | No limit · 600 |
| AI embeddings and reranking (calls) | 1,000 · 10 | 1,000,000 · 600 | 1,000,000 · 600 | 1,000,000 · 600 | No limit · 1,200 |
| AI images (calls) | 20 · 3 | 10,000 · 60 | 10,000 · 60 | 10,000 · 60 | No limit · 120 |
| AI video (calls) | 5 · 2 | 500 · 10 | 500 · 10 | 500 · 10 | No limit · 30 |
| Speech to text, text to speech (calls) | No limit · 5 | No limit · 120 | No limit · 120 | No limit · 120 | No limit · 300 |
| E-mail (recipients) | 100 · 20 | 5,000 · 60 | 50,000 · 120 | 500,000 · 300 | No limit · 600 |
| Web scraping (calls) | 100 · 10 | 5,000 · 60 | 25,000 · 120 | 100,000 · 300 | No limit · 600 |
| Web search (calls) | 100 · 10 | 2,000 · 60 | 10,000 · 120 | 50,000 · 300 | No limit · 600 |
| Cloud browser (session minutes · actions) | 60 · 30 | 600 · 60 | 3,000 · 120 | 15,000 · 300 | No limit · 600 |
| Document scan (pages) | 35 · 10 | 1,000 · 30 | 5,000 · 60 | 25,000 · 120 | No limit · 300 |
| PDF (calls) | 200 · 20 | 5,000 · 60 | 20,000 · 120 | 100,000 · 300 | No limit · 600 |
| Screenshots (calls) | 100 · 10 | 2,000 · 60 | 10,000 · 120 | 50,000 · 300 | No limit · 600 |
| Vector search (calls) | 10,000 · 60 | 200,000 · 300 | 1,000,000 · 600 | 5,000,000 · 1,200 | No limit · 3,000 |
| Connected accounts: links, reads and actions on your users' Google, Microsoft, Slack… accounts (calls) | 2,000 · 30 | 20,000 · 60 | 100,000 · 120 | 500,000 · 300 | No limit · 600 |
| Real-time (room minutes · new connections) | 1,000 · 30 | 20,000 · 120 | 100,000 · 300 | 500,000 · 600 | No limit · 1,200 |
| File uploads (files) | 2,000 · 30 | No limit · 1,200 | No limit · 1,200 | No limit · 1,200 | No limit · 1,200 |
| Payments calls | No limit · 60 | No limit · 300 | No limit · 600 | No limit · 1,200 | No limit · 3,000 |
- Change it: Upgrade. Monthly amounts are per project. On Free, Starter and Builder the per-minute amounts are shared by all the account's projects (except file uploads); on Professional and Enterprise each project has its own.
- Over a limit, the app's call answers
429withRetry-After(per minute) orerrorDetails.resetsAt(per month). Every call also costs credits, so the budgets above usually stop spending first. - AI text answer length: up to 4,096 tokens per call on Free, 32,768 on Starter, Builder and Professional; no ceiling on Enterprise (32,768 when the call does not ask for one). A call that names no length gets that amount or the model's own maximum, whichever is lower. Upgrade.
- Cloud browser: 1 session open at a time on Free, 3 on paid plans (Ask us); a session lasts up to 15 minutes on Free, 60 on Starter, 180 on Builder and 360 on Professional and Enterprise (Upgrade).
- Web scraping: 1 call at a time per project; a call waits in a queue for its turn (Ask us).
- All built-in calls together: 100 a second per project (Ask us).
- Per visitor of the published site: 20 paid built-in calls a minute (AI, web, browser, screenshots), so nobody can spend your credits by calling a public AI page in a loop — ask the agent to change it (You); and 5,000 requests a minute, adjustable from 10 to 60,000 on paid plans with Update Rate Limit (You).
#Emergency stop
A project whose app suddenly uses far more than normal is paused: its site shows a paused page, its built-in calls answer 429 PROJECT_PAUSED_RUNAWAY, and you get an e-mail and the project.kill_switch.fired webhook. It trips on any of:
| Measured | Free | Starter | Builder | Professional | Enterprise |
|---|---|---|---|---|---|
| Credits spent by the app in one hour (UTC) | 40 | 120 | 400 | 1,200 | 4,000 |
| Requests to the site in 5 minutes | 10,000 | 400,000 | 400,000 | 1,200,000 | 3,000,000 |
| Database rows written in 5 minutes | 200,000 | 5 million | 5 million | 15 million | 60 million |
| Database rows read in 5 minutes | 50 million | 1 billion | 1 billion | 3 billion | 15 billion |
It also trips on unusually costly use of built-in features within one hour. Prompts never count, nor does the hour's single largest call (one long video paid up front).
- Halfway: once the app has spent half of its hourly credits above, its image, video and speech AI calls answer
429 AI_MEDIA_PAUSED_THIS_HOURuntil the hour ends; text AI and everything else keep working. - Lifting it: the pause lifts by itself after 24 hours. Fix the cause, then lift it at once with Bring it back online in the project's workspace or with Release Runaway Pause (free, also clears the halfway pause).
- Change it: Upgrade. The thresholds are not raised per project; releasing the pause is in your hands.
#Database
Each project has a development and a live database (SQL, SQLite on Cloudflare D1).
| Limit | Value | Change it |
|---|---|---|
| Size, per database | 10 GB | Move to Turso (Builder and above) |
| Queries a minute | Free 300 · Starter 20,000 · Builder and above no limit | Upgrade |
| Writes a minute | Free 120 · Starter 6,000 · Builder and above no limit | Upgrade |
| One row, string or value | 2 MB (keep files in file storage) | No |
| Columns per table | 100 | No |
| Bound parameters per query | 100 | No |
| SQL statement | 100 KB | No |
| Query duration | 30 s | No |
| Queries per request | 1,000 | No |
| Throughput | About 300 queries a second per database copy (reads are spread over copies near visitors) | Move to Turso |
| Point-in-time restore | Any minute of the last 30 days, every plan | No |
| Nightly backups of the live database | Paid plans: 7 daily, 4 weekly, and 3 (Builder), 6 (Professional) or 12 (Enterprise) monthly | Upgrade |
How to write code that fits them: Design for the Limits.
#Files and storage
| Limit | Free | Starter | Builder | Professional | Enterprise | Change it |
|---|---|---|---|---|---|---|
| Largest file the app can upload | 50 MB | 500 MB | 500 MB | 500 MB | 1 GB | Upgrade |
| Storage per project | 1 GB | 100 GB | 100 GB | 100 GB | 10 TB | Upgrade |
Files uploaded through the API: 20 MB each and 300 a minute. Backups count as storage.
#Real-time
| Limit | Free | Starter | Builder | Professional | Enterprise |
|---|---|---|---|---|---|
| Live rooms per project | 5 | 1,000 | 1,000 | 1,000 | No limit |
| Connections at once per project | 20 | 5,000 | 5,000 | 5,000 | No limit |
| Messages a minute per connection | 120 | 600 | 1,200 | 1,800 | 3,600 |
| Message size | 32 KB | 128 KB | 256 KB | 1 MB | 4 MB |
Change it: Upgrade. One room handles about 1,000 messages a second in total.
#Scheduled jobs
| Limit | Free | Starter | Builder and above | Change it |
|---|---|---|---|---|
| Jobs per project and environment | 2 | 10 | 20 | Ask us (past 20) |
| Shortest interval | 1 hour | 1 minute | 1 minute | Upgrade |
A job pauses after 3 failed runs in a row, unless it sets its own number.
#Domains
| Limit | Value | Change it |
|---|---|---|
| Custom domains per project | 1 (any paid plan, on every project) | No |
| Buying domains | Starter and above; at most 5 purchases a day | Upgrade |
| Domains held at once | Starter 3 · Builder 10 · Professional 50 · Enterprise unlimited | Upgrade |
| Very expensive (premium) domains | Not offered | No |
| Renewal | Charged to your card 30 days before expiry (retried 21 and 15 days before). Not paid 14 days before expiry → automatic renewal is switched off; you can still renew by hand until the expiry | You |
A domain's first year can cost less than its yearly renewal: both prices are shown before you buy.
#Agent, prompts and code
| Limit | Value | Change it |
|---|---|---|
| Prompt | 40,000 characters, up to 10 attachments | No |
| Multi-prompt batch | 50 prompts | No |
| One prompt's run | Up to about 40 minutes, then the agent wraps up and saves its work | Ask us |
| At the same time, per project | One prompt, one publish, one restore or import | No |
| Custom MCP servers for the agent | 10 per project | No |
| Secrets | 500 per project, each value up to 10,000 characters | No |
| Files read / written through the API | 1 MB read, 512 KB written; 300 writes a minute | No |
| Export / import | 5 exports an hour per project; imports 1 a minute and 5 an hour | No |
| Mobile app builds | Paid plans; 1 build per project per hour, queued when others are running (up to 60 minutes) | No |
| Project groups | 3,000 per account, 100,000 projects per group | No |
All API request limits: Errors & Limits.
#Idle projects
| Plan | What happens | Change it |
|---|---|---|
| Free | After 60 days without use the project sleeps and its site goes offline until a prompt or a server restart wakes it (e-mails 7 days and 1 day before). After 180 days it is deleted (e-mails 30, 7 and 1 days before, with a download link). | Upgrade |
| Paid plans | Never put to sleep or deleted for inactivity | — |
Any project wakes from a short idle period by itself on its next prompt.
