Skip to content
RunningLake

Operated open lakehouse

AI-driven data engineering, operated for you, owned by you in your own cloud account.

Most companies get two choices: pay a vendor in “credits” you can’t trace, or assemble twenty open-source projects and hire five engineers to keep them running. RunningLake is the third option — we run the stack, the bill arrives in cloud dollars with the compute each query used priced from your provider’s own export, and AI agents will draft the pipelines as a reviewable diff that a person approves.

Databricks’ capabilities. Kubernetes’ operating model. A bill you can read.

Pre-product. The control plane, the router’s constraint layer, the data-plane Terraform module and the platform bundle are built. No customers yet — the first eight are design partners, and we charge from the start.

RunningLake · Team31 days · us-east-1
daily_revenue_by_plan duckdb · 744 runs
$3.72 measured
bi.adhoc trino · 218 queries
$214.80 $151.30 measured · $63.50 shared
exec_dashboard starrocks · always-on
$88.10 reserved · split shown
Management fee 25% of the platform and work lines above
$76.65
Storage 1.7 TB, your bucket
$39.10 at cost
Total
$422.37

Two of these compute figures are measured and one is an allocation. The statement says which, and shows the division. An allocation you can see is not a credit unit. An allocation you can’t is.

Illustrative, for a 12 GB hourly pipeline plus a BI workload on the Team tier. Your numbers will differ; we measure them on your workload before you sign anything.

What RunningLake is

Five things it does for you, and whether each one runs yet.

This is what we are building and what we promise. The chip beside each claim says what is built today; a claim without a RUNNING chip is not built yet.

01

Describe it. AI builds it. You approve it.

AI agents draft your pipelines, checks and repairs as changes you can read, and nothing goes live until a person says yes. It’s the same for a team of two and a team of hundreds, because the agents do the engineering and your people make the calls.

Pipeline Agent PLANNEDQuality Agent PLANNEDRepair Agent PLANNED

How the agents work →

02

We run it. You own it.

We operate the open lakehouse stack for you, with five SQL engines and one for your own code. On a plane in your own cloud account, your tables’ files sit in your bucket, under keys in your own KMS, in open formats (Iceberg, Hudi, DuckLake). If you ever leave, the files are already in your account.

DuckDB RUNNINGTrino BUILDINGSpark · StarRocks · Flink PLANNEDPython PLANNEDHudi · DuckLake PLANNED

Where the boundary sits →

03

Ask in plain English. Answered within your access.

Business users ask questions in words. The SQL agent builds the SQL from your team’s defined metrics and shows it first, and the person runs it as themselves. Keep an answer as a flow and re-run it with new values, with no AI call.

Analyst Agent PLANNEDBusiness flows PLANNED

How asking works →

04

Governed once, correct everywhere.

One place, the catalog, decides who sees what, so a rule is written once for every engine. The platform picks the right engine and format for each job, and correctness comes before price.

Policy per engine PLANNEDLive routing PLANNEDDifferential tests PLANNEDRouter constraint check RUNNING

What has been proven →

05

A bill in cloud dollars you can read.

Every line traces to a job, a team and a table, with no credits and no conversion rate. The month is forecast as a range, and advice comes with its dollars.

Cost per table PLANNEDForecast PLANNEDAdvice PLANNEDAttribution by project and engine BUILDING

How the bill is built →

A plane we host, and every trial, is in our account. The five objectives describe the product, and each chip says whether it is running. Registering your own encryption key is built in the console and is not switched on yet. Five SQL engines is a Business-tier count: the trial has DuckDB only and Team has three.

RUNNING

control plane · router CONSTRAIN · data-plane Terraform module · platform bundle

BUILDING

engine services · cost attribution

PLANNED

Spark · StarRocks · Flink · Hudi · GCP · Azure · Pipeline Agent · Quality Agent · Analyst Agent · Repair Agent

NOT HELD

SOC 2 · HIPAA · ISO 27001 · PCI DSS

Every capability claim on this site carries one of these. If it isn’t marked RUNNING, we haven’t built it. The full build order →

