Reference
Providers and credentials
Each service, the provider behind it, the keys Launchpad needs and the variables your app receives.
Launchpad orchestrates providers rather than replacing them, so this page is the map: what runs where, what you hand over, and what comes back out into your app's environment.
Services and what your app receives
| Service | Provider | Variables injected into your app |
|---|---|---|
| Hosting | Vercel, or Cloudflare Pages for static and Vite/Astro/SvelteKit sites | (none; receives all of the below) |
| Background processes | Render, built from the same repository | Each web process's URL, e.g. NEXT_PUBLIC_API_URL |
| Database | Neon (default) | DATABASE_URL, DATABASE_URL_UNPOOLED |
| Database | Supabase | DATABASE_URL, SUPABASE_URL, SUPABASE_ANON_KEY, SUPABASE_SERVICE_ROLE_KEY, and the NEXT_PUBLIC_ versions |
| Redis | Upstash | UPSTASH_REDIS_REST_URL, UPSTASH_REDIS_REST_TOKEN, REDIS_URL |
| Resend | RESEND_API_KEY, EMAIL_FROM | |
| Sign-in | Supabase Auth | (uses the Supabase URL and keys) |
| Sign-in | Clerk | CLERK_SECRET_KEY, and the publishable key under your framework's prefix |
| File storage | Cloudflare R2 (default) | R2_ENDPOINT, R2_ACCESS_KEY_ID, R2_SECRET_ACCESS_KEY, R2_BUCKET_<NAME>, R2_PUBLIC_URL_<NAME> |
| File storage | Supabase Storage | (uses the Supabase URL and keys) |
| Payments | Stripe | STRIPE_SECRET_KEY, STRIPE_PUBLISHABLE_KEY, NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY, STRIPE_WEBHOOK_SECRET, STRIPE_PRICE_<PRODUCT>_<PRICE> |
| Payments | Razorpay | RAZORPAY_KEY_ID, NEXT_PUBLIC_RAZORPAY_KEY_ID, RAZORPAY_KEY_SECRET, RAZORPAY_PLAN_<PRODUCT>_<PRICE> |
| Bot protection | Cloudflare Turnstile | NEXT_PUBLIC_TURNSTILE_SITE_KEY, TURNSTILE_SECRET_KEY |
What you connect
| Provider | Keys | Where to get them |
|---|---|---|
| Vercel | VERCEL_TOKEN, VERCEL_TEAM_ID (teams) | Account settings → Tokens, or the Connect button |
| Neon | NEON_API_KEY, NEON_ORG_ID (personal keys) | Account settings → API keys |
| Supabase | SUPABASE_ACCESS_TOKEN, SUPABASE_ORG_ID | Account → Access tokens, or the Connect button |
| Upstash | UPSTASH_EMAIL, UPSTASH_API_KEY | Account → Management API |
| Resend | RESEND_API_KEY (full access) | API keys |
| Cloudflare | CLOUDFLARE_API_TOKEN, CLOUDFLARE_ACCOUNT_ID | My Profile → API tokens; the account id is on the account home |
| Render | RENDER_API_KEY, RENDER_OWNER_ID | Account settings → API keys; the owner id is in workspace settings |
| Stripe | STRIPE_SECRET_KEY, STRIPE_PUBLISHABLE_KEY | Developers → API keys |
| Razorpay | RAZORPAY_KEY_ID, RAZORPAY_KEY_SECRET | Account & Settings → API keys |
Only the providers your app's services use are needed. In the console, the configure screen lists
them per app; from the CLI, launchpad doctor shows which are set.
Cloudflare token permissions
| What your app uses | Permission |
|---|---|
| Bot protection | Account → Account Settings → Edit |
| R2 storage | Account → Workers R2 Storage → Edit, Account → Account API Tokens → Edit |
| Pages hosting | Account → Cloudflare Pages → Edit |
| DNS records | Zone → DNS → Edit, Zone → Zone → Read |
Optional, read-only connections
These only show you things; they're never needed to deploy.
| Connection | What it adds |
|---|---|
| Sentry | Open issues per project, from a read-only token |
| OpenAI, Anthropic | This month's API spend, from an admin key used only to read the cost report |
Free tiers worth knowing
- Supabase allows two active projects on its free plan, which is why new apps default to Neon (a hundred projects).
- Cloudflare R2 must be turned on once in the dashboard before buckets can be created; the free tier is enough, but a payment method is required.
- Vercel team projects protect their
*.vercel.appaddress by default until a domain is added.
Something missing or wrong? Edit this page on GitHub or email hello@axonscape.com.