Base44 credits are two different bills hiding behind one word

Daniel Frishtik

Daniel Frishtik

Founder of EscapeBase44 ·

Base44 has two separate credit balances: message credits pay the AI builder to change your app, while integration credits pay for built-in actions performed by the builder and by people using your live app. They cannot cover each other. Both are shared across every app and member in your workspace. Running out of message credits stops you from building. Running out of integration credits can make user-facing features fail.

So if you still have 8,000 integration credits but Base44 will not let you send another prompt, you are not missing a conversion button. And if your live AI feature stopped while you still have message credits, those credits cannot save it. I know how absurd that feels when both balances are simply called "credits." Here is the whole system in normal language, including what each action costs, where the credits really go and what to do when the math no longer works.

The two credit pools do completely different jobs

Message credits buy attempts to change the app. Integration credits fuel actions the app performs. That distinction is the key to everything else.

While building

Message credits

Used when you chat with the Base44 builder to plan, add, change or fix something. Base44 estimates about 0.5 for a simple visual change, 1 for a small feature, 2 for a complex module and 3 to 4 for a large app-wide request.

Discuss mode costs about 0.3. Direct text, spacing and layout changes made with the visual editor cost zero.

While building and running

Integration credits

Used by Base44's built-in email, file, image, video, speech, LLM, agent and automation actions. Your live users can spend them without ever opening the builder.

Ordinary database reads and writes do not use integration credits. Calling an external service through your own backend function and API key bills that service directly instead.

There is one wrinkle the neat two-column explanation misses: building can touch both pools. I tested a completely ordinary request on my own Base44 account: build a one-page grocery list. Base44 charged exactly 1.2 message credits and 1 integration credit. The selected Automatic model routed to Base44's own Base 1 model. So "message credits are for building, integration credits are only for users" is a useful starting point, but not the whole truth.

Both balances belong to the workspace, not the individual app or person. Your old test app, your live client app and a teammate experimenting in the builder all draw from the same two buckets. Moving app ownership inside the same empty workspace does not refill them. A separate workspace has its own subscription and pools.

One integration credit is not one API call

Integration credits are a price list, not a unit of work. The number of calls your plan can support depends entirely on which Base44 actions those calls trigger.

Base44 actionIntegration creditsWhat that means
Send an email110,000 credits can send 10,000 standard emails
Send from your custom domain2The same pool sends 5,000
Upload a file1Processing the file can add more actions
Extract data from a file1Upload plus extraction is at least 2
Generate an image1One generation, regardless of whether you use it
Generate video5 per secondA 10-second result uses 50
Text to speech1 per 50 charactersA 1,000-character passage uses about 20
Automatic LLM callabout 310,000 credits support about 3,333 isolated calls
Gemini 3 Flash callabout 510,000 credits support about 2,000 isolated calls
GPT-5 callabout 1510,000 credits support about 666 isolated calls
Agent messageabout 3, 5 or 15It follows the agent's selected model
Automation run1 plus every actionThe trigger is only the beginning of the bill

An automation that calls the Automatic LLM and then sends an email uses about five credits: one for the automation, three for the model and one for the email. If it also uploads and extracts a file, that same "one automation" is now about seven. If a step fails and retries, it can cost more.

Base44 calculates message costs after the builder finishes. Integration actions have no price preview either. Base44's own advice is to perform one controlled test and inspect the logs. In other words, the only reliable quote for a real workflow is a small live experiment.

10,000 credits can mean 10,000 emails or 666 GPT-5 calls

The plan number is almost meaningless until you divide it by what one user actually does. This is where a harmless-looking app turns into a frightening bill.

Builder includes 10,000 integration credits. Imagine your average customer performs 100 credit-using actions each month. If every action is a standard email or upload at one credit, the pool supports about 100 monthly customers. If every action is an Automatic LLM call at three credits, it supports about 33. If every action is GPT-5 at fifteen, it supports about six.

