# Why did my Supabase bill suddenly go up?

Source: https://www.plutonapps.com/resources/supabase-bill-suddenly-high

Published 2026-10-12, sources checked 2026-10-12. By Irfan Habib (https://www.plutonapps.com/authors/irfan-habib).

A bigger Supabase invoice usually means one usage item grew past its quota, most often data sent out of the database or storage. Here is how to find which one, stop it, and cap it.

As of October 12, 2026, a Supabase bill that suddenly goes up almost always has one of three causes: a usage item passed its plan quota while the Spend Cap was off, a project's compute size was raised or a new project was added, or something started pulling far more data than it needs. In apps built with AI tools, the last one is the usual culprit: pages that download whole tables or full-size images on every load, or a loop that keeps calling the database. Open your organization's Usage page, find the line that grew, fix the code behind it, and turn the Spend Cap on if you are on Pro. On Lovable Cloud there is no Supabase invoice: the same usage shows up as Lovable run credits.

This guide is for founders who built an app in Lovable and are now looking at a bill, or a credit balance, that is bigger than expected. It covers how Supabase charges, the usual causes, where to look, how to cap spend, and how Lovable Cloud differs. Platform facts come from Supabase's and Lovable's documentation, listed under Sources. We name usage items rather than quote prices, which change.

## How does Supabase billing work?

Supabase bills per organization, not per project. Each organization has one plan (Free, Pro, Team or Enterprise) and one monthly billing cycle, starting on the day the organization was created. A paid plan has a fixed fee plus usage fees.

- Compute: every project runs its own database server, billed by the hour whether anyone uses it or not. Paid plans include Compute Credits that cover one small project; each extra project adds its own charge.
- Usage items: egress (data sent out), disk size, storage size, monthly active users, edge function invocations, Realtime, image transformations and logs. You pay only above each quota, which every project in the organization shares.
- Add-ons per project: bigger compute, read replicas, custom domains, point-in-time recovery, IPv4 and similar.

One detail explains a lot of surprise. The invoice charges the plan fee for the coming month in advance, but usage for the month just ended in arrears. Today's bill reflects what your app did last month.

## What usually makes the bill jump in an AI-built app?

The usual pattern is code that works fine with ten test users and gets expensive with real ones.

| Usage item | What it measures | Common cause in a Lovable app |
| --- | --- | --- |
| Egress | Data sent from Supabase to browsers and other clients | Fetching whole tables on every page load; full-size photos with no resizing or caching |
| Compute | Hours each project's database server runs, at its size | A bigger compute size, or extra projects left running |
| Storage size | Files kept in storage buckets | No upload size limit; files never deleted |
| Edge function invocations | Every call to a server function, whatever its result | A function called on every render, or retrying in a loop |
| Realtime messages | Each change counts once per listening client | Live updates on a whole busy table |
| Monthly active users | Distinct users who sign in or refresh a session | Real growth, or bots using an open sign-up form |
| Disk size | The database disk provisioned for a project | Large tables or files stored in the database |

Three notes from Supabase's docs help. Images typically make up most of storage egress. Edge function invocations are charged whatever the response status, so failed calls count. And compute is never resized automatically, so a compute jump means someone changed it.

A scraper or bot hitting a public page that loads a large table drives egress like real users do. If one path suddenly dominates your logs, that is a [rate limiting](https://www.plutonapps.com/resources/what-is-rate-limiting) problem as much as a billing one. If users also say the app feels slow, the same fixes help both; see [why a Lovable app gets slow with real users](https://www.plutonapps.com/resources/lovable-app-slow-with-real-users).

## How do I find what is driving my Supabase bill?

You need owner or admin access to the Supabase organization.

1. **Open the latest invoice** In the dashboard, open your organization, then Billing, then Invoices. Each usage item shows its quota as a discount. The biggest charge beyond the plan fee is where to look.
2. **Open the Usage page** Open the organization's Usage page. Pick one project from the dropdown, widen the time period, and note the chart with a sudden step up and the date it started.
3. **Break egress down by service** In the Total Egress chart, hover over a day to see egress split by service: database, pooler, auth, storage, edge functions, Realtime and log drains. Cached egress has its own chart below.
4. **Find the heavy queries** If database egress leads, open Advisors, then Query performance. It lists the most frequent queries and the average rows returned. A frequent query returning hundreds of rows is the likely cause.
5. **Check which paths are being hit** In the project's Logs, query API gateway events. One path called far more often than you have users points to a loop, polling or a bot.
6. **Check compute and projects** In Compute Hours, check whether a project changed size or a new one appeared, and match the date to what changed in the app that week.

Write down the item, the date and the suspected feature. That is what Lovable or an engineer needs to fix it.

## How do I cap my Supabase spend?

On the Pro plan, use the Spend Cap. It is on by default, so if overages grew your bill, check whether someone switched it off. It sits in the Cost Control section of the organization's Billing page.

- Cap on: a covered item stops at its quota until the next cycle, with no overage charge. That part of your app can stop working.
- Cap off: projects run past the quota and each extra unit is billed.
- The cap covers disk size, egress, edge function invocations, logs, monthly active users, Realtime, image transformations and storage size.
- It does not cover compute, read replicas, branching, custom domains, extra disk performance, IPv4, log drains, phone MFA or point-in-time recovery, which Supabase treats as predictable opt-ins.
- Team and Enterprise plans always pay overages; the Spend Cap is a Pro plan control.

There are no per-item budgets or cost-threshold alerts. With the cap off, check the Usage page and the Upcoming Invoice section of the Billing page, which estimates the cycle's total, every week or two. Supabase does not give refunds; if an invoice still looks wrong, open a support ticket with the invoice number.

## What if my app runs on Lovable Cloud?

[Lovable Cloud](https://www.plutonapps.com/resources/what-is-lovable-cloud) is built on Supabase's open-source foundation, but Lovable's docs say it is not an external Supabase project, so there is no Supabase invoice. Cloud usage comes out of your workspace's single credit balance, shown as run credits alongside AI features in your app. Prompting shows as build credits, from the same balance.

Cloud charges for database server and storage, network, file storage, compute and Realtime. Free, Pro and Business plans each get a monthly grant of 20 Cloud credits that does not roll over; Lovable calls this temporary and subject to change.

1. **See the workspace total** Workspace settings, then Plans & credit usage, then Usage details. Filter run credits by project.
2. **See one project's breakdown** In the project, More, then Cloud, then Usage. A daily chart lists categories from highest to lowest: database, AI, compute, network, storage, Realtime. Network is what Supabase calls egress.
3. **Check the instance size** More, then Cloud, then Overview, then Advanced settings. A larger instance uses more credits per hour; Lovable shows an estimated monthly cost per size.
4. **Set limits and alerts** Workspace settings, then Usage limits & alerts (owners and admins, paid plans). A project limit on run or Cloud credits can alert or pause. Paused, the page loads but database, login and storage stop. Member limits count only build credits.

At zero credits, Lovable says the backend pauses shortly after and AI features stop; published pages keep serving. Adding credits may not restart it, so use Wake up under More, then Cloud, then Overview. If auto top-up is on, set its monthly spend limit. Our guide to [Lovable credits running out](https://www.plutonapps.com/resources/lovable-credits-running-out) covers the build side.

Lovable's tips, in its order: pause an unused backend, right-size the instance, fix slow queries, delete unused files (they use credits even while paused), review scheduled jobs, and remove Cloud where no backend is needed, which deletes its data. For direct control of the bill, the [migration guide](https://www.plutonapps.com/guides/migrate-off-lovable-cloud) covers moving to your own [Supabase](https://www.plutonapps.com/resources/what-is-supabase) project.

## What can I prompt Lovable to fix?

Most egress fixes are small code changes Lovable can make once you name the page or table. Supabase advises selecting fewer fields and rows, fewer queries with caching, not returning full rows after writes, and for storage, resized images, long cache lifetimes and upload limits. Name the evidence:

> **Prompt to paste into Lovable** My Supabase egress jumped. The [page name] page loads the [table name] table. Change every query on that page to select only the columns the page displays, add pagination of 25 rows, and stop it re-fetching on every render or on a timer. Do not return the full row after inserts or updates. For images, serve resized thumbnails instead of the original files and set a long cache-control value. Set a maximum upload size on the storage bucket. List every file you changed.

Prompting cannot see your usage. Lovable does not read your invoice or know which query is heavy unless you tell it, and it cannot judge whether a bot is abusing an endpoint or a compute upgrade was needed. Watch the Usage page for a few days after a fix. If the cost returns with the next feature, the cause is structural; see [scaling a Lovable app](https://www.plutonapps.com/resources/scaling-a-lovable-app).

## When should you stop prompting and get help?

A higher bill on its own is not an emergency. Get an engineer involved when any of these is true:

- The bill keeps growing faster than your number of users, and you cannot tell why.
- You suspect a bot or scraper, or someone is calling your edge functions directly.
- The Spend Cap or a Lovable limit is blocking features paying customers rely on.
- You have prompted the same fix three times and the usage line has not moved.
- You are deciding whether to upgrade compute, add projects, or move off Lovable Cloud, and the choice affects cost for years.

Our [vibe-coding rescue service](https://www.plutonapps.com/services/vibe-coding-rescue) is built for this: engineers find what drives cost, fix it, and add monitoring so you hear about the next spike before the invoice does. To see where your app stands, take the free [production-readiness check](https://www.plutonapps.com/tools/production-readiness-check).

Hosting is one part of running costs; see [app maintenance cost](https://www.plutonapps.com/resources/app-maintenance-cost). Our plans are on the [pricing page](https://www.plutonapps.com/pricing).

## Sources

All checked on October 12, 2026. Prices are deliberately not quoted here; see Supabase's pricing page for current figures.

- Supabase docs: About billing on Supabase, on organization billing, plan fee, compute and usage items with shared quotas ([supabase.com/docs/guides/platform/billing-on-supabase](https://supabase.com/docs/guides/platform/billing-on-supabase)).
- Supabase docs: Your monthly invoice, on the billing cycle, fixed fees in advance and usage in arrears, and finding invoices ([supabase.com/docs/guides/platform/your-monthly-invoice](https://supabase.com/docs/guides/platform/your-monthly-invoice)).
- Supabase docs: Control your costs, on the Spend Cap, the items it covers and excludes, and the Upcoming Invoice estimate ([supabase.com/docs/guides/platform/cost-control](https://supabase.com/docs/guides/platform/cost-control)).
- Supabase docs: Billing FAQ, on refunds and support tickets for an invoice that looks wrong ([supabase.com/docs/guides/platform/billing-faq](https://supabase.com/docs/guides/platform/billing-faq)).
- Supabase docs: Manage Egress usage, on what counts as egress, the usage chart by service, cached egress and reducing egress ([supabase.com/docs/guides/platform/manage-your-usage/egress](https://supabase.com/docs/guides/platform/manage-your-usage/egress)).
- Supabase docs: Manage Compute usage, on hourly billing, Compute Credits and no automatic resizing ([supabase.com/docs/guides/platform/manage-your-usage/compute](https://supabase.com/docs/guides/platform/manage-your-usage/compute)).
- Supabase docs: Manage Edge Function Invocations usage, on invocations billed regardless of status code ([supabase.com/docs/guides/platform/manage-your-usage/edge-function-invocations](https://supabase.com/docs/guides/platform/manage-your-usage/edge-function-invocations)).
- Supabase docs: Manage Realtime Messages usage, on one message per listening client ([supabase.com/docs/guides/platform/manage-your-usage/realtime-messages](https://supabase.com/docs/guides/platform/manage-your-usage/realtime-messages)).
- Supabase docs: Manage Monthly Active Users usage, on how users are counted ([supabase.com/docs/guides/platform/manage-your-usage/monthly-active-users](https://supabase.com/docs/guides/platform/manage-your-usage/monthly-active-users)).
- Supabase docs: Manage Disk Size usage, on provisioned disk and Team plan overages ([supabase.com/docs/guides/platform/manage-your-usage/disk-size](https://supabase.com/docs/guides/platform/manage-your-usage/disk-size)).
- Supabase docs: Storage optimizations, on images driving egress, Smart CDN, cache-control and upload size limits ([supabase.com/docs/guides/storage/production/scaling](https://supabase.com/docs/guides/storage/production/scaling)).
- Supabase: Pricing, on plans, the Spend Cap being on by default on Pro, and current prices ([supabase.com/pricing](https://supabase.com/pricing)).
- Lovable docs: Credits and usage, on run and build credits, the monthly Cloud grant, what happens at zero balance, and auto top-up ([docs.lovable.dev/introduction/credits-and-usage](https://docs.lovable.dev/introduction/credits-and-usage)).
- Lovable docs: Project usage and costs, on the Cloud Usage view, its categories, instance size and tips to reduce usage ([docs.lovable.dev/features/project-usage](https://docs.lovable.dev/features/project-usage)).
- Lovable docs: Usage limits and alerts, on low-balance alerts, project and member limits, and what a paused Cloud backend stops ([docs.lovable.dev/features/usage-limits-and-alerts](https://docs.lovable.dev/features/usage-limits-and-alerts)).
- Lovable docs: Lovable Cloud, on Cloud not being an external Supabase project and resizing the instance ([docs.lovable.dev/integrations/cloud](https://docs.lovable.dev/integrations/cloud)).

## Frequently asked questions

### Why is my Supabase bill higher than the plan price?

A paid plan's fee covers the plan, but compute and usage above the included quotas are billed on top. Each extra project adds its own compute charge, and some items, such as custom domains and IPv4, are never covered by the Spend Cap. Usage is billed a month in arrears, so today's invoice reflects last month's activity.

### What is Supabase egress and why is it so high?

Egress is the data Supabase sends out to your users' browsers and other clients, from the database, storage, auth, edge functions and Realtime. In AI-built apps it is usually high because pages fetch whole tables or full-size images on every load. The Usage page breaks egress down by service so you can see which one grew.

### Does the Supabase Spend Cap stop all charges?

No. On the Pro plan it stops overage charges for items such as egress, storage, monthly active users and edge function invocations, by blocking use past the quota until the next cycle. It does not cover compute, custom domains, IPv4, read replicas or point-in-time recovery. Team and Enterprise plans always pay overages.

### Do I pay Supabase if my app uses Lovable Cloud?

No. Lovable Cloud is built on Supabase's open-source foundation but is not an external Supabase project, so there is no Supabase invoice. Cloud usage is taken from your Lovable workspace's credit balance as run credits. You can see it per project under More, then Cloud, then Usage.

### What happens when my Lovable credits run out?

Lovable's docs say the app's built-in backend pauses shortly after the workspace runs out of credits, and AI features in the app stop. Published pages keep serving, but anything that needs the database does not. After adding credits you may need to press Wake up under More, then Cloud, then Overview.
