basalt

Now in 38 regions

Every event, set in stone.

Basalt catches every event the moment it lands and sets it into typed, joined tables you can query in milliseconds. Write SQL. Read an API. Skip the pipeline.

p99

4.2 ms

Throughput

1.28M ev/s

Setup

9 min median

Query

Views

Lineage

prod · eu-north-1

-- live, last 60 seconds

SELECT

__

region,

__

event,

__

count

(*)

____________

AS

_

per_min,

__

p99

(latency_ms)

_____

AS

_

p99

FROM

_

stream.events

WHERE

_

ts > now() -

_

'1 minute'

GROUP BY

_

1

,

_

2

ORDER BY

_

per_min

_

DESC

;

Region

Event

Per min

p99

eu-north-1

payment.succeeded

48,210

2.1 ms

us-east-2

model.inference

41,877

3.4 ms

ap-south-1

session.started

36,502

1.8 ms

eu-west-3

cart.updated

29,914

2.7 ms

us-west-1

sensor.reading

27,340

1.2 ms

812 rows · 3.1 ms · eu-north-1

Refreshing every event

Trusted by 2,400+ teams

How it works

Three moves, no glue code.

01 · Connect

02 · Model

03 · Serve

Step 01

Connect

Point your sources at Basalt.

Kafka topics, Postgres change streams, webhooks and SDK calls land in one ordered log. Retries are deduplicated, so every event counts once.

Step 02

Model

Shape it with plain SQL.

Write a view once. Basalt keeps joins, windows and aggregates current with each event, with lineage back to the raw row.

Step 03

Serve

Read it as an API.

Every view is a REST, GraphQL and Postgres endpoint the moment it exists, served from the closest of 38 regions.

Capabilities

Solid under every load.

Serving

Live

p50

1.7

ms

p99

3.9

ms

Reads

412k

/s

p99 latency · last 60 s

ms

Single-digit milliseconds, every read.

Hot rows stay in memory beside the view that produced them. Your app, dashboards and models read the same answer at the same speed.

Lineage

Column level

stream.orders

stream.payments

orders_enriched

api / v1

Trace any number to its source.

Click a cell and see the exact events that produced it, down to the column.

Network

38 regions

Close to every user.

Replicas follow your traffic with sub-second failover.

Schema

v14

Schemas that evolve.

Add or retype a field with no migration window.

History

30 days

Time travel on every table.

Query any view as of any second in the last 30 days. Answer last Tuesday's question with last Tuesday's rows.

Delivery

Guarantee

Exactly once, end to end.

Idempotent writes with per-key ordering. Retries, replays and network splits never count a payment twice.

Use cases

One layer, many shapes.

Fintech

Commerce

AI agents

IoT

Use case · Fintech

Score every payment before it settles.

Fraud models need the last thirty seconds of behavior. Basalt joins payments, sessions and device signals as they happen and serves a fresh feature row in milliseconds.

Payments, ledgers and KYC events in one ordered log

Per-account features updated on every transaction

Exact replay for auditors with 30-day time travel

Decision time

3.8 ms

False positives

-31%

FRAUD_SCORE > 0.92PAYMENTS · LAST 60 SBLOCKED IN 3.8 MS

After the switch

Proof from production.

Events dropped

0

Across every customer cluster, trailing 12 months.

p99, 11 → 4.2 ms

4.2

ms

Median customer, down from 11 ms on their previous stack.

Pipelines replaced

14

avg

Queues, jobs and caches retired per team in year one.

Median setup

9

min

From sign-up to the first query on live events.

Customers

Teams that stopped babysitting pipelines.

Ferrous

Payments

“Our ledger and our fraud checks finally read the same numbers. Reconciliation used to take a day. Now it runs as a view and nobody thinks about it.”

“Our ledger and our fraud checks finally read the same numbers. Reconciliation used to take a day. Now it runs as a view and nobody thinks about it.”

RJ

Ragnheiður Jónsdóttir

Head of Platform, Ferrous

Halcyon

Logistics

“We track 60,000 trucks. Late GPS pings used to scramble our ETAs. Basalt orders them by event time, and dispatch trusts the map again.”

“We track 60,000 trucks. Late GPS pings used to scramble our ETAs. Basalt orders them by event time, and dispatch trusts the map again.”

DO

Daniel Okafor

Staff Engineer, Halcyon

kiln.dev

AI agents

“Our agents read customer state through one typed tool. It is fresh to the second and respects every tenant boundary. That was months of work we never had to do.”

“Our agents read customer state through one typed tool. It is fresh to the second and respects every tenant boundary. That was months of work we never had to do.”

PR

Priya Raman

Co-founder, kiln.dev

FAQ

Before you start.

How long does it take to get started?

Most teams run their first query on live events in under ten minutes. Create a workspace, connect a source with the CLI or the dashboard, and write a view in SQL.

Do I have to replace Kafka?

No. Basalt reads your existing topics with consumer-group offsets and exactly-once commits. Many teams keep Kafka as the transport and retire the stream processors, jobs and caches behind it.

How is Basalt priced?

By events ingested. Hobby is free up to 10M events a month, Scale is $249 a month with 1B events included, and Enterprise is a custom annual agreement. Seats and queries are never billed.

Where does my data live?

In the regions you choose. Scale lets you pick three of our 38 regions. Enterprise adds private regions and bring-your-own-cloud deployments in your AWS, GCP or Azure account.

Can I query data as it looked in the past?

Yes. Every table supports time travel. Query any view as of any second in the last 30 days on Scale, or a custom window on Enterprise.

Get started

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.

2,400+ teams in production

SOC 2 Type II

38 regions

Get started

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.

2,400+ teams in production

SOC 2 Type II

38 regions

Get started

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.

2,400+ teams in production

SOC 2 Type II

38 regions

© 2026 Basalt Labs

All systems normal

Back to top ↑

404

© 2026 Basalt Labs

All systems normal

Back to top ↑

404

© 2026 Basalt Labs

All systems normal

Back to top ↑

404

Create a free website with Framer, the website builder loved by startups, designers and agencies.