Every event, accounted for.
Basalt records every event once, in order, and keeps it queryable in milliseconds. One ledger for ingest, transforms and serving, with a line back to the source for every number.
Four chapters. One system of record.
Every stream, in order.
Kafka topics, Postgres CDC, webhooks and the SDK land in one replicated log. Retries and replays are deduplicated on arrival, so each event counts once.
Plain SQL, kept current.
Write joins, windows and aggregates as views. Basalt updates them with each new event and backfills in the background when you change a query.
Every table is an API.
Read views over REST, GraphQL or the Postgres wire protocol from 38 regions, with row-level security tied to your auth provider.
Every number has a source.
Lineage links each row to the raw events behind it. Time travel lets you query any view as it stood at any second of the past year.
Eight figures, kept in public.
From commit to query result, measured at the edge.
Ingested across every customer project, every day.
Rows lost in two years of production traffic.
Edge replicas from Reykjavík to Sydney.
Backed by service credits on Scale and up.
Jobs a team retires in its first quarter.
From a new view to its first served row.
From sign-up to the first live query.
Measured across all customer projects, trailing 30 days. Republished on the first of each month.
Basalt vs the usual stack.
The same workload, set three ways. Figures are typical of the teams that moved to Basalt in the last two years.
| Capability | BasaltRealtime ledger | Warehouse + cronBatch ELT | Stream processorSelf-run jobs |
|---|---|---|---|
| Freshness | Under 5 ms | 15 min to 24 h | Seconds, when tuned |
| Exactly-once | End to end | Per load job | With checkpoint tuning |
| Joins on streams | Plain SQL | Batch only | Hand-written jobs |
| Time travel | Any second, 365 days | Daily snapshots | No |
| Schema changes | Versioned, no downtime | Manual migrations | Redeploy every job |
| Systems to run | 1 | 4 to 6 | 3 to 5 |
| Teams on call | None extra | Data and platform | Platform and SRE |
Based on 140 migrations completed between 2024 and 2026.
“We used to close the books every Monday for the week before. Now finance reads the same ledger as the warehouse floor, live, and nobody asks which number is real.”
On the books at 2,400 teams.
The specs, for the record.
Ingest
- Sources
- 60+ native
- Protocols
- Kafka, HTTP, gRPC
- CDC
- Postgres, MySQL, Mongo
- Delivery
- Exactly-once
- Ordering
- Per key
- Max event
- 1 MB
Model
- Language
- ANSI SQL
- Views
- Incremental
- Joins
- Stream and table
- Windows
- Tumbling, hopping, session
- Schemas
- Inferred, versioned
- Lineage
- Column level
Serve
- APIs
- REST, GraphQL, PG wire
- p99 read
- 4.2 ms
- Regions
- 38
- Time travel
- 365 days
- Access
- RLS, OIDC, API keys
- SLA
- 99.995%
Set in Fraunces, Inter Tight and Martian Mono. Figures measured across all 38 regions. Designed and built in Reykjavík.
Set your data in stone.
Free up to 10M events a month. No card, no sales call. Your first pipeline is live in about four minutes.