Firebase alternative

Keep the live JSON tree. Drop the per-read bill.

NukeBase puts your real-time database, auth, file storage, server functions and hosting in one process of your own. You read and write in memory, and nobody bills you per operation.

  • No charge per read, write or delete
  • Same tree idea as the Realtime Database, with paths, live listeners and security rules
  • A monthly spending cap that pauses your app when it's reached
  • The same app runs on your laptop with node server/database.js

Start free

$10 of credit every month, with no card. We'll email you a link to your account.

By continuing you agree to the Terms, Privacy Policy and Acceptable Use Policy. We use your name and phone number only to contact you about NukeBase.

Firebase and NukeBase, side by side.

Firebase runs your data on shared infrastructure and meters it. NukeBase gives each app its own process, so the limits are the size of that process.

 FirebaseNukeBase
Write rate Realtime Database: sustain over 1,000 writes a second and you may be rate-limited. No platform-wide cap. Over 300,000 writes a second in our own tests. By default each connection can send 10,000 messages a second, and you can change that.
Data written Realtime Database: 64 MB a minute. No per-minute limit. It depends on your app's size.
What you pay for Firestore: reads, writes and deletes, past a daily free quota. Realtime Database: storage and downloads. App size, memory, processing, disk and traffic. Nothing per operation.
Traffic to users Realtime Database: $1 per GB after the free allowance. $0.12 per GB.
Spending limit Budget alerts, which Firebase says "won't limit your usage". A monthly spending cap pauses your app when it's reached.
Queries Firestore: composite indexes to combine equality and inequality filters, and at most 30 disjunctions. Realtime Database: order by one key at a time. One expression across as many fields as you like, live. Indexes are optional: without one the query scans the collection, so index your large collections.
Tree depth Realtime Database: under 32 levels. Up to 64 levels.
Where it runs Google's cloud. NukeBase hosting, your laptop or your own server. Download the whole project any time.

Firebase figures checked 5 November 2026 in its database limits, pricing, query and quota docs.

What replaces what.

It's all in one Node process, so a trigger, a rule and a query all see the same data in memory.

Realtime Database, FirestoreOne JSON treeIn memory, saved to disk every few seconds. Mark a write durable to wait for the disk.
AuthenticationSessions and sign-inEmail links, or username and password. Auth docs
Security RulesRules in plain JavaScriptRead, write and validate rules on the same paths as your data.
Cloud StorageFile storeFiles with their own rules. Up to 5 GB each in object storage.
Cloud FunctionsTriggers, callables, routesPlain functions in server/app.js, running in the same process as the data.
HostingStatic serving and deploynukebase push uploads your changes and restarts the app.
Cloud MessagingWeb pushBuilt in, with no extra service. iPhones need the app added to the Home Screen.
Offline persistenceOffline modeCached reads and queued writes in the browser SDK. Opt in with one option.
BackupsBackups and restore pointsA restore point on every push. Scheduled backups run by themselves.

The code will look familiar.

A live listener on a path, then a live query you couldn't write as one Realtime Database query.

Firebase Realtime Database

import { ref, onValue } from "firebase/database";

onValue(ref(db, "rooms/r1/messages"), (snap) => {
  render(snap.val());
});

NukeBase

import createClient from "./sdkmod.js";
const { getSub, querySub } = await createClient();

getSub({
  event: "value@",
  path: ["rooms", "r1", "messages"]
}, (e) => render(e.data));

querySub({
  event: "value@",
  path: ["products"],
  query: "child.price < 100 && child.category == 'electronics'"
}, (e) => render(e.data));

On the server the same calls are synchronous: get(["users", uid]) returns the data directly, with no network round trip. See the full docs.

When to stay on Firebase.

NukeBase makes different trade-offs. These are the cases where Firebase is the better fit.

You ship native iOS or Android appsNukeBase's client SDK is for the browser. Native apps would have to use the HTTP API, which has no subscriptions, or their own WebSocket client.
You need phone or social sign-in out of the boxThe built-in extensions cover email links and passwords. Anything else is a sign-in route you write yourself.
Your data won't comfortably fit in memoryThe whole tree lives in RAM, at $6 per GB-month on hosting. Our largest size has a 1 GB memory line, so hosted databases should stay under about 1 GB. Large files belong in the file store, at $0.02 per GB-month in object storage. A huge dataset of small records may cost less on Firestore.
You need your data replicated across regionsA project's database runs in one process, in the region you deployed to.

Start free. Pay for what the app uses.

Each month your plan adds credit, and your apps draw from it as they run. Most small apps use about $4 to $6 of credit a month.

Free

$0$10 of credit every month. No card.

Launch

$20 / month$100 of credit every month.

Scale

$100 / month$500 of credit every month.

App sizes from $3 a month. Usage: memory $6 per GB-month, processing $0.36 per hour of full use, disk $0.20 per GB-month, storage bucket $0.02 per GB-month, traffic $0.12 per GB, emails $0.01 each. Full pricing

Moving over.

There's no one-click importer. Porting is a code change, and the Realtime Database's shape makes it a short one.

1

Create a project

Use the link we email you, then run npx --yes nukebase start in an empty folder. It signs you in, creates the project and puts it online.

2

Bring your data

Export your Realtime Database as JSON and load it with set. It's already a tree. Firestore collections need mapping into one first.

3

Port the calls

Swap listeners for getSub, move rules to server/rules.js and functions to server/app.js. Your project includes a file that teaches Claude the system, so it can do the port with you.

Fair questions.

If everything is in memory, what happens in a crash?

Writes reach disk every few seconds, so a crash can lose the last few seconds of ordinary writes. A write marked { durable: true } gets its reply only after it's on disk, so use that for anything you can't lose. A normal restart saves everything first.

Can I run it somewhere other than your hosting?

Yes. The engine ships inside your project as one file, server/database.js, so it runs on your laptop or your own server the same way. You can read all of it. The Terms don't let you resell or white-label the platform itself.

Why do you want my phone number?

So a person can reach you about your move from Firebase. It's saved separately from your account and isn't used to sign you in.

What happens after I submit the form?

You get a link by email. Click it and your dashboard opens on the free plan, showing one command: npx --yes nukebase start. If you already have an account, the link signs you in.

Try your hardest query on it tonight.

$10 of credit every month, with no card. If it isn't for you, you've lost an evening and can take your data with you.

Start free →