The parts are free. Running them is the job.

Every capability in a data platform now exists as open source that genuinely works — Spark on Kubernetes with Karpenter, Kyuubi, Celeborn, Gluten or Comet, Lakekeeper, OPA and Ranger, OpenLineage, OpenCost. The components are not the problem. Integrating them behind one coherent surface and operating them well takes three to five strong platform engineers who know Kubernetes and Spark internals. Most companies cannot hire that team, and those that can would rather spend it on their own product.

3–5

platform engineers needed to run the open stack well

$480K–$1.45M

what they cost all-in, per year — at $160K–$290K each

~$520K

average annual pipeline maintenance per company (Fivetran)

~50%

of a data engineer’s time on maintenance, not new capability

The second figure is our own arithmetic on our own source, and it is larger than the number our go-to-market document uses. We publish the larger one because it’s the one the source supports.

RunningLake is that platform team, delivered as software.

Three claims, in the order we’d like to be judged on.

One is easy to prove and we lead with it. One is the product. One is the reason a security team says yes.

01

A bill you can read.

BUILDING

Real cloud dollars, not credits: the compute each query used is priced from your provider’s own export and added up by project, environment, submitter and engine. No credit unit anywhere in the product. Where a figure is an allocation rather than a measurement — an always-on cluster’s share, a warm pool’s floor — it is labelled as one, and the split is shown.

02

Stop needing a platform team.

BUILDING

Karpenter, Kueue, Lakekeeper — pinned, patched and upgraded on a schedule. Not by you.

03

Your data, your bucket, open formats.

AWS + ICEBERG HUDI · GCP · AZURE

Iceberg in your own S3. Every component we run is permissively licensed, with no vendor licence, and the parts list names who stands behind each. A customer who cancels keeps working tables — retention has to be earned elsewhere.

One qualification, stated here rather than at the bottom of a page: your bucket is a bucket in your own cloud account, on a plane you connect. A plane we host is in our account, and the trial is designed to run on a bucket of ours. Registering your own encryption key is built in the console and is not switched on yet; today the keys are the ones a plane’s own setup creates. At-rest encryption costs nothing at every tier, the trial included, because charging for baseline encryption would be indefensible.

The router

You don’t pick the engine. Correctness picks it, then price picks between what’s left.

Step 4 runs before step 5, always. A wrong answer delivered cheaply is worth less than nothing.

For an hourly MERGE into an Iceberg table, the router chose Iceberg over Hudi and DuckLake, then Trino over Spark, DuckDB, StarRocks and Flink. DuckDB is the cheapest engine at one times baseline, and it was eliminated before anything was priced, because it cannot perform MERGE on Iceberg. Trino won on cost among the engines that could.

The job · examples/analytics/pipelines/daily-revenue

gold.finance.daily_revenue_by_plan

hourly · 12 GB scanned · operation MERGE · declared consumer: Trino BI, 1h freshness

Step 1 · which format

Iceberg all five engines can write it; the declared consumer is Trino
Hudi hudi-write-engines — would pin writes to Spark and Flink
DuckLake single reader; a second declared consumer triggers promotion

Step 2 · constrain, then cost

Trino eligible for Iceberg MERGE, and the cheapest that is $0.06
Spark eligible, but 15× baseline for this shape $0.14
DuckDB iceberg-dml-engines — INSERT and limited DML only 1× — cheapest
StarRocks iceberg-dml-engines — no MERGE on Iceberg
Flink flink-iceberg-streaming-only — streaming upsert, never batch DML
PARSE·RESOLVE·ESTIMATE· CONSTRAIN·COST·SELECT· TRANSPILE·INJECT·ADMIT· DISPATCH·RECORD

Notice what did not happen. DuckDB costs 1× and Trino costs 6–20×. DuckDB was eliminated before anything was priced, because it cannot perform a MERGE on an Iceberg table. In the source specification there was no Iceberg-DML rule at all — so DuckDB stayed eligible and won on cost, for a statement it cannot execute. It bit hardest on the two things the docs give as reasons to choose Iceberg: GDPR erasure and partition evolution.

The rules are versioned, signed data released independently of any binary, and every capability cell of an engine in the first release that asserts anything names the conformance run that is to prove it, and is marked unverified until it does. Engines outside the first release are listed with no evidence at all. Which engine pairs have actually been compared, and what each pair’s evidence is, is on its own page.

Actual runtime and cost are written back after every run, and the cost model is refit per tenant — so a job that ran on Trino last month may route elsewhere this month because the estimator learned it over-predicted.

What one hour costs.

One pipeline, one run, start to finish. Illustrative for a 12 GB hourly job — your numbers will differ, and we measure them on your workload before you sign anything.

09:00:00.0
The schedule fires.
09:00:00.2
The router confirms the worker.
Planned: it also checks your monthly spend cap, which nothing enforces yet.
09:00:00.4
A scoped key is issued: one table, expires in fifteen minutes.
No permanent credentials exist anywhere in your cloud.
09:00:01
The worker starts in under a second.
There is no cluster to boot.
09:00:03
It reads 12 GB from your bucket.
Skips 91% of the files. Only the columns it needs.
09:01:40
Transforms, runs 7 of 7 quality checks, masks the email column.
09:01:52
Writes a new snapshot.
The previous one is kept, so you can roll back.
09:01:55
The worker shuts down. The cost is recorded.

This run

1m 55s

duration

$0.005

per run

744

runs a month

$3.72

a month, in cloud dollars

744 runs at half a cent. We show the run count so you can check the multiplication — on a page arguing for legible arithmetic, a total you have to take on trust would be self-defeating.

And when Stripe renames a field at nine in the morning.

REPAIR AGENT
09:00:04
The run fails at the join.
Stripe renamed amount to amount_total overnight.
09:00:05
Rows are quarantined. The dashboard is marked stale.
Nobody downstream sees a wrong number.
09:00:20
The Repair Agent traces the cause through column-level lineage.
So it knows the blast radius.
09:00:25
A one-line fix arrives in Slack as a diff.
With its reasoning, and a dry-run showing the numbers match.
09:07
You approve. It reruns.

This one is designed, not built. Nothing quarantines rows yet, and the Repair Agent is item 17 of 20 in the build order, below the line marked “a coherent, sellable product.” We’re showing you the design, not a demo.

Agents

It’s a git diff, not magic.

The agents are planned, not built. The Pipeline Agent is designed so that you describe the pipeline in plain language and get back a pull request: the SQL, the DAG, the quality tests, the docs, a format recommendation with its reasoning, and a cost estimate in cloud dollars, which you approve the way you approve anything else. Data engineers are professionally sceptical of AI writing production code, and they’re right to be.

Pipeline Agent PLANNED Quality Agent PLANNED Analyst Agent PLANNED Repair Agent PLANNED

Repair autonomy is designed as L0–L3, set by you, with L1 the default — diagnose and propose, open a PR, wait for a human. L3, auto-apply to production, will be available only for action classes with a demonstrated 99% success rate in your tenant, and always reversible. Every autonomous action will write to an immutable audit log, with no configuration option to disable that.

For a business user whose role may run queries, the Analyst Agent is the SQL agent. A question in plain English becomes SQL built from your team’s defined metrics, shown first and run by the person who asked, as themselves, inside their own access. A business flow keeps the question’s SQL, run again with new values and no AI call.

Analyst Agent PLANNED Business flows PLANNED How asking in plain English works
pipeline.yamlproposed by pipeline-agent
# Owned by finance. Ask #data-platform before changing the schedule.
kind: Pipeline
metadata:
  name: daily-revenue
  labels: { team: finance }   # used for cost attribution
spec:
  schedule: "0 * * * *"   # hourly
  routing:
    format: ICEBERG       # append-heavy, multiple consumers
    engine: ""            # unpinned — let the router learn
    consumers:
      - engine: TRINO
        freshnessSla: 1h

Agent rationale, carried in the diff: “12 GB scanned, single consumer, append-only. ICEBERG chosen over DUCKLAKE because bi-trino is a declared consumer — a second engine triggers promotion.”

Every mutating endpoint returns a change set with a git ref, not “created”. The console shows a diff before every change because there is nothing else it can show — the agent’s proposal and a human’s hand-edit are the same mechanism.

Operations

Pinned, patched, upgraded on a schedule. Not by you.

One opinionated version set, unforked, across every plane. The platform bundle is a digest-pinned OCI artifact, byte-identical on every cluster; per-plane variation lives in one config object and nowhere else. A private fork of Spark, Flink or Trino is a permanent tax on a small team — so we don’t keep one. Contributions go upstream.

Kubernetes onlyKarpenterKueueCelebornKyuubiLakekeeperOpenCostOpenTelemetry

Not every part here runs today: the parts list says which are running, which are being built and which are planned. Dagster is not on either list, because it is not something we run; a Dagster or Airflow you already run is meant to call RunningLake the way any other client does, and starting a run from outside is not available yet: the call exists, and the control plane refuses it until a data plane can run a task.

40+

customer data planes per platform engineer, by year three.

This metric is the business. If one engineer can’t support forty-plus, RunningLake is a consultancy with a product attached rather than a software company.

A TARGET, NOT A MEASUREMENT

Today it is one. We publish the target and the current value together, because a north-star metric quoted without its present value is marketing rather than measurement.

Trust boundary

RunningLake cannot reach into your network.

Your cluster opens the connection to the control plane, and the control plane never dials into the cluster. Hosted and BYOC run the identical mechanism, so the BYOC path can’t rot from disuse. Work flows down the stream; metering and run history flow up.

And the schema is the enforcement mechanism, not a convention. No message the plane sends is meant to carry customer data: LogRef, not Log. ResultHandle, not ResultSet. Opaque ids, not names. Every field the plane sends is held to a shape, and the control plane refuses a message that does not fit; a shape limits form, not meaning, so a short summary could still hold a name. A query’s rows are written to the plane’s own storage: the control plane is handed a short-lived link, never the rows, and your browser follows it. It is told how many rows and bytes, how long the query took and what it cost. The text of a query goes down to the plane, and the control plane keeps a sealed copy of it for a limited time; a statement a person saves is kept, sealed, until they delete it.

AGENT STREAM · SCHEMA BOUNDARY POLICY COMPILER · COLUMN ENCRYPTION

The full security architecture →

Control plane · runs at RunningLake

identity · catalog · router · policy · cost meter · agents

↑ metering, run history one outbound stream, opened by your cluster ↓ work, as control messages only

Data plane · runs in your cloud account

engines · your bucket · your KMS keys · Kubernetes

Where this is not absolute: the per-tenant context store lives in the control plane and holds schemas, column-level lineage, run history and sampled statistics — derived customer data. The rule keeping raw values out of a model’s context is scoped to columns classified as sensitive, which means values from unclassified columns can reach a model API. Bringing your own model endpoint is Enterprise-only today.

Cost attribution

An allocation you can see is not a credit unit. An allocation you can’t is.

On AWS, the control plane reads the cost and usage export in your own account and prices the compute each query used as that query’s share of the machine it ran on. What a plane costs with nobody on it is shown as its own line and is not divided among queries. Work is added up by project, environment, submitter and engine; not yet by pipeline, table or team. For a dedicated engine — one pod, one query — the usage is measured and the price is that pod’s share of its node. For a shared cluster it’s an allocation, because there is no honest way to make it anything else. So every figure carries how it was derived, and the formula sits next to it. This runs on our QA plane today; GCP and Azure readers are not built.

measuredshared_amortisedidlereserved

Reconciled every six hours against your cloud provider’s own export, and a query’s figure can keep moving for about a day after it ran, because AWS restates the export. A query is priced for the whole seconds its pod ran; only where a node’s facts are missing is its reserved vCPU-seconds rounded up to a whole second, and the trial’s compute allowance always counts each query up to a whole vCPU-second. A pipeline can record a monthly spend cap today; nothing enforces it yet, so no job is held at one. A limit on metered compute is planned; it will not cap the whole cloud bill.

