Skip to main content
Zap’s production target is Vercel with Node 24.x, served at zap.wzrd.tech. The Vercel project is named zap and connects to the wzrdstudio Supabase project. All environment variables documented here belong in Vercel’s project settings; user-level provider keys belong in Supabase (see the Supabase Secrets guide).

Prerequisites

Before deploying, confirm you have:
  • Node 24.x installed locally (matches the Vercel runtime)
  • A provisioned Convex project with NEXT_PUBLIC_CONVEX_URL and CONVEX_URL
  • A provisioned Supabase project (wzrdstudio) with the BYOK migration applied
  • An Upstash Redis instance with REST URL and token
  • A Vercel Blob store with a BLOB_READ_WRITE_TOKEN
  • The Vercel CLI installed (npm i -g vercel) and authenticated

Deploy Sequence

1

Run pre-deploy checks

Run the full test, type-check, and build suite locally before pushing to production.
All three commands must exit 0. Fix any failures before proceeding.
2

Deploy to Vercel

Deploy the production build with the Vercel CLI.
The CLI will pick up your linked project and push the build to Vercel’s edge network.
3

Attach and verify the custom domain

In the Vercel project dashboard, add zap.wzrd.tech as a custom domain and verify DNS propagation. The domain must resolve before live traffic can be routed correctly.Confirm the domain is active:
Expect a 200 OK (or a redirect) with Vercel’s response headers.
4

Apply Supabase migrations

Run the BYOK migration against the wzrdstudio Supabase project before enabling any live runs that depend on creator-supplied provider keys.
See the Supabase Secrets guide for the full migration details and required edge function setup.
5

Run smoke tests

Verify the deployment end-to-end:
If Basic Auth is enabled, include -u "$ZAP_BASIC_USER:$ZAP_BASIC_PASSWORD" in your curl calls.

Environment Variables

Set all of the following in Vercel → Project Settings → Environment Variables for the Production (and optionally Preview) environment.
User-level provider keys (gmi_api_key, fal_key, etc.) belong in Supabase via the BYOK secret store — not in Vercel environment variables. The variables below are app-level credentials only.

Supabase

Convex

Upstash Redis

Vercel Blob

App-Level Provider Credentials

These are the Zap server’s own provider credentials, used when ZAP_PROVIDER is set to a real provider (not mock).
ZAP_PROVIDER=mock is the safe default and will not call any external provider. Only change this to gmi or fal after confirming the corresponding API keys are correctly configured and tested. Setting a real provider without valid credentials will cause all live runs to fail.

Poll Drain

Legacy Basic Auth