Quickstart
From a new account to your first issue: create a workspace, connect Hetzner, create a project, install the SDK and send a test error.
On this page
This guide takes you from a new account to your first issue. Most of it is clicking through the Belvador app; the only code you write is the SDK setup in your own app.
Before you start#
An email address for your Belvador account.
An authenticator app on your phone (for example Google Authenticator, 1Password or Authy). Two-factor authentication is required before you connect Hetzner.
A Hetzner Cloud account with a payment method. Hetzner bills the server to you at its hourly rate; Belvador is free during the beta.
The app you want to monitor, and permission to change its code.
1. Create your account#
On belvador.dev choose Start free.
Enter your name, email and a password, then confirm the email Belvador sends you (Check your email).
Sign in. With no workspace yet, Belvador opens Create your workspace.
2. Create a workspace#
A workspace holds your projects, alerts, team and one node in your Hetzner account.
Enter a Workspace name.
Check the Workspace address: 3–40 characters, lowercase letters, digits and hyphens. It is part of every link and cannot be changed later.
Choose Create workspace.
3. Turn on two-factor authentication#
Belvador asks you to Protect your account next. Two-factor is needed before you connect Hetzner or change roles, and sensitive actions ask for a fresh code later.
Scan the QR code with your authenticator app (or type the secret shown under it).
Enter the 6-digit code.
Save the Recovery codes somewhere safe. Each code works once and they are shown only now.
You can choose Do this later, but connecting Hetzner will ask for it. Details: Account, two-factor and roles.
4. Connect Hetzner#
In Belvador open Node → Connect Hetzner, then in Hetzner Console:
Create a project named “Belvador”. A separate project means the token can only touch Belvador's machine — keep your other servers elsewhere.
Generate an API token: in that project open Security → API Tokens → Generate API token, with Read & Write permission.
Copy it now. Hetzner shows the token only once.
Paste the token into Belvador and pick a Token custody mode:
Managed (recommended) — the vault keeps the token encrypted, so resizing, rebuilding and deleting run automatically.
Strict — the vault deletes the token as soon as the node is ready; later operations ask you for a temporary token. Only owners can choose Strict.
The token goes straight to Belvador's vault; it never passes through the Belvador app or its database. More: Connect Hetzner and set up your node.
5. Create the node#
Choose Create node. Belvador picks the cheapest machine that fits — cx23, or the ARM cax11 when cx23 is sold out — in Falkenstein, Nuremberg or Helsinki, and shows each step: Check token → Create firewall → Create server → Start server → Enroll agent → Harden host → Connect to edge → Install node software → Health check → Ready.
In our own tests this took about 90 seconds; it can take longer when Hetzner is busy. You can leave the page — setup continues in the background. If a step fails, the timeline shows which one and offers Retry from this step.
The node opens no inbound ports, SSH included. It only connects out.
6. Create a project#
Open Projects → New project.
Name the app and pick its platform: JavaScript (browser), React (Vite / SPA), TanStack Start / Lovable, Node.js, Python or Other.
Belvador shows the project's DSN and setup code right away.
Use one project per app. See Projects and DSN.
7. Install the SDK#
Follow the setup shown on the project page, or the guide for your platform — the code is the same:
| Your app | Guide |
|---|---|
| Lovable app or TanStack Start | TanStack Start and Lovable |
| React with Vite or another SPA setup | React 18 and React 19 |
| Other browser JavaScript | JavaScript in the browser |
| Cloudflare Worker | Cloudflare Workers |
| Node.js server | Node.js |
| Python | Python |
Working with an AI coding agent? The project page has Paste into your AI agent, and Guide for AI agents explains what the agent must keep intact.
8. Verify the connection#
A first issue alone does not prove that every part of your app reports. The last step of Setup — and the project's Connection tab — show the check for your platform: run it once from each runtime (browser and, for TanStack Start, the server). Each runtime turns Verified within seconds; anything wrong shows as a problem with what to fix. See Verify the connection.
To see a real issue as well, trigger an error in your app, for example from a button handler:
setTimeout(() => { throw new Error("Belvador test error");}, 0);It appears under Issues within a few seconds with its stack trace, tags and context.
Next steps#
Invite your team from Settings → Members — see roles.
Connect a Telegram bot, Slack or your own email sender in Alerts.
Upload source maps from CI so stack traces show your original code.
Read Data protection before sending production data.
Add monitors for scheduled jobs, queues and workers, so a job that never runs is noticed too.
Spotted something wrong or missing? Tell us: hello@belvador.dev