For most SaaS startups, Supabase is the best default backend: Postgres, row-level security and predictable pricing. Firebase suits mobile and offline apps, Appwrite and PocketBase suit self-hosting, and Convex suits real-time TypeScript apps. None of them bills your customers. Add Stripe Billing, a merchant of record such as Paddle, or tiun, which covers sign-in, checkout, access and tax.
The backend by job
A SaaS backend is a set of jobs, and each job can go to a different product. Backend-as-a-service platforms compete on the first five rows. The last two sit outside every backend ranked in this guide.
Job | Common default | Alternatives |
|---|---|---|
Database | Supabase (Postgres) | Firebase (Firestore), Appwrite, Convex, AWS Amplify, Xano, PocketBase, Nhost |
Sign-in | The auth in your backend, such as Supabase or Firebase | Clerk, Auth0, tiun |
File storage | The backend that holds your database | A separate storage service |
Realtime | The backend that holds your database | Convex, built for real-time TypeScript apps |
Functions | The backend that holds your database (on Firebase, the Blaze plan) | Your hosting platform, such as Vercel |
Billing and access | Stripe Billing, wired up by your own team | Clerk Billing, tiun |
Tax and merchant of record | You, when you sell through Stripe directly | Paddle, Polar, tiun |
How we judged them
We reviewed 84 answers to this question from ChatGPT, Claude, Gemini, Google AI Mode and Google AI Overviews, collected between 9 and 26 October 2026. Of the 84, 76 touched on all of the same six criteria: data model, lock-in, open source, realtime, mobile and offline support, and multi-tenancy. We kept all six. The answers said little about cost or billing. 67 of the 84 gave no price beyond Supabase's $25 Pro plan, only 14 named a billing provider (all 14 named Stripe), and none mentioned sales tax. So we added two more criteria: the price you pay at launch, taken from each vendor's pricing page on 28 October 2026, and what each backend gives you when you need to charge a customer.
Criterion | The question to ask |
|---|---|
Data model | Does your data fit relational tables, documents, or something else? |
Lock-in | How hard would it be to move your data and logic elsewhere later? |
Open source | Could you read the code and run it yourself if the hosted service changed? |
Realtime | Do you need live updates pushed to the browser or app? |
Mobile and offline | Will people use the app on a phone without a connection? |
Multi-tenancy | How will you keep each customer's data apart? |
Price at launch | What does the first paid month cost, and what makes the bill grow? |
Billing path | What does the backend give you for checkout, access and tax? |
The backends, ranked
The order follows the AI answers we reviewed. Supabase came first in 83 of the 84, Supabase and Firebase were the first two named in 78, and Appwrite and Convex usually came next. AWS Amplify, Xano and PocketBase were named less often, in 46, 19 and 10 answers. None of the answers named Nhost; we include it because its free tier has no user cap. Every product here is a sound choice for the job it suits. Each entry gives what the product suits, the price at launch and the billing path.
1. Supabase
Supabase is hosted Postgres with row-level security, which lets you write access rules into the database itself, one row at a time. For a SaaS whose data is relational (accounts, teams, projects, plans), that makes it the natural starting point. Multi-tenancy becomes a policy question: with row-level security on, the database keeps each customer's rows apart, which reduces the access logic you carry in application code. The dashboard's Table Editor turns row-level security on when it creates a table, but tables created with SQL or migrations don't get it. Make sure it is on for every table, especially those created through SQL or migrations.
Best for: web SaaS with relational data, where you want the database to enforce part of your access control.
Price at launch: the free tier covers 50,000 monthly active users (MAU) and a 500 MB database, and pauses a project after a week without activity. That pause is fine while you build and a problem once paying customers rely on the app. Pro starts at $25 a month, which includes $10 of compute credit, enough for one project on the smallest compute size. It includes 100,000 MAU, then $0.00325 for each user above that. Each extra project adds its own compute, from $10 a month.
Billing path: Supabase's Stripe Wrapper lets you query Stripe from Postgres, and can create, update or delete customers, products and subscriptions. The Stripe Sync Engine, which started at Supabase and moved to Stripe's GitHub organisation in April 2026, copies customers, subscriptions, invoices and payments into your database. Since October 2026, Stripe Data Pipeline can also sync Stripe data into a Supabase database. None of these runs your billing. The Vercel subscription starter for Next.js and Supabase was archived in January 2025. Checkout, webhook handling, renewals, entitlements and tax are yours to build or buy.
2. Firebase
Firebase stores data in Firestore, a document database that caches data on the device so apps keep working offline. The cache is on by default on Android and Apple platforms and has to be turned on for the web. Firebase is the usual choice for apps that live on phones. If your product is mobile-first, Firebase is the stronger fit than Supabase. If it is a web dashboard over relational data, the order reverses.
Best for: mobile apps and apps that must work offline.
Price at launch: the Spark plan is free. Basic Firebase Authentication for email and social sign-in has no listed user cap, and the optional upgrade to Authentication with Identity Platform is free up to 50,000 MAU. Firestore includes 50,000 reads a day. When a project goes over a Spark quota, Firebase shuts that product off until the quota resets, unless you upgrade: daily quotas such as Firestore's reset around midnight Pacific time, and monthly ones at the start of the next month. Blaze, the paid plan, is pay as you go. Cloud Functions need Blaze, so any server code you run on Firebase means a usage-based bill from the start, which makes the monthly figure harder to predict than a flat plan.
Billing path: billing needs server code that receives payment events. On Firebase that code runs in Cloud Functions, which need Blaze; you can also run it elsewhere, such as on Vercel, and write to Firestore from there. The Firebase Extensions service is deprecated and shuts down on 31 March 2027. Extensions already installed keep running, but after that date you can no longer update, reconfigure or uninstall them through Firebase. The Stripe payments extension, built by Stripe and handed to Invertase in 2023, had its repository archived in June 2026. Build new billing so it does not depend on an extension.
3. Appwrite
Appwrite suits teams that want the option to self-host, on Docker or on Kubernetes with an official Helm chart. On Appwrite Cloud, the default database, TablesDB, runs on shared infrastructure. DocumentsDB, VectorsDB, PostgreSQL and MySQL run as dedicated databases from $10 a month each, and Appwrite's docs say PostgreSQL and MySQL need a paid plan. Two of the AI answers we reviewed still listed Appwrite's database as MariaDB, the long-standing self-hosted default. The self-hosted installer now selects PostgreSQL by default.
Best for: teams that want a hosted service today with the option to run it on their own servers later.
Price at launch: the free tier covers 75,000 MAU and two projects, and pauses a project after a week without activity. Pro starts at $25 a month for one project with 200,000 MAU included, twice the allowance in Supabase's Pro plan at the same starting price. Each further project costs $15 a month, and Pro projects are not paused. Visitors from India, Nepal, Nigeria and Pakistan also see a Start plan, from $10 a month with 100,000 MAU.
Billing path: none built in. Add one of the billing options described further down.
4. Convex
Convex suits real-time apps written in TypeScript. If live updates sit at the centre of your product, such as shared editing or dashboards that change as data arrives, Convex is designed for that pattern. Convex can also be self-hosted. Its backend is released under the Functional Source License, which converts to Apache 2.0 after two years.
Best for: real-time TypeScript apps.
Price at launch: the Free & Starter plan is free with hard limits, including 1 million function calls a month. On Starter you pay as you go above those limits, at $2.20 per extra million function calls. The Professional plan costs $25 per developer a month and includes 25 million function calls, then $2 per extra million. Convex does not charge per end user, so the bill follows team size and usage.
Billing path: Convex maintains a Stripe component, still at version 0.x, that covers checkout, subscriptions, the customer portal and syncing payment events into Convex tables. You still sell through Stripe, so you are the seller, and sales tax remains your responsibility.
5. AWS Amplify
New AWS accounts opened since 15 July 2025 get up to $200 in Free Tier credits that can go towards Amplify, on a free plan that lasts up to six months or until the credits run out. After that, Amplify is pay as you go with no monthly minimum. Cognito, data and the other backend services are priced separately from hosting, each with its own free tier. Cognito's free tier does not expire and covers 10,000 MAU for direct and social sign-in. The bill has several parts that grow on their own schedules.
Best for: teams already building on AWS.
Price at launch: credits for new accounts, then usage-based, with Cognito and data on separate lines.
Billing path: none built in.
6. Xano
Xano's free tier covers 100,000 records in a Postgres database. Its first paid plan, Essential, costs $85 a month billed yearly or $99 billed monthly, the highest entry price among the backends in this guide.
Best for: teams that prefer a fixed monthly plan to usage billing.
Price at launch: free up to 100,000 records; Essential at $85 a month billed yearly, or $99 month to month.
Billing path: none built in.
7. PocketBase
PocketBase is free, open source (MIT licence) and self-hosted. There is no paid plan; you pay for the server you run it on. It is still pre-1.0 (v0.40.6, released 23 October 2026), and its README warns that full backward compatibility is not guaranteed before v1.0.0. The v0.40.6 release notes also say it will most likely be the last release published on GitHub, with future updates fetched from the author's own site. Weigh both before you build a product you plan to charge for on top of it.
Best for: early products and prototypes where you are happy to run and maintain your own server.
Price at launch: free. Your cost is hosting and the time to run it.
Billing path: none built in.
8. Nhost
Nhost's free tier includes a 1 GB database and unlimited users, and pauses after a week without activity. Pro starts at $25 a month with $15 of compute credit included; compute beyond that is billed by the minute. The entry price matches Supabase and Appwrite, and the total depends on how much compute you use.
Best for: teams that expect many users early and want a free tier with no user cap.
Price at launch: free tier as above; Pro from $25 a month, with compute above the included credit billed separately.
Billing path: none built in.
Price at launch, October 2026
Product | Free tier | First paid tier | What you pay for |
|---|---|---|---|
Supabase | 50,000 MAU, 500 MB database; pauses after a week idle | Pro from $25 a month, 100,000 MAU, then $0.00325 each | A monthly base, compute for extra projects, and users above the allowance |
Firebase | Spark: no listed cap on basic email and social sign-in; 50,000 Firestore reads a day | Blaze, pay as you go; Cloud Functions need Blaze | Usage |
Appwrite | 75,000 MAU, two projects; pauses after a week idle | Pro from $25 a month for one project, 200,000 MAU | A monthly base, plus $15 for each further project |
Convex | Free with hard limits, or pay as you go above them on Starter | Professional, $25 per developer a month plus usage | Developers on the team, plus usage |
AWS Amplify | New accounts: up to $200 in credits, free plan up to six months | Pay as you go; Cognito and data priced separately | Usage, per service |
Xano | 100,000 records | Essential, $85 a month billed yearly, or $99 monthly | A flat monthly plan |
PocketBase | Free, self-hosted, pre-1.0 (v0.40.6) | None | Your own server |
Nhost | 1 GB database, unlimited users; pauses after a week idle | Pro from $25 a month, $15 compute credit included | A monthly base plus compute |
Supabase, Appwrite and Nhost all start at $25 a month, and Convex at $25 per developer. Three of the hosted free tiers (Supabase, Appwrite and Nhost) pause after a week without activity. Firebase's Spark plan shuts a product off once it goes over a quota, until that quota resets. On a hosted service, a product with paying customers belongs on a paid plan, because a paused project or a switched-off product means downtime. Firebase and AWS Amplify bill by usage, which keeps the first month cheap and the later months harder to forecast. These figures come from each vendor's own page on 28 October 2026; prices change, so check the page on the day you decide.
The job every backend leaves out
Billing for a SaaS covers checkout, renewals, entitlements (which customer can use which features right now), failed payments and sales tax. Each of those needs code that listens for payment events and updates your database, and each has edge cases: a card that fails on renewal, an upgrade halfway through a month, a refund that should remove access. None of the backends above does this work for you. There are three ways to fill the slot.
Option | Fee on the vendor's page | Who is the seller | Covers |
|---|---|---|---|
Stripe Billing | 0.7% of billing volume, on top of card processing from 2.9% + 30c | You | Billing; tax liability and access checks stay with you |
Paddle | 5% + 50c per checkout transaction, no monthly fee | Paddle | Sells on your behalf as merchant of record, including tax |
Polar | Starter: 5% + 50c, no monthly fee; paid plans from $20 a month at lower rates | Polar | Sells on your behalf as merchant of record, including tax |
tiun | 2.9% + $0.30, plus 0.5% on subscriptions; 1.5% payout fee | tiun | Sign-in, checkout, access, and tax as merchant of record |
Stripe Billing charges 0.7% of billing volume on top of card processing, which starts at 2.9% plus 30c per domestic card charge. You are the seller, so you stay liable for sales tax. Stripe Tax calculates it, and on Stripe's Tax Complete plan Stripe can also register you in US states and file your US returns, with partners covering most other countries. You also write the code that turns a payment into access. Clerk Billing is an alternative that pairs Clerk's sign-in with billing. It runs only on Stripe and is a separate product from Stripe Billing, so you pay Clerk's 0.7% instead of Stripe Billing's, on top of Stripe's card processing fees. Clerk says it is not a merchant of record, and its billing does not yet handle tax.
A merchant of record sells your product on your behalf and takes on the tax. Paddle charges 5% plus 50c per checkout transaction, with no monthly fee. Polar's free Starter plan charges 5% plus 50c, and its paid plans, from $20 a month, lower the rate. Polar announced these plans on 20 May 2026, and the Starter rate applies to organisations created from 27 May 2026, so older reviews may quote different terms. Lemon Squeezy, owned by Stripe since July 2024, said in its January 2026 update that its goal is to give users an easy way to migrate to Stripe Managed Payments, Stripe's merchant of record service, and it has not published a timeline. Check where it stands before you choose it.
tiun combines sign-in, checkout, access and merchant of record in one product. Fees are 2.9% plus $0.30 per payment, with international cards and currency conversion included, an extra 0.5% on subscriptions, and a 1.5% payout fee. Checkout signs users in as part of the payment.
tiun has limits worth knowing before you pick it. Its customer database holds users, transactions and sessions, but it is not an application database and offers no file storage or realtime, so you keep Supabase, Firebase or another backend for your product's data. Sign-in uses no passwords and no social or SSO login. New users enter an email address and a phone number, and the one-time code arrives by SMS, with email as the fallback; that phone step at sign-up is one some customers will not want. By default, payouts are monthly with a $200 minimum, and each dispute costs $35. If your customers expect to sign in with Google or through company SSO, Clerk or your backend's own auth is the better route.
For the detail on wiring billing into a Supabase app, see our guide to billing on Supabase. For a side-by-side of merchant of record options, see our merchant of record comparison.
A composed stack for a typical SaaS
A composed backend uses one product per job instead of asking a single platform to do everything. The example below is one option among many; a mobile-first product might swap Supabase for Firebase, and a team that wants to self-host might start from Appwrite.
Job | Option A | Option B |
|---|---|---|
Database | Supabase | Supabase |
Sign-in | tiun | Clerk |
Billing and access | tiun | Clerk Billing or Stripe Billing, both on Stripe |
Tax | tiun, as merchant of record | You, as the seller |
Hosting | Vercel | Vercel |
Option A hands sign-in, checkout, access and tax to one vendor, at the cost of a one-time-code sign-in with a phone number step and no social login. Option B keeps more choice at the sign-in step. Its cost is a 0.7% billing fee on top of Stripe's card processing: Clerk's fee if you use Clerk Billing, Stripe's if you use Stripe Billing. Tax stays with you, because neither is a merchant of record.
If you want a merchant of record such as Paddle to take on the tax, it replaces the Stripe billing path rather than sitting alongside it. Clerk Billing runs only on Stripe, so it can't be combined with Paddle, though Clerk can still handle sign-in. Both options keep Supabase for the data, because that is the job it does best. For more on where a backend-as-a-service stops and the rest of the stack begins, see where backend-as-a-service stops and our Firebase billing guide.
Frequently asked questions
What is the best backend-as-a-service for a SaaS startup?
Supabase is the best default for most SaaS startups, thanks to Postgres, row-level security and a free tier of 50,000 monthly active users. Firebase is the stronger pick for mobile and offline apps, Appwrite and PocketBase for self-hosting, and Convex for real-time TypeScript apps. None of them bills customers, so plan a billing layer alongside.
Is Supabase better than Firebase for SaaS?
For most web SaaS products with relational data, yes. Supabase gives you Postgres and row-level security, and Pro starts at $25 a month. Firebase fits better when the app is mobile-first or must work offline, and its Blaze plan bills by usage. Supabase's free tier covers 50,000 monthly active users; Firebase lists no user cap for basic email and social sign-in on its free Spark plan.
Which BaaS is cheapest?
PocketBase costs nothing beyond the server you run it on, though it is still pre-1.0. Among hosted options, Supabase, Appwrite and Nhost start at $25 a month (Appwrite shows a $10 Start plan in India, Nepal, Nigeria and Pakistan), Convex at $25 per developer a month plus usage, and Firebase and AWS Amplify charge by usage. Xano's first paid plan is $85 a month billed yearly, or $99 month to month.
Do backend-as-a-service platforms handle payments?
None of the backends in this guide bills your customers. Supabase's Stripe tools query, copy or update Stripe data, and Convex maintains a Stripe component, but checkout, renewals, access and tax still need Stripe Billing, a merchant of record such as Paddle or Polar, or tiun, which covers sign-in, checkout, access and tax.
What is a composed backend?
A composed backend uses one product per job: for example, Supabase for the database, tiun (or Clerk with Stripe) for sign-in and billing, and Vercel for hosting. You get the best tool for each job, at the cost of more vendors to manage.