measuredone pod, one query — the CPU that pod used, priced at its share of its node
shared_amortisedyour share of a cluster several jobs used, with the split shown
idlewarm-pool floor, attributed rather than hidden
reservedan always-on component, allocated across what used it

The cheapest tier is the easiest to account for: the trial’s DuckDB runs one pod per query in a single-use sandbox, so a query’s share of its node is unambiguous.

The console’s cost page renders no figure it cannot stand behind: nothing on the trial, where the plane is included and you owe nothing; and, once a bill has been read, the month’s work by project, environment, submitter and engine, and your planes’ standing cost with the components it came from. What it will not do is divide that standing cost by a rule nobody chose.

Three ways to have a data platform. You’re already on one of them.

We’re not going to run a feature-by-feature comparison against a company with a decade’s head start and several thousand engineers. This compares operating models, which is the thing that actually decides who runs the platform: your team, or us.

Dimension Buy the package Assemble it yourself RunningLake
The billCredits, converted at a rate you don’t setYour cloud bill, plus three to five salariesCloud dollars, with the compute each query used priced from your provider’s own export, plus our fee stated separately
Where the data livesThe vendor’s format, the vendor’s catalogYour bucketYour bucket, in Iceberg, on a plane in your own cloud account. A plane we host is in our account.
Who operates itTheir software; you still size and tune the machinesYou, once you’ve hired the teamWe do. That’s the product, not a support tier.
Which engine runs a jobYou pick a cluster or a warehouse sizeYou configure every engine by handChosen per job. Correctness rules first, then price.
When a pipeline breaksA person reads logsA person reads logsQuarantined, blast radius traced through lineage, a fix proposed as a diff. Planned, not built.
LeavingA migration projectNothing to leaveYour tables are Iceberg in your bucket and stay readable by anything. What doesn’t transfer is the run history the router learned from — so we won’t tell you leaving is free.
Built forCompanies willing to pay in credits for a managed packageTeams that can hire specialistsEvery size of company, with no platform team needed: a data team of two, or of two hundred

None of these are features anyone can bolt on next quarter. Each is a consequence of how a company is built and what it charges for. The first column’s constraints are unfixable without repricing the business — a strong claim, not an eternal one. If a large vendor drops the credit and bills in cloud dollars, the first column changes. We’d rather say so than pretend otherwise.

What we won’t claim.

Serverless economics

Large vendors share giant pools of machines across thousands of customers. We can’t match that at our size and we don’t pretend to. Shared driver pools help; they do not match.

Heavy Python workloads

The open-source Spark accelerators get roughly 2–3× on scan-heavy SQL and nothing on Python UDFs. That figure is the community’s, not ours — we haven’t run the bake-off yet. When we do, we’ll publish it with its limits.

Depth of governance tooling

A decade-old catalog’s lineage, ABAC and audit are years ahead of a catalog plus OPA plus OpenLineage assembled. Ours will be good. It is not as deep.

Anything a certificate would prove

We hold no SOC 2, no HIPAA BAA, no ISO 27001, no PCI DSS. Not “in progress” — none. There will be no trust badge on this site before there is an auditor’s report behind it.

If one of the first three is your biggest problem, buy the incumbent. You should hear that from us before you hear it from anyone else.

The parts list is public. That’s the point.

Every component we run is permissively licensed, with no vendor licence, and the table names the foundation, host or maintainer behind each. Anyone can read this list. Almost nobody can run it — which is why we do.

