Netlify
One-click publish to Netlify from inside Bolt.
Cloudflare Pages
Free static hosting with unlimited bandwidth.
What Bolt.new gives you
Usually a Vite-based JavaScript app (React is common). Data via Bolt's built-in database or Supabase.
Built-in hosting
Bolt hosting publishes to a .bolt.host address on every plan.
- Free: Free plan: 300K tokens/day (1M/month), website hosting with Bolt branding, up to 333k web requests, unlimited databases.
- Custom domain: Custom domains need Pro ($25/month; 10M tokens/month, up to 1M web requests, no branding).
First: which kind of project do you have?
| Type | How to tell | What the host needs |
|---|---|---|
| Vite single-page app (most projects) | vite.config.* in the project, build output dist/. | Any static host plus an index.html fallback for client-side routes. |
| Framework with a server (e.g. Next.js, Astro SSR) | next.config.* or an SSR adapter in the config. | Vercel / Netlify / Cloudflare with framework support. |
Get your code out
- Built-in: Project settings → Domains & Hosting → Hosting Provider → Netlify → Publish (custom domains don't carry over automatically).
- Download the project as a .zip, or push it to GitHub, then import into any host.
Build settings
- Build command
-
npm run build - Output
- dist (Vite)
- Node
- Use the version in package.json engines, or current LTS
Environment variables to copy
-
VITE_SUPABASE_URL / VITE_SUPABASE_ANON_KEY (if using Supabase — names may differ; check your .env)
Gotchas
- The .env file in Bolt isn't uploaded to your host automatically; re-enter variables in the host dashboard and rebuild.
- Vite only exposes variables prefixed VITE_ to the browser.
Step-by-step guides for Bolt.new
- Netlify Built into Bolt — one click from Project settings.
- Vercel Solid choice via GitHub or a zip export. Hobby is non-commercial.
- Cloudflare Pages Free and generous for Bolt's typical Vite apps.
- Hostinger Works for static Vite builds if you already have Hostinger web hosting.
Database & login
Data: Supabase (opens in a new tab): Free: 500 MB database, 50,000 MAU, 5 GB egress, 1 GB file storage, 2 active projects. Compare databases
Auth: Supabase Auth (opens in a new tab): Free: 50,000 MAU, social OAuth, anonymous sign-ins, basic MFA.
Common errors
- Supabase warns “RLS disabled” — your table is public
- “new row violates row-level security policy” (42501)
- Page works, but refreshing it gives a 404
- Blank page or “supabaseUrl is required” after moving off the builder
- Google login sends you back to localhost (or “redirect_uri_mismatch”)
- Deploy succeeds but shows a blank page or “Page not found”
- Firebase: “This domain is not authorized for OAuth operations”