Complete reference for all configuration variables. Validated at startup using Zod schemas via t3-oss/env-nextjs.
EdgeURL uses strict environment variable validation. All variables are defined in lib/env.ts with Zod schemas. Empty strings are treated as undefined.
Validation is automatically skipped during builds and on Vercel to allow for staged deployments. Use SKIP_ENV_VALIDATION=true to skip validation manually.
SUPABASE_SERVICE_ROLE_KEYRequiredKV_REST_API_URLRequiredKV_REST_API_TOKENRequiredKV_REST_API_READ_ONLY_TOKENRequiredKV_URLRequiredREDIS_URLRequiredUPSTASH_REDIS_REST_URLOptionalUPSTASH_REDIS_REST_TOKENOptionalSTRIPE_SECRET_KEYRequiredSTRIPE_LIVE_SECRET_KEYOptionalSTRIPE_TEST_SECRET_KEYOptionalSTRIPE_MODEOptionalSTRIPE_WEBHOOK_SECRETOptionalSTRIPE_WEBHOOK_SECRET_DEVOptionalCRON_SECRETRequiredINTERNAL_API_SECRETRequiredRESEND_API_KEYRequiredRESEND_FROM_EMAILRequiredMAINTENANCE_MODERequiredALERT_EMAILOptionalSLACK_WEBHOOK_URLOptionalALERT_WEBHOOK_URLOptionalADMIN_EMAILOptionalBIO_VERIFY_SECRETOptionalBROWSER_VERIFY_SECRETOptionalFNDR_PUBLIC_MODEOptionalThe following variables are automatically set by Vercel in deployed environments. You do not need to set them manually:
NEXT_PUBLIC_SUPABASE_URLRequiredNEXT_PUBLIC_SUPABASE_ANON_KEYRequiredNEXT_PUBLIC_BASE_URLRequiredNEXT_PUBLIC_SHORT_DOMAINRequiredNEXT_PUBLIC_FNDR_DOMAINOptionalNEXT_PUBLIC_CNAME_DOMAINOptionalNEXT_PUBLIC_MAINTENANCE_MODERequiredNEXT_PUBLIC_STRIPE_PUBLISHABLE_KEYOptionalNEXT_PUBLIC_STRIPE_LIVE_PUBLISHABLE_KEYOptionalNEXT_PUBLIC_STRIPE_TEST_PUBLISHABLE_KEYOptionalAll Stripe price IDs are optional. Configure them in the Stripe dashboard and set the corresponding env vars.
EdgeURL automatically detects enabled features based on configured environment variables: