Self-hosted application substrate

One runtime for data,
work, and realtime.

SubstrateDB is a Rust runtime for JSON documents, durable jobs, schedules, cache primitives, vector and keyword search, and browser WebSockets.

Development status. The implementation is functional and failure-tested, but it is not a production-qualified database. The approximate vector index and sustained production-scale operation remain experimental or unqualified.

Get running locallyRust 1.87+
# Clone and build the runtime
$ git clone https://github.com/Metatransformer/SubstrateDB.git
$ cd SubstrateDB
$ cargo build --release --bin substrate

# Start a loopback-only development server
$ ./target/release/substrate --dev
Integrated primitives

Fewer seams in your application stack.

Application workers still execute your code. SubstrateDB stores and coordinates the data and work around it in one deployable runtime.

01

Documents

Nested JSON, indexed queries, revision compare-and-set, pagination, and atomic command batches.

02

Durable work

Pull workers, signed HTTP delivery, leases, retries, dead letters, ordering keys, and cron schedules.

03

Hybrid search

Named dense and sparse fields, BM25, exact and experimental graph ANN, filters, and visibility barriers.

04

Realtime

Document watches, indexed live queries, retained events, channels, presence, and scoped browser capabilities.

05

Cache primitives

TTL values, counters, hashes, lists, sets, sorted sets, rate limits, and fenced leases in the same runtime.

06

Replicated clusters

Fixed shard groups, explicit placement, quorum reads and writes, leader failover, and operator-led membership changes.

Deployment boundary

The docs are hosted. Your database is not.

This Vercel deployment serves static documentation only. Run SubstrateDB locally or on your own persistent server; the database runtime does not run inside this site or a Vercel serverless function.

Plan a runtime deployment