Supabase app suddenly stopped working: 540 "project paused"

Every request to https://<project-ref>.supabase.co fails; the Network tab or Supabase logs show status 540 (project paused)

What you see

You built the app with Lovable, Bolt or Cursor on a free Supabase project. It worked when you shipped it. A week or two later, nobody can sign in and every page that loads data is empty or shows an error. You haven’t changed any code.

Open the browser Network tab, reload, and click a failed request to https://<project-ref>.supabase.co. If the status is 540, the project is paused. You probably also have an email from Supabase about it.

Why it happens

Supabase pauses Free Plan projects that don’t get enough user database activity over a 7-day period. You can be using the project and still get paused if the traffic is light. Supabase says a few user requests to the database each day over the previous week is typically enough to avoid it, and its FAQ adds that this isn’t a guarantee.

Supabase’s status code guide defines 540 as “project paused”: the project cannot process requests until the owner un-pauses it. Free projects can be paused for inactivity, on the owner’s request, or rarely for abuse.

Before the pause, Supabase emails the project owner a warning roughly a week ahead, then a confirmation once it’s paused. If you signed up with an address you don’t check, that’s why this felt sudden.

Fix it

  1. Open the Supabase Dashboard.
  2. Select the organization, then the paused project.
  3. Click Resume project and confirm.
  4. When the project is active again, reload your live app. Sign in once and open one page that reads data.

Supabase says the project returns to its previous state, including data and configuration. You don’t need new API keys or a new project URL, so don’t ask your AI builder to “reconnect Supabase” or create a new project. That just gives you an empty database.

Restore window

Supabase’s docs say you can restore a paused project from the dashboard for up to 1 year after it was paused. After that, the restore button is gone. Supabase has a separate guide for downloading the backup and Storage files and moving them to a new project.

Stop it happening again

  • Upgrade if people rely on it. Supabase’s pricing page says projects on paid plans aren’t paused for inactivity. Pro starts at $25/month, and its $10/month compute credit covers one project on Micro compute. Its FAQ is blunt: if people rely on what you’re building, even with light traffic, upgrade.
  • Keep the warning email reachable. The owner gets the warning about a week ahead. Opening the project in the dashboard or sending real requests from your app counts as activity and can prevent the pause.
  • Watch the live app. An uptime monitor that loads a page which reads from the database will alert you when that page breaks, paused project or not. Supabase doesn’t say whether these requests count as enough activity, so treat it as an alarm, not a keep-alive.
  • Know your free project limit. The Free plan allows 2 active projects, and paused projects don’t count towards it. A forgotten demo project can stay paused while your real app keeps a free slot.

Not the same as 402

If the status is 402, the project isn’t paused. Supabase uses 402 when it has restricted the organization under its Fair Use Policy, for example after going over the free quota (exceed_egress_quota, exceed_db_size_quota) or for an overdue bill (overdue_payment). The response includes the reason, and Supabase says you can still reach your data in the dashboard. Resuming won’t help. Reduce usage or upgrade instead.

Check it worked

The request that returned 540 now returns 200, a fresh sign-in works, and pages that read data show it again.