| Feature | Spacetime | Convex |
|---|---|---|
| Realtime by default | Yes | Yes |
| Transactions by default | Yes | Yes |
| TypeScript backend | Yes | Yes |
| React support | Yes | Yes |
| Native auth | Yes | Yes |
| Reusable backend packages | Yes | Yes |
| Self-hosting | Yes | Yes |
| Relational tables and SQL | Yes | No |
| Rust, C#, and C++ backends | Yes | No |
| Around 300,000 transactions per second | Yes | No |
| Full-text and vector search | No | Yes |
| File storage | No | Yes |
| Preview deployments | No | Yes |
What is Convex?
Convex is a reactive backend for TypeScript apps: a document database, server functions, and live queries in one hosted platform, with a self-hostable version. It's the product most like Spacetime (formerly SpacetimeDB), and we have a lot of respect for what the Convex team has built. We've even written about why you might choose Convex over Spacetime.
Since we're both trying to make backends simpler, it's worth being clear about where each one shines.
What's similar?
Spacetime and Convex start from the same idea: a backend for web apps should be reactive by default. Instead of wiring together a database, an API server, a cache, and a WebSocket layer, you write your backend in TypeScript next to your data, and every client stays up to date on its own. The result is less glue code, fewer moving parts, and a UI that always shows live data. So the apps people build with Convex, like AI apps and agents, SaaS products, chat, task managers, and other real-time collaborative apps, are the same apps you'd build with Spacetime.
Both Spacetime and Convex:
- Push live query results to your web app as the data changes
- Run your backend logic as transactions with serializable ACID guarantees
- Integrate with React, Next.js, and other modern TypeScript frameworks
- Include auth, scheduled functions, and reusable backend packages (Submodules in Spacetime, components in Convex)
- Run as a hosted cloud service or self-hosted
- Ship an MCP server and plugins for AI coding agents
Already building on Convex? Migrating from Convex shows how each Convex concept maps to Spacetime, from queries, mutations, and actions to components.
What's different?
Performance
Spacetime runs your server code in the same process as the database, against tables held in memory, so a transaction never waits on the network. In our benchmark, a Spacetime TypeScript module processed 279,025 transactions per second, compared with 1,140 for Convex on the same machine. When a few hot rows took most of the traffic, Spacetime processed 303,920 per second and Convex 127, with p99 latencies of 11.7 ms and 1,082 ms.
Convex has argued that benchmarks rarely reflect real workloads, and you can read their take. Our methodology and raw data are public, and you can rerun the benchmark yourself.
Where your code runs
Spacetime loads your module into the database. Reducers read and write in-memory tables directly, one transaction at a time, so they never conflict and never retry.
Convex Cloud runs your functions in a separate service called Funrun, which reads a snapshot from the database and sends writes back to be checked for conflicts (Convex's write-up). Mutations that conflict are retried automatically.
Data model
Spacetime uses relational tables. Clients subscribe with SQL queries and receive only the rows that change.
Convex uses a document store with optional schemas. Queries are TypeScript functions that re-run when the data they read changes.
Languages
Spacetime modules can be written in TypeScript, Rust, C#, or C++. Client SDKs cover TypeScript, Rust, C# (including Unity), and Unreal.
Convex functions are written in TypeScript or JavaScript. Client SDKs cover TypeScript, Python, Swift, Kotlin, and Rust.
Search and file storage
Spacetime doesn't have built-in search, file storage, or preview deployments yet.
Convex has built-in full-text search, vector search, and file storage, and can create a preview deployment for each branch.
Pricing
Spacetime Maincloud Pro costs $25 a month for up to 10 developers and includes 100,000 TeV of energy. You pay for the work your code does: data read and written, compute, data sent to clients, and storage. Tables live in memory, so storage costs about $1 per GB-month until tiered storage arrives on October 31, 2026.
Convex Professional costs $25 per developer per month, and the pay-as-you-go Starter plan is free for up to six developers. Every mutation and every live-query update is a billed function call, on top of database I/O, egress, and storage at $0.20 per GB-month.
For most real-time apps, that makes Spacetime much cheaper. Storage-heavy apps with little traffic cost less on Convex.
| Example app | Spacetime | Convex |
|---|---|---|
| Collaborative editor: 50M edits, 5 readers, 8 developers | $31 | $895 |
| Team chat: 20M messages, 20 readers each, 5 developers | $25 | $215 |
| SaaS dashboard: 3M writes, 10 viewers each, 4 developers | $41 | $163 |
| Storage-heavy app: 300 GB, little traffic, 3 developers | $287 | $78 |
Open source
Spacetime is source-available under the BSL 1.1 and becomes AGPL v3 in 2031. You can self-host the same engine that runs Maincloud.
Convex's backend is source-available under the FSL-1.1-Apache-2.0 license. The self-hosted version includes Convex's free-tier features.