The only capacity formula you need

Monthly users supported = your integration-credit pool divided by the average integration credits one user consumes per month.

A Base44 user emailed me after doing this calculation for his own app. He had 10,000 integration credits and expected roughly 100 API actions per customer each month. He wondered if Builder effectively capped him at 100 customers. Then he ran out in less than a week and wrote that his clients needed the app to work immediately.

His concern was right, but even his calculation was optimistic. One "API action" can be three, five or fifteen credits, and a single button can trigger several actions. Your real denominator must include the whole chain: automation, AI model, email, files, retries and anything else the click causes.

This is why a 50 to 100 daily-user app can exhaust a serious plan while a static directory with 10,000 visitors barely touches the pool. Traffic does not spend integration credits by itself. Metered behavior does.

Credits disappear fastest in correction loops and hidden chains

The worst drain is rarely one expensive prompt. It is one request quietly becoming five prompts, or one user action fanning out into several integration calls.

I have emails from someone who burned 1,200 credits trying to get regression bugs fixed, and from a noncoder who had barely started before she was already stuck and "burning through credits." Reddit and Base44's own feedback forum are full of the same sentence in different words: I paid for the change, it did not work, and now I am paying again to ask for the change I already asked for.

That feeling is not imaginary. Base44 charges based on the work the AI performed, not on whether you approve the result. If the builder misunderstands you, says it changed files it did not change, or breaks something else, the first run can still count. The correction is a new run. Base44's current policy says credits charged for AI mistakes are not refunded.

AI models make mistakes everywhere. Claude Code, Cursor and Codex do too. That does not make it reasonable to hide the financial consequence. Base44 tells you the message charge only after the work, while integration actions can execute in the background across all your apps. The product now has much better usage screens, but you still learn the cost of a new workflow by running it.

What happens when either balance reaches zero

Zero message credits stops new builder work. Zero integration credits can stop parts of the live app your customers are already using.

Out of message credits

You cannot keep changing the app through AI chat until credits renew, you add more or you upgrade. The existing live app does not fail merely because this balance is zero. Any integration credits left are not convertible.

Out of integration credits

Email, AI, agents, uploads, generated media and automations that depend on Base44 credits fail. The person using your app sees a generic error, not "the owner ran out of credits." Database reads and writes can continue.

Base44's own 90% warning email is blunt: any apps relying on integration credits will stop working until credits reset or you upgrade. This does not mean the entire backend always goes offline. It means every credit-dependent path is now a trapdoor. A customer might browse records normally, then get a mystery error the moment they upload a file or ask the AI a question.

Credits renew on your billing timestamp and unused credits disappear

Paid-plan credits reset monthly at the exact date and UTC time your subscription renews. They do not roll over. If you have 600 left at reset, those 600 expire and the new monthly allowance replaces them.

PlanMonthly priceMessage creditsIntegration credits
Free$025, max 5/day100
Starter$201002,000
Builder$5025010,000
Pro$10050020,000

Elite offers higher selectable allowances. The important pattern is visible before you get there: Starter, Builder and Pro all bundle message credits at roughly 20 cents per credit if you divide the plan price by the message allowance. That is not the literal price of each prompt because the subscription also includes hosting and features. It is the marginal choice you face when the only reason you are upgrading is more messages.

To see your actual reset moment, click your workspace name, then Settings and Credit usage. That page shows used and available balances, daily activity and message usage by app. For integration details, open the app's Dashboard, Overview, then App usage. For a builder request, open More Actions on the prompt to see its message cost.

How to get more Base44 credits right now

