Everything you need.
Nothing you don't.

A grid of features. Read top-to-bottom — pricing tiers labeled inline.

GPU-rendered grid

Virtualized, 1M rows, transform-only scroll. The grid is a Metal/DirectX/Vulkan surface, not a DOM table.

scroll fps · last 3 s ● 60.0 fps
rows
1,000,000
frame
16.6 ms
mem
184 MB

Native on every desktop OS

Same Rust + GPUI codebase on macOS, Windows, Linux. Identical shortcuts. No 'we ported it' second-class citizens.

macOS
12+ · arm64 · x86_64
→ Metal
Windows
10+ · x86_64
→ DirectX 12
Linux
GNOME · KDE · Wayland
→ Vulkan

Bring-your-own AI

BYOK

Plug in Ollama, the claude CLI, an Anthropic / OpenAI key, or any MCP server. AI usage is billed by your provider, not by zolt.

top 10 repeat customers in q1 via ollama · llama3.1
-- preview · press ⌘⏎ to insert
select u.email,
       count(*) as orders
from orders o
join users u on u.id = o.user_id
where o.placed_at >= '2026-01-01'
group by 1
order by orders desc limit 10;

SSH tunneling, built-in

Define a bastion once. zolt opens, holds, and tears down the tunnel per session. No PuTTY, no autossh dance.

your laptop
bastion
postgres
SSH (key-auth, ed25519) TLS 1.3

Keychain-backed credentials

Passwords live in macOS Keychain, Windows Credential Manager, or Linux Secret Service. Zolt does not store them in plaintext config files.

analytics-prod
postgres · admin@db-1.acme.io
password = ••••••••••••
● keychain · macOS

E2E-encrypted team sharing

TEAM

Shared payloads are sealed with age to each member's X25519 recipient. The sync server stores ciphertext and workspace metadata, not decryptable connection secrets.

you
sync (blind)
teammate
age-encrypt(blob, ed25519:rae)
→ -----BEGIN AGE ENCRYPTED…

Schema diff & DDL gen

Diff two schemas, generate the migration, paste into your repo. No external diff tool.

+ ALTER TABLE users ADD COLUMN tier text;
CREATE INDEX users_email_lower
~ ALTER COLUMN orders.total TYPE numeric(12,2);
− DROP TABLE legacy_sessions;
4 changes · postgres · ready to copy

MCP server mode

BYOK

Run zolt as a Model Context Protocol server. Claude Desktop calls query_database and describe_schema directly. Tool-use trace, not a chat about your data.

→ tool_use: describe_schema(connection: "analytics-prod")
← 14 tables, 86 columns
→ tool_use: query_database(sql: "select count(*)…")
← 1 row · 12 ms · returned to claude
● mcp.local:7841 · 2 tools registered

Three things you couldn't do this morning.

zolt — capture 1/3 · palette
monthly active users by week K
Generate SQL · MAU by week ollama · llama3.1
Open dashboard
Run last query again
-- generated · review before run
select date_trunc('week', started_at) as wk,
       count(distinct user_id) as maus
from sessions
where started_at >= '2026-01-01'
group by 1
order by wk;
events · 1,000,000 rows scanned · scroll position 423,118 ● 60 fps
#
event
payload
ts
user
423,118
page_view
{"path":"/p/0"}
14:00:0
u_23s6
423,119
click
{"path":"/p/73"}
14:01:7
u_23s7
423,120
sign_up
{"path":"/p/146"}
14:02:14
u_23s8
423,121
purchase
{"path":"/p/219"}
14:03:21
u_23s9
423,122
sign_in
{"path":"/p/292"}
14:04:28
u_23sa
423,123
logout
{"path":"/p/365"}
14:05:35
u_23sb
423,124
page_view
{"path":"/p/438"}
14:00:42
u_23sc
423,125
click
{"path":"/p/511"}
14:01:49
u_23sd
423,126
sign_up
{"path":"/p/584"}
14:02:56
u_23se
423,127
purchase
{"path":"/p/657"}
14:03:3
u_23sf
423,128
sign_in
{"path":"/p/730"}
14:04:10
u_23sg
423,129
logout
{"path":"/p/803"}
14:05:17
u_23sh
01,000,000
your laptop
macOS · 192.168.1.7
bastion
ssh-key · ed25519
postgres
db-1.internal · 5432
tunnel up · 0 bytes plaintext · round-trip 18 ms