basalt

DestinationPartnerGA

Basalt, inside every Vercel deploy.

Install the integration and Basalt adds one environment variable to your project. Edge and Node functions read views with the TypeScript SDK.

Setup
1 min
Delivery
Read-only
Throughput
30k req/s
Since
v1.4
Overview

How it works.

The Vercel integration creates a scoped read token and sets BASALT_URL on each environment. The SDK uses fetch, so it runs in the Edge runtime and in Node, and routes to the region nearest your function.

KAFKA TOPICSBASALTVIEWSSERVEpayments.v3orders.v1refunds.v2ORDERED LOGpayments_liverevenue_by_minAPI3.1 MS
Setup

Set it up in three steps.

01

Add the destination

Install Basalt from the Vercel Marketplace and pick a project. Preview and production get separate tokens.

terminal
# link a Vercel project to the workspace
basalt connect vercel --project storefront --role readonly
✓ BASALT_URL set on production, preview
✓ redeploy picked up · iad1 → iad-1 · 4 ms
02

Shape it with a view

Write plain SQL over the source. Basalt keeps the view current with every record and tracks lineage back to the topic, partition and offset.

views/revenue_by_min.sql
CREATE MATERIALIZED VIEW revenue_by_min AS
SELECT date_trunc('minute', ts) AS minute,
       currency,
       sum(amount) AS revenue,
       count(*)    AS payments
FROM payments
WHERE status = 'captured'
GROUP BY 1, 2;
03

Read it from anywhere

Every view is an endpoint the moment it exists. Call it over REST, connect with any Postgres client, or use the SDK from your app.

terminal
curl https://api.basalt.dev/v1/views/revenue_by_min?limit=5 \
  -H "Authorization: Bearer $BASALT_TOKEN"
✓ 200 OK · 5 rows · served from eu-north-1 in 3.1 ms
Included

What you get.

01

One variable

BASALT_URL carries the endpoint and a scoped token. Nothing else to configure.

02

Edge runtime

The SDK uses fetch only, so it runs in Edge Functions and Middleware.

03

Per-environment tokens

Preview deploys get their own token, so you can limit what they read.

04

Typed queries

Generate TypeScript types from your views with basalt types pull.

Related

Other ways to stream in.

All integrations →
Beta

Anthropic

AI & ML

Give Claude live, row-level context through a typed tool.

Beta

OpenAI

AI & ML

Embed events as they land and store vectors beside the rows.

Partner

Hex

BI & notebooks

Query views from SQL cells and keep notebooks current.

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.