Check for a one-time top-up first. If Base44 does not show it on your account, the only immediate official route is usually an upgrade.

  1. Look for Buy extra credits

    Open workspace Settings, then Credit usage. Base44 has rolled out one-time message-credit purchases for some active paid accounts when they are low or empty. It is the cleanest answer to a one-off spike.

    The catch is real: Base44 does not publish a universal balance threshold or current package list, and the button is not visible to every account. I checked an active Builder workspace with 209.82 message credits remaining and there was no purchase option. If you cannot see it, there is no hidden URL I can honestly send you to.

  2. Upgrade the workspace

    This replenishes the plan limits immediately, but it also changes the recurring bill. Read the final checkout screen carefully, especially monthly versus annual. An upgrade makes sense when the higher usage is your new normal. It is a bad answer when you need ten credits to finish one correction.

  3. Use a legitimate bonus route

    Base44 offers referral credits, occasional coupons or gift cards, and a one-time social-sharing reward for qualifying accounts with more than 100 followers. These can help with building. They are not a capacity plan for a live app, and referral bonuses expire 40 days after you earn them.

  4. Wait for the reset

    It costs nothing. It is also unacceptable if customers are staring at errors. Waiting is reasonable for a hobby build and reckless for a live credit-dependent workflow.

Use fewer credits, but do not turn prompting into a second job

A little discipline saves a lot of credits. No prompting trick can rescue an app whose normal users simply cost more than the monthly pool supports.

  • Use the visual editor for visual work. Direct changes to text, spacing and layout do not use message credits.
  • Discuss before implementing. Discuss mode costs about 0.3 credits. Use it to make Base44 restate the request, identify affected files and surface questions, then send one implementation message.
  • Give acceptance criteria. Say what must change, what must stay unchanged and how you will know it worked. Batch closely related edits, but do not hide five unrelated systems inside one giant prompt.
  • Measure the app, not your memory. Use the per-app and per-prompt breakdown before blaming the feature you happened to work on last.
  • Bring your own model key when runtime AI dominates. A backend function can call OpenAI, Gemini or another provider directly. One Base44 user who moved most InvokeLLM work to Gemini reported his daily integration usage falling almost 60%. Your result will depend on the app, and you now pay the model provider instead.
  • Cache and reuse expensive results. Do not regenerate an image, summary or search result every time if the answer is still valid. Put limits on automation retries so one bad input cannot loop through the pool.

Bringing your own AI key is a strong partial fix. It does not move Base44 email, uploads, generated media or agents off the credit system, and it does not make the rest of the app independent from Base44.

Are Base44 credits actually a rip-off?

Not in the simple way people usually mean. Good AI models cost real money, and somebody has to pay for the database, file storage, email and compute underneath a live app.

I tested Base44's builder economics directly because I did not want to repeat guesses. The same simple task cost 1.2 message credits across Base 1, Sonnet 5, Opus 4.8, Fable 5 and GPT-5.5. The charge followed task complexity, not token count or model price. At public provider rates, several premium-model runs appear to cost Base44 more than the slice of plan revenue represented by 1.2 credits. Automatic can also route to Base44's own model, where its economics are completely different.

So the easy accusation, "Base44 buys cheap tokens and marks every one up massively," is not true. The real criticism is harder to dismiss: you learn the cost after the work, failed work can still cost you, unused monthly credits vanish, the two pools cannot help each other, and an empty integration pool breaks live features without telling your users why.

My verdict is simple. If Base44 lets you build faster than you could anywhere else, the app earns more than it costs, and integration usage is predictable, paying is completely rational. I used to be a huge fan for exactly that reason. But if every new user is a credit liability, or one correction loop keeps forcing you up another plan, this is not a prompting problem anymore. It is the wrong infrastructure for the app.

