Benefits of Bolt Database
Using a Bolt database helps you get more complicated web apps up and running quickly:- Unlimited databases: Create as many databases as needed.
- No manual setup: Skip configuring servers or hosting, Bolt handles it for you.
- Built-in authentication management: Easily add user sign-up capabilities to your project.
- One place for monitoring: Keep track of security and logs without switching tools.
- Future-proof connections: Easily connect external tools later for advanced control.
If you’re new to the concept of databases and their importance in web development, you can learn more in our Introduction to databases article.
Creating and Using Databases with Claude Agent
When working with Claude Agent, new Bolt databases are created automatically based on your project’s needs or when you explicitly ask the agent to create a database or a database-related feature. This makes it easy to get started without setting anything up manually. If you are using v1 Agent (legacy), you can inherit a Bolt database that was created with Claude Agent, but you cannot create new databases while working in v1 Agent. For new projects, Bolt strongly recommends using Claude Agent and letting it create and manage Bolt databases for you. This approach ensures your projects stay up to date with the latest features and are easier to maintain.See Agents to learn more about the differences between agents and how to switch.
Ask Bolt not to create a database
If you don’t want Bolt to provision a database, you can explicitly request this. For example, when submitting a prompt, add the instruction:Don't use a database, I want to use local storage for this app.
Version history and database restores
Bolt’s Version History feature currently does not support database restores.
Projects with Supabase databases published prior to September 30, 2025
Before September 30, 2025, Bolt projects required you to use your own Supabase account for databases. After this date, new projects created with Claude Agent use Bolt databases by default. Bolt does not support switching existing projects from Supabase to Bolt Database.
- Keep using Supabase for your databases.
- Supabase databases cannot be converted into Bolt databases.
- You can switch from v1 Agent (legacy) to Claude Agent at any time. Your Supabase databases will still work. The only change you may notice is that your chat history window will reset when you switch.
- Claude Agent will create and use Bolt databases by default.
- You can migrate a Bolt database to Supabase later if you want.
- Projects created with v1 Agent (legacy) only support Supabase databases. These must be added after the initial build. The v1 Agent (legacy) cannot create Bolt databases.
See Agents to learn more about switching between Claude Agent and v1 Agent (legacy) in Bolt.
How Bolt provisions a database
When you create a project, Bolt can automatically create a database if your app requires one or if you explicitly request it. For example, if you create a trivia app, Bolt will set up a database to store questions and answers. Features like user authentication may not be added automatically, but you can prompt Bolt to include sign-up and log-in if your app requires them. For example:Create user accounts via email signup and login, then add account sign in/log out buttons in the top right corner of the home page.
Database settings
.png?fit=max&auto=format&n=GebW-YWW0mDW9jeI&q=85&s=5059edd9743fac03c99d1d24a581ec42)
- Database
- Authentication
- Server Functions
- Secrets
- User Management
- File Storage
Database: view and manage your databases
The Database section of your Project Settings lets you work with your data in a simple table view. To open the Database section, click the Database icon in the top center of your screen. Here you’ll see all the different databases created by Bolt..png?fit=max&auto=format&n=GebW-YWW0mDW9jeI&q=85&s=1e7b14837468d06024c368fedc34a19c)
- Review logs to debug errors and track activity in your app.
- Claim your database in Supabase under the Advanced tab.
Security Audit
When viewing Database information, click the Security Audit tab to check for potential issues. If any are found, click Ask Bolt to fix to have them resolved automatically.Authentication settings
To view Authentication settings, click the gear icon in the top center of your screen, then click Authentication..png?fit=max&auto=format&n=Akhg1ig10vOZu5es&q=85&s=e1dfd1a6f283677b6354adc711a3b5d7)
- Toggle whether new users are allowed to sign up.
- Toggle whether or not anonymous sign-ins are allowed.
- Configure email-based login (which is currently the only available sign-in method).
Server functions (also known as edge functions)
When you build an app, not everything can safely or efficiently happen on the user’s device. Some tasks need extra security, reliability, or power. That is where server functions (sometimes called edge functions) come in. Server functions handle important work behind the scenes, like talking to your database, checking permissions, or processing payments. Instead of running this logic directly in a user’s browser or mobile app, where it could be slower or less secure, the function runs on a server. This keeps sensitive information safe and ensures your app behaves the same way for every user. Think of them as trusted helpers that live outside the app but make sure everything runs smoothly. By using server functions, you can build apps that are faster, safer, and easier to maintain.Server functions in Project Settings
The Server Functions window displays all server-side (edge) functions currently deployed. This is helpful for debugging and tracking the backend logic that runs alongside your database. Situations where server functions may add value include:- Authenticated or public HTTP endpoints that need low latency.
- Webhook receivers (Stripe, GitHub, etc.).
- On-demand image or Open Graph generation.
- Small AI inference tasks or orchestrating calls to external LLM APIs (like OpenAI)
- Sending transactional emails.
- Building messaging bots for Slack, Discord, etc.
.png?fit=max&auto=format&n=Akhg1ig10vOZu5es&q=85&s=0140425776112a7dd39f8674e5967347)
Click View Logs in a function’s row to see its detailed information.
Manage secrets
Secrets are used by your server functions (also known as edge functions) to safely access sensitive information, like API keys or database passwords, without exposing them to users. When a server function runs, it can securely read the secret and complete its task, such as making a request to an external service. This helps keep your app secure and ensures that private information never ends up in your users’ browsers or devices. If you’re using Claude Agent, you’ll automatically be prompted when it is time to add these. For example, if you send a message like “Integrate OpenAI,” the agent will complete the coding and then display a message asking you to add your secret, along with a link to the Secrets tab.
You can manually create secrets by entering a name, then a value, then clicking Create secret. Alternatively, you can delete secrets by clicking Delete in a secret’s row.
- Rotate your keys regularly to reduce risk.
- Remove keys you no longer use.
- Never store secrets in plain text in your code.
Track user activity
The User Management section gives you insight into how people use your app. Here, you can:- View a graph of sign-ups over time.
- See a list of the most recently added users.
- Click the gear icon in the top center of your screen, then click All project settings.
- Click User Management.
File storage
Bolt includes built-in file storage that connects seamlessly with your database. To view your stored files, follow these steps:- Click the gear icon in the top center of your screen, then click All project settings.
- Click File Storage.
Supported file types
Supported file types
Images:
.jpg
.jpeg
.png
.gif
.webp
.svg
Text files: .pdf
.txt
.doc
.docx
.py
.ipynb
.js
.mjs
.cjs
.jsx
.html
.css
.scss
.sass
.ts
.tsx
.java
.cs
.php
.c
.cc
.cpp
.cxx
.h
.hh
.hpp
.rs
.swift
.go
.rb
.kt
.kts
.scala
.sh
.bash
.zsh
.bat
.csv
.log
.ini
.cfg
.config
.json
.yaml
.yml
.toml
.lua
.sql
.md
.tex
.latex
.asm
.ino
.s
Bolt can upload file types for a wide range of programming languages. Bolt only builds JavaScript-based applications (see Supported technologies), but you can upload files from other programming languages to guide Bolt, or ask Bolt to convert them into JavaScript.View Bolt Database limits
You can view database-related limits in the Cloud section of your Personal Settings.
- Click your profile icon in the top right of your screen, then click Settings.
- Click Cloud.
- Review the Database table, which shows limits pooled across all of your projects.
Claim your Bolt Database in Supabase
The main reason to claim a Bolt database is to unlock advanced Supabase features. For most use cases, staying with Bolt keeps things simple and gives you unlimited free databases. If you need external management tools, SQL editing, or advanced monitoring, you may prefer to use Supabase. To do so, follow these steps:- Ensure you have connected Bolt to your Supabase account.
- Log in and open the project with the database you want to claim.
- Click the Database icon in top center of your screen.
- Click the Advanced tab.
- Click Claim.