Apache Iceberg Apache-2.0 · ASF default table format RUNNING
Kubernetes Apache-2.0 · CNCF the only substrate RUNNING
Karpenter Apache-2.0 · CNCF node provisioning RUNNING
OpenTelemetry Apache-2.0 · CNCF observability RUNNING
DuckDB / DuckLake MIT · DuckDB Foundation small tables, the trial BUILDING
Trino Apache-2.0 · Trino Software Foundation federated queries, the BI face BUILDING
Lakekeeper Apache-2.0 · independent the catalog, and the policy boundary BUILDING
Kueue Apache-2.0 · CNCF fair-share queues, admission BUILDING
OpenCost Apache-2.0 · CNCF cost attribution BUILDING
SQLGlot MIT · independent parse and transpile BUILDING
Apache Spark Apache-2.0 · ASF heavy ETL, ML, table maintenance PLANNED
StarRocks Apache-2.0 · Linux Foundation sub-second serving PLANNED
Apache Flink Apache-2.0 · ASF streaming, CDC PLANNED
Apache Hudi Apache-2.0 · ASF upsert-dominant CDC PLANNED
Apache Kyuubi Apache-2.0 · ASF the JDBC and ODBC door for BI tools PLANNED
Apache Celeborn Apache-2.0 · ASF remote shuffle, spot survivability PLANNED
JupyterHub BSD-3-Clause · Project Jupyter (LF Charities) notebooks PLANNED
MLflow Apache-2.0 · Linux Foundation experiment tracking, model registry PLANNED
Feast Apache-2.0 · LF AI & Data feature store PLANNED
KServe Apache-2.0 · CNCF model serving PLANNED
Open Policy Agent Apache-2.0 · CNCF policy PLANNED
OpenLineage / Marquez Apache-2.0 · LF AI & Data column-level lineage PLANNED

We say “permissively licensed” and name the governing body on each row rather than “Apache or CNCF” because the shorter version isn’t true: DuckDB is MIT under its own foundation, Trino is governed by the Trino Software Foundation, StarRocks by the Linux Foundation, and Lakekeeper and SQLGlot are independent projects with no foundation behind them. The licence and the governing body are in the table so you don’t have to take our word for the summary.

We keep no private fork of any of these. Contributions go upstream. A fork is a permanent tax on a small team.

Dagster is not on this list because it is not something we run. A Dagster or Airflow you already run is meant to call RunningLake the way any other client does, and starting a run from outside is not available yet: the call exists, and the control plane refuses it until a data plane can run a task.

Who this is for, and what we’d say to you.

Head of Data · VP Engineering

Your team is underwater and you can’t hire platform engineers.

“You get the platform team as software. Your engineers go back to building.”

  • Three to five specialists is what the open stack takes to run well.
  • The router picks engine and format, so nobody on your team has to hold that in their head.
  • Pipelines arrive as pull requests your engineers review, not as a black box.
CFO · Finance

The bills are growing faster than the value.

“Your bill is cloud dollars. The compute each query used is priced from your provider’s own export, and what a plane costs with nobody on it is its own line. No credit unit. We’ll model your current spend before you sign anything.”

  • Reconciled every six hours against your cloud provider’s own export. A query is priced for the whole seconds its pod ran; the trial’s compute allowance counts each query up to a whole vCPU-second.
  • Planned: a monthly limit on metered compute, not on your whole cloud bill. Today a pipeline records its cap and nothing holds a job at it; the trial’s compute allowance is the one spend limit enforced.
  • The 25% management fee on Team-tier compute is a line on the statement, not a margin inside a unit.
Platform · Infrastructure lead

You tried assembling the stack and it became a second job.

“Karpenter, Kueue, Lakekeeper — pinned, patched, upgraded on a schedule. Not by you.”

  • One digest-pinned bundle, byte-identical on every plane.
  • Kubernetes is the only substrate. No YARN, no standalone, no HDFS.
  • Your cluster dials out. We never dial in.
CISO · Compliance

The data platform is an audit finding waiting to happen.

“Your bucket, your keys, column-level encryption, policy compiled to every engine.”

  • Your cluster opens the connection to us and we never dial into it, so nothing has to be allowed inbound. That connection is not encrypted on the environment we run today; encrypting it and authenticating both ends of it are not built yet.
  • Built in the console and not switched on yet, on an AWS plane in your own account: a project’s table files in your bucket encrypted under a key in your own KMS, which you create and can disable.
  • Hash-chained, append-only audit. You take an export and check the chain yourself; delivery to your own bucket is not switched on yet.