Your options, honestly

  1. Stay on Base44 and optimize

    Best when you are still actively building, the AI is saving you real time and your live app uses few integrations. Inspect usage, switch visual work to Edit mode and design integrations around the pool. If the economics work, there is no prize for leaving.

  2. Bring your own API keys

    Best when InvokeLLM is the obvious drain. You keep Base44 for the app and pay OpenAI, Gemini or another provider for model calls directly. This can transform the math, but only for the actions you replace.

  3. Export and rebuild the missing pieces

    Viable if you are technical and the app is simple. Base44's ZIP and GitHub options give you real frontend and function source, but the live database, login system and Base44 runtime do not become yours just because the files are on GitHub. The full distinction is in my Base44 export guide.

  4. Move the whole app

    This is what I ended up doing. I loved how quickly Base44 got me started, then spent months running into one very specific constraint after another while the app stayed tied to their backend. I did not want to rebuild the product I had already made.

    So I built EscapeBase44 to migrate the entire thing as is: frontend, backend, database, users, auth, functions, automations, integrations, files, agents, security setup and all the weird configs around them. It deploys onto accounts you own. Your original Base44 app stays untouched while you verify the migrated one.

    Afterward you can keep building with AI, edit manually or use another tool. The AI option is pay as you go and completely optional. There is no EscapeBase44 subscription keeping the app alive. Hosting, models, email and other providers can still cost money when you use them, but the app is no longer powered by two Base44 credit pools you cannot control.

    If the bigger problem is that your finished app needs a permanent Builder plan, read what happens when you stop paying Base44.

Contact me at daniel.frishtik@gmail.com. I answer immediately.

Your users should not become a credit emergency.

See how the migration worksAlready sure?

Base44 credits FAQ

  • What is the difference between Base44 message credits and integration credits?

    Message credits pay for the AI builder to plan, change or fix your app. Integration credits pay for Base44's built-in actions, including email, file uploads, generated media, LLM calls, agents and automations. Live app users can consume integration credits. The two balances are separate and cannot cover each other.

  • Can I use integration credits as message credits?

    No. Base44 does not let you convert or transfer integration credits into message credits, or the reverse. You can have thousands of integration credits left and still be unable to send another builder message.

  • How many integration credits does Base44 use?

    It depends on the action. A standard email, file upload or generated image uses 1 credit. An Automatic LLM call uses about 3, Gemini 3 Flash about 5 and GPT-5 about 15. An automation adds 1 credit for the run plus every action inside it. Database reads and writes use none.

  • When do Base44 credits renew?

    Paid-plan credits reset monthly at the exact UTC date and time your subscription renews. Open workspace Settings, then Credit usage, to see that moment. Free workspaces receive up to 5 message credits per day, capped at 25 per month.

  • Do unused Base44 credits roll over?

    No. Unused monthly plan credits expire when the billing cycle resets. Referral credits are separate: they expire 40 days after you earn them and do not increase the next monthly allowance.

  • Can I buy more Base44 credits without upgrading?

    Some active paid accounts see an option to buy extra message credits when their balance gets low. Check workspace Settings, then Credit usage. Base44 does not publish a universal threshold or current package list, and the button is not visible on every account, so upgrading or waiting for renewal may still be the only options shown to you.

  • What happens when Base44 integration credits run out?

    Built-in actions that require integration credits fail until the balance resets or you add more. That can include AI features, agents, email, uploads, generated media and automations. People using the app see a generic error that does not tell them the owner ran out of credits. Database reads and writes can continue because they do not use integration credits.

  • Does Base44 charge credits when the AI makes a mistake?

    Yes. Base44 calculates the message charge after the work runs, and correcting a failed or misunderstood change can consume more credits. Base44's current policy says credits charged for AI mistakes are not refunded.

  • How do I see which Base44 app used my credits?

    Open your workspace name, Settings, then Credit usage. The page separates message and integration usage, shows daily activity and breaks consumption down by app. Inside a specific app, Dashboard, Overview, App usage shows its integration sources. A builder prompt's More Actions menu shows that prompt's message cost.

  • Can I use my own OpenAI or Gemini API key in Base44?

    Yes. Call the provider through a backend function using your own API key instead of Base44's built-in InvokeLLM action. The external call then bills the provider directly rather than using Base44 integration credits. This can reduce AI usage, but it does not replace credits used by Base44 email, uploads, generated media or other built-ins.