Nakama vs SpacetimeDB
ComparisonNakama and SpacetimeDB are both source-available backends that game studios can run themselves, but they are different kinds of software. Nakama, from Heroic Labs, is a game server: an application with ready-made systems for accounts, friends, chat, leaderboards, matchmaking and real-time matches, sitting in front of a PostgreSQL-compatible database. SpacetimeDB, from Clockwork Labs, is "a relational database that is also a server": game logic is uploaded into the database as a module, and clients connect to it directly with no application server in between.
The practical difference is where a team starts. Nakama starts with the common features of gaming backends already built and asks the studio to extend them. SpacetimeDB starts with tables, transactions and automatic state synchronisation, and asks the studio to model the whole game on top. Licensing differs too: Nakama is Apache-2.0, while SpacetimeDB uses the Business Source License. Facts and prices below were checked against each project's own site and repository in October 2026.
Feature Comparison
| Dimension | Nakama | SpacetimeDB |
|---|---|---|
| Maker | Heroic Labs | Clockwork Labs (licensor: Clockwork Laboratories, Inc.) |
| What it is | "A scalable, open-source backend for social and real-time games" | "A relational database that is also a server"; application logic is uploaded into the database |
| Licence | Apache-2.0 for the server and client libraries; Nakama Enterprise is commercial | Business Source License 1.1: one production instance and no use as a database service; version 2.11.0 converts to AGPL v3.0 with a linking exception on 2031-09-15 |
| Server-side languages | Go, TypeScript or Lua runtime modules | Rust, C#, TypeScript or C++ modules |
| Data store | External PostgreSQL or CockroachDB | Built in: relational tables held in memory, with a commit log for durability |
| Client sync model | Sockets and RPC; relayed and server-authoritative matches | Clients subscribe to queries and the database mirrors matching rows into a local client cache |
| Prebuilt game services | Authentication, storage, friends, groups, chat, leaderboards, tournaments, matchmaker, parties, in-app purchase validation, notifications | Not offered as prebuilt services in the documentation reviewed; features are written as tables and reducers in the module |
| Client SDKs | Unity, Unreal Engine, Godot, Defold, .NET, JavaScript, Java, Swift | TypeScript, Rust, C# (including Unity) and C++ (Unreal Engine) |
| Managed hosting (as of October 2026) | Heroic Cloud, priced by Nakama CPU and database CPU through a calculator; a fixed list price is not publicly documented | Maincloud: Free $0, Pro $25/month, Team $250/month, Enterprise custom; usage metered in energy (TeV) |
| Scaling model | Multi-node clustering in Nakama Enterprise, bundled with Heroic Cloud | Pro adds automatic replication and backups; Team adds dedicated node reservation; multi-node self-hosting is not publicly documented and the licence grant covers one production instance |
| LiveOps and economy | Separate products: Satori (LiveOps, from $600/month on Heroic Cloud) and Hiro (metagame systems) | Not publicly documented |
| GitHub stars (checked October 6, 2026) | 13.5k | 25.3k |
Detailed Analysis
A Game Server vs a Database That Runs the Game
Nakama follows the familiar three-tier shape. Clients talk to the Nakama server over sockets or request-response calls, the server runs built-in systems and the studio's custom runtime code, and state is stored in PostgreSQL or CockroachDB. A team adopting it gets working authentication, friends lists, groups, chat, leaderboards, tournaments, matchmaking and in-app purchase validation on day one, and writes Go, TypeScript or Lua only for what is specific to the game.
SpacetimeDB removes a tier. Its documentation describes application state held in memory for speed, a commit log for durability, and the entire backend running as a single binary. Logic lives in a module made of tables and reducers, which the docs describe as functions clients call to change data, with changes written directly to the database. Clients do not poll or call fetch endpoints for state. They register subscriptions, and SpacetimeDB "automatically mirrors" the matching rows into a local cache and keeps it live. Clockwork Labs' pitch is that this replaces "microservices, containers, Kubernetes, Docker, VMs, DevOps" with one deployable unit.
What You Get on Day One
This is the sharpest difference. Nakama is a product for shipping the standard furniture of an online game without designing it. SpacetimeDB is closer to an engine for backend state: it gives every game real-time, transactional, queryable shared state, and nothing else is prebuilt in the documentation reviewed for this page. A leaderboard is a table and a query. A friends list is a table and some reducers. Matchmaking is logic the team writes. Row-level security filters control which rows each client may see.
Which is better depends on the game. A match-based mobile title with clans, seasonal leaderboards and store receipts maps closely onto Nakama's feature list, and rebuilding those systems in SpacetimeDB would be wasted effort. A persistent world, where most of the backend work is simulating shared state and pushing the right slice of it to each player, maps closely onto SpacetimeDB's model. Clockwork Labs' own proof point is its MMORPG BitCraft Online, whose backend it says "runs as a single SpacetimeDB module: chat, items, terrain, player positions, everything, synchronized to thousands of players in real-time".
Licensing and Self-Hosting
Nakama's server and client libraries are Apache-2.0, a permissive open-source licence with no limits on production use. The catch is scale-out: Heroic Labs describes multi-node clustering, with peer discovery, state replication and failover, as part of Nakama Enterprise, a commercial licence bundled with Heroic Cloud. Open-source Nakama can be run in production, and Heroic Labs says moving to Enterprise requires no code changes.
SpacetimeDB is source-available rather than open source in the usual sense. Its Business Source License 1.1 grant allows production use "with no more than one SpacetimeDB instance in production" and forbids offering it as a database service to third parties. Each release converts to AGPL v3.0 with a linking exception on its change date, which for version 2.11.0 is September 15, 2031. The project notes the licence does not require a studio to open-source its own code. Self-hosting is a single Docker command, but a studio that expects to need more than one production instance should read the grant carefully or talk to Clockwork Labs about Enterprise terms.
Hosting and Cost
SpacetimeDB's managed service, Maincloud, has public self-serve tiers. The Free tier includes a monthly energy credit described as roughly 3 million function calls and 1 GB of table storage, with unlimited monthly active users. Pro is $25 per month and adds automatic replication and backups, and Team is $250 per month with dedicated node reservation. Usage beyond the included credit is metered in the platform's energy unit.
Heroic Cloud sells dedicated capacity. Its pricing page uses a calculator based on Nakama CPU and database CPU, states there are no DAU, MAU or CCU limits, and does not publish a single list price, so a like-for-like comparison needs a quote. Heroic's LiveOps product, Satori, starts from $600 per month. The entry cost of trying SpacetimeDB in the cloud is therefore lower and more transparent, while Nakama's cheapest path is to self-host the open-source server.
Maturity and Ecosystem
Nakama has the broader game-engine reach, with official clients for Unity, Unreal Engine, Godot and Defold and documented console support, plus adjacent products for LiveOps and metagame systems. Heroic Labs' February 2026 newsletter cites Wildlight Entertainment's Highguard as a PC and console launch running on Nakama, Satori and Heroic Cloud. SpacetimeDB has fewer engine SDKs, covering Unity through C# and Unreal through C++, but more GitHub attention (25.3k stars against Nakama's 13.5k on October 6, 2026) and a faster-moving design. Star counts measure interest, not production use, and should be read that way.
Best For
Match-based game with clans, chat and leaderboards
NakamaThese systems exist in Nakama out of the box. In SpacetimeDB each one would be designed and written by the team.
Persistent shared world or MMO-style simulation
SpacetimeDBSpacetimeDB's in-memory relational state and subscription sync fit a single large simulation, as BitCraft Online demonstrates.
Permissive licence required
NakamaNakama's server is Apache-2.0. SpacetimeDB's Business Source License limits production use to one instance until each version's change date.
Godot or Defold project
NakamaHeroic Labs lists official Godot and Defold clients. SpacetimeDB's listed client SDKs are TypeScript, Rust, C# and C++.
Backend logic in Rust or C#
SpacetimeDBSpacetimeDB modules can be written in Rust, C#, TypeScript or C++. Nakama's runtime languages are Go, TypeScript and Lua.
Cheapest managed start
SpacetimeDBMaincloud has a $0 tier and a $25 Pro tier with published allowances. Heroic Cloud pricing depends on a capacity calculator or a quote.
Real-time web or collaborative app that is not a game
SpacetimeDBA database that pushes live query results to TypeScript clients suits general real-time apps, where Nakama's game systems add little.
LiveOps, economy and metagame tooling
NakamaHeroic Labs sells Satori and Hiro alongside Nakama. Equivalent tooling for SpacetimeDB is not publicly documented.
The Bottom Line
Nakama and SpacetimeDB are rarely true substitutes. Nakama is the safer choice when a game needs the conventional online feature set quickly, when a permissive licence matters, or when the studio wants a vendor that also sells LiveOps and metagame products. Its costs are operational: a separate database to run, and clustering that requires the commercial edition.
SpacetimeDB is the more interesting choice when the backend is mostly shared state. If the hard problem is keeping thousands of clients in sync with a large simulated world, collapsing the server and database into one transactional system removes a great deal of plumbing. Its costs are that social and competitive features are the team's to build, the engine SDK list is shorter, and the licence restricts self-hosted production use to a single instance until the change date.
A reasonable rule: choose by the shape of the game, not by popularity. Session-based games with rich social systems lean towards Nakama. Persistent, simulation-heavy worlds lean towards SpacetimeDB. Teams unsure which they are building can prototype the core loop on both in a few days, since both run locally with Docker.
Further Reading
- Nakama Documentation: Getting Started – Heroic Labs
- Nakama Server Source Code – GitHub
- Nakama Enterprise – Heroic Labs
- Heroic Cloud Pricing – Heroic Labs
- February 2026 Newsletter – Heroic Labs
- SpacetimeDB Source Code – GitHub
- SpacetimeDB Licence (Business Source License 1.1) – GitHub
- What is SpacetimeDB? – SpacetimeDB Docs
- SpacetimeDB Maincloud Pricing – Clockwork Labs