What we can’t hand you today is a completed SIG or a SOC 2 report. We hold neither. What we can hand you is the architecture, the trust-boundary decision record, and the list of what isn’t built.

Data engineer — the person who actually uses it

Tool sprawl, 2am pages, and format decisions you’ll regret.

“Describe the pipeline, and the agent will pick the format and engine and tell you why, as a git diff, not magic.”

  • Choosing Hudi removes three of five engines from the write path. The platform refuses the selection at creation time rather than letting you find out in production.
  • Constructs that don’t transpile cleanly across your table’s engines are rejected at authoring time, with a message. Never silently rewritten.
  • You can pin the engine and the format. Format, engine and instance type are all overridable.

And who it isn’t for. Size doesn’t decide it: a data team of two and a data team of two hundred are both a fit. What rules a company out: work that is primarily ML training, data that is on-premises only, no existing cloud spend to compare against, or no appetite for Kubernetes. We’d rather say so on the home page than on the third call.

Four tiers, and what each one actually gets you today.

The tier table we published promises more than the architecture will deliver right now. This is the corrected one.

Trial

$0

for 90 days, then you pay

  • 90 vCPU-hours per 30 days
  • 5 GiB on our bucket
  • 1 vCPU · 2 GiB per query
  • $10 of model spend, once
  • 30 vCPU-hours per 30 days, 2 GiB and $5 on a personal email
  • 1 project · 3 users
  • DuckDB only · Iceberg + DuckLake
  • AWS

Team

25%

management fee on your cloud cost, no flat fee

  • 2 TB, or your bucket
  • 5 projects · 20 users
  • Up to 64 vCPU
  • AWS, GCP
  • Pipeline + Quality Agents
  • Bring your own model endpoint
  • Management fee on the statement

Business

$5,000

per month, BYOC — you pay cloud direct

  • Your bucket
  • 25 projects · 75 users
  • Up to 512 vCPU
  • All three clouds
  • Customer-managed keys
  • Column-level encryption
  • All four agents · Hudi

Enterprise

from $12,000

per month, BYOC multi-cloud

  • Unlimited
  • CMK / HSM
  • Confidential compute
  • Differential privacy
  • 99.9% SLA

The trial is ninety days, and we can withdraw it. After ninety days you pay to carry on. The compute cap is a gate — measured per query and refused at the boundary. Storage is measured on a plane that reports it can, and is not a gate. The pricing page says which is which. We may also withdraw the trial entirely, at any time. It is there so you can try this on your own data — it is not a free tier, and a plan built on it is a plan built on something we have told you we can take away.

The ten dollars is ten dollars. The trial grants a one-time balance of ten US dollars for agent usage, in the same currency as every other figure on this site. Nothing draws it down yet, because the agents are unbuilt. It is a starting balance, not a unit — there is no conversion rate, because there is nothing to convert. On a personal email address it is five dollars, alongside a third of the compute and two gigabytes rather than five. The pricing page lists which domains count as personal and why.

The correction, stated inline. Our published table said the free tier included DuckDB and Trino. It’s DuckDB only — several free tenants’ rows would pass through one Trino JVM’s memory, and no amount of policy makes that a story we’d want to tell. Trial DuckDB runs one pod per query in a sandbox: no shared process, no shared heap.

What none of them get today: Spark, Flink, StarRocks, Hudi, GCP, Azure and all four agents — the Pipeline Agent, the Quality Agent, the Analyst Agent and the Repair Agent — are not built. Hudi is gated to Business not to upsell but because its table services carry real operational cost — and it won’t be offered to anyone until those services have passed a 30-day unattended proof on our own QA plane.

Full pricing →

Forty conversations, then a product.

We’re looking for eight to twelve design partners, and two or three should be CDC-heavy — those are the ones who’ll tell us whether a whole phase of this plan should exist at all. Twelve months at 70% off, direct Slack access to engineering, roadmap influence, and a written case study when there’s something to write about. We charge from the start: even $500 a month changes the quality of the conversation entirely.

No card. No demo-booking flow. A reply from a founder, usually the same day.