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.
Automatically paused databases
If your project’s Bolt database hasn’t been used for six days or more, it may be automatically paused to conserve resources. When you next open your project, you’ll see a message letting you know that the database is being restored. This process usually only takes a few minutes. This is a normal, routine operation. Please wait for the restoration to finish before making any changes to your project to avoid potential issues.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)
- View your database Tables.
- Review Logs to debug errors and track activity in your app.
- Check your Security Audit performance.
- Under the Advanced tab, connect to an existing Supabase database or claim your Bolt database in Supabase.
Viewing and managing tables
Clicking a table in the Tables tab opens it in a separate window. From there, you can perform several actions:- View policies – Review the row-level security (RLS) policies applied to the table. To make updates, ask Bolt for help or check the Security Audit tab for automatic fixes.
- Add a row – Manually create a new database entry by completing the form and clicking Save changes.
- Filter – Narrow the displayed results by filtering data based on column values.
- Refresh – Update the view to display any recent changes in the database.
- Query – Search the table by entering a query and clicking Run Query.
Security Audit
When viewing database details, select the Security Audit tab to review potential issues, such as missing RLS policies or insecure permissions. If any issues appear, click Ask Bolt to fix them 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 or Google SSO login settings.
Email authentication
This option allows your project’s users to sign up using their email address. Clicking Email in the Authentication settings opens the Email Provider Settings window, where you can enable or disable the following options:- Allow or block email-based signup and login
- Require users to confirm their email after signing up
- Require confirmation from the old address before changing an email
- Require recent login (reauthentication) before changing a password
- Prevent signups with weak or commonly used passwords
Edit email templates
Bolt lets you edit the email templates used to communicate with users. To edit your templates, follow these steps:- Click the database icon in the top center of your screen.
- Click Authentication.
- Click the Email row.
- Click Edit email templates.
- Choose the template you want to edit from the top menu.
- Change the subject line or message body as needed.
Click the Preview button to see what the email with your changes will look like to your recipients.
| Name | Description |
|---|---|
{{ .ConfirmationURL }} | Contains the confirmation URL. For example, a signup confirmation URL would look like: https://project-ref.supabase.co/auth/v1/verify?token={{ .TokenHash }}&type=email&redirect_to=https://example.com/path . |
{{ .Token }} | Contains a 6-digit One-Time-Password (OTP) that can be used instead of the {{. ConfirmationURL }} . |
{{ .TokenHash }} | Contains a hashed version of the {{ .Token }}. This is useful for constructing your own email link in the email template. |
{{ .SiteURL }} | Contains your application’s Site URL. This can be configured in your project’s authentication settings. |
{{ .RedirectTo }} | Contains the redirect URL passed when signUp, signInWithOtp, signInWithOAuth, resetPasswordForEmail or inviteUserByEmail is called. The redirect URL allow list can be configured in your project’s authentication settings. |
{{ .Data }} | Contains metadata from auth.users.user_metadata. Use this to personalize the email message. |
{{ .Email }} | Contains the original email address of the user. Empty when trying to link an email address to an anonymous user. |
{{ .NewEmail }} | Contains the new email address of the user. This variable is only supported in the “Change Email Address” template. |
Bolt Database email templates are powered by Supabase technology. If you want a deeper look at topics like mobile deep linking, email prefetching, routing signups through a server endpoint, or tailoring emails based on signup method, see the Supabase Email Templates documentation.
Google authentication
This option allows your project’s users to sign up using Google Secure Sign-On (SSO), meaning they can log in with their Google accounts instead of signing up with an email and password.For a full Google SSO setup guide, see Google SSO authentication.
- Allow or block Google sign-in
- Enter your Google Client ID
- Enter your Google OAuth Client Secret

Advanced Authentication options

https://bolt-native-database-ocg0.bolt.host/**
Automatic updates
You don’t need to manage these URLs manually in most cases. Bolt will automatically update these values when neded.
If you need to override these values you can. Bolt will respect your manual changes.
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.
User management
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
- Invite users to your project via email
- Create and delete users
- Search for users by email/ID

- Log in to Bolt and open your project.
- Click the database icon in the top center of your screen.
- Click User Management in the left menu.
Add new users
From the User Management dashboard, you can add new users by manually creating a row in the database or sending an invitation via email. Simply click the Add User button and then select Create new user or Send invitation. See the video below for examples.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 .svgText 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 .sBolt 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-related rows in the table.
Claim your Bolt Database in Supabase
For most use cases, staying with Bolt keeps things simple and gives you unlimited free databases. However, if you need external management tools, SQL editing, or advanced monitoring, you may prefer to use Supabase. If you’ve started a Bolt database that you’d like to use with Supabase instead, see Claiming your Bolt Database in Supabase.Connect to a Supabase database
If you want to connect an existing or new Supabase database instead of using a Bolt database, see Connect a Supabase database.If your project already has a Bolt database, connecting a Supabase database will replace the connection, which may cause data loss. You can Claim your Bolt Database in Supabase instead.
FAQs and troubleshooting
I want to switch from Supabase to Bolt Database, can I?
I want to switch from Supabase to Bolt Database, can I?
There is currently no supported flow for migrating Supabase databases to Bolt databases.