Planned

Deploy with Vercel

Vercel runs your apps and agents, not the Loams data plane. The engine runs on a VM or in your own cloud, its bucket on Cloudflare R2, and apps reach it privately.

Vercel cannot host the Loams data plane, and we do not pretend otherwise. Vercel Functions are request-scoped, with an ephemeral file system: no persistent disk, no long-lived process and no raw TCP listener. The engine, its metastore and Loams Postgres need all three.

So "Loams with Vercel" means:

  • your apps and agents run on Vercel, for example the apps the Software Factory builds, or a Mastra or AI SDK agent;
  • the Loams data plane runs elsewhere, on a VM on your own machine or in your own cloud: AWS, Google Cloud or Azure;
  • its bucket is Cloudflare R2, or the object store of the cloud the VM is in;
  • apps reach the engine privately. The engine is never public.

The cost calculator estimates this setup as Vercel + R2 + a data-plane VM. Loams itself is free.

Why the bucket is not Vercel Blob

Vercel Blob (Vercel's docs, updated 2026-08-26) is reached through the @vercel/blob and Python SDKs and Vercel's own API. Its documentation describes no S3-compatible API or endpoint. The engine's bucket speaks S3, Google Cloud Storage or Azure Blob Storage, so Vercel Blob cannot be its bucket. Vercel Blob does have ETag-conditional writes, but through its own SDK, not the S3 API.

Two S3-compatible choices fit instead:

  • Cloudflare R2, the recommended one: S3-compatible, with the conditional writes the engine needs, and no egress fees. Setup is on the Cloudflare page.
  • Amazon S3 from the Vercel Marketplace. Since 2026-10-14, Vercel can create S3 buckets in a new or linked AWS account (Vercel changelog). That is a real S3 bucket, but Vercel gives its projects short-lived OIDC credentials for it. The engine on your VM would need its own AWS credentials for the bucket; we have not tested this path (verify).

Development

Available The data plane is the development VM from the AWS, Google Cloud or Azure pages, or the stack on your own machine with Self-hosting over Tailscale, optionally with its bucket on R2.

Available The app, on your own machine. Run the app locally (vercel dev, or your framework's dev server) on a device that is on your tailnet. It calls the engine at https://loams.<tailnet>.ts.net with @loams/client and an API key, created with loams auth new-key and the engine's LOAMS_AUTH_MODE set to include apikey (see Self-hosting step 8).

Planned Vercel preview deployments of the app calling that engine. A preview deployment runs on Vercel, off your tailnet, so it needs edge reach (below) to call the engine. Until then, a preview deployment can run the parts of the app that do not call Loams.

Production

What is supported today

Available The data plane: one VM in your own cloud, as on the AWS, Google Cloud or Azure pages, with its bucket on R2 or that cloud's object store. Those pages cover backups, identity and upgrades. Loams House runs on chDB today and is experimental; our own Rust engine for it is designed (design 75), not built.

Not supported today: a production app on Vercel calling the engine. The engine is reachable only over your tailnet, and Vercel Functions are not on it. We do not support putting the engine on the public internet to work around that.

What is planned

PieceWhat it isStatus
Edge reachThe gateway's edge listener in front of the engine, reached over Cloudflare Tunnel with Cloudflare Access and a service token, or over Vercel PrivateLink to an internal load balancer when the engine runs on AWS. Every request is authenticated before it reaches the stack; the engine stays loopback or tailnet onlyPlanned design 69
Vercel OIDCVercel's per-project OIDC token exchanged for a short-lived Loams token, so the app holds no static keyPlanned design 69, ER2
Apps on Vercel's free tierApp BYOC: Vercel Functions, with Marketplace storage free plans, Vercel Blob, Queues and Cron for the app's own state, deployed with loams app deploy and the Vercel CLIPlanned design 71, AB1
Void apps on VercelA Void app built for Node and wrapped for Vercel Functions through the Build Output API. Void itself deploys only to Cloudflare; the Vercel path is Loams' shimPlanned design 79
The Vercel integrationA connectable-account integration: you give it your engine's URL and a key, and it writes LOAMS_ENDPOINT, LOAMS_NAMESPACE and LOAMS_API_KEY into the projects you choosePlanned design 70, BY1
A guide and example"Mastra on Vercel with Loams", calling an engine in your own cloud through AccessPlanned design 70, BY0
The console on your own Vercel projectThe static console, served from your Vercel teamPlanned

Vercel's Hobby plan is for non-commercial, personal use only, so a business app uses Pro. What you pay is your Vercel plan plus the data plane's cloud.

On this page