Pricing
Safety features are in every plan and are never gated by billing.
- Starterup to 5 nodesThe first app, fully guarded: the safety set, cost ceiling, incident reports.Connect read-only€5/monthbilled monthlyor €50 a year, two months free€4.17/month€50 billed yearly, two months freeor €5 billed monthly
- Growthup to 20 nodesA bigger fleet, the same product.Connect read-only€10/monthbilled monthlyor €100 a year, two months free€8.33/month€100 billed yearly, two months freeor €10 billed monthly
- Proup to 50 nodesAutomation and integrations for a small team.Connect read-only€20/monthbilled monthlyor €200 a year, two months free€16.67/month€200 billed yearly, two months freeor €20 billed monthly
- Teamup to 150 nodesThe organisation: roles, audit export, policy templates, priority support.Connect read-only€60/monthbilled monthlyor €600 a year, two months free€50.00/month€600 billed yearly, two months freeor €60 billed monthly
Live needs a plan: your organisation's owner chooses one on the Billing page, and the first payment opens Live. Observe needs no plan and no card.
EnterpriseMore than 150 nodes, SSO/SAML, an SLA, a security review, custom limits and onboarding. Agreed price, no checkout.
Write to us- No per-server fee.No meter either: your plan covers the capacity of your fleet.
- Starter costs less than the load balancer it manages.Starter is €5; a Hetzner LB11 is €7.49.
- Cancel and everything stays.Nodes are never destroyed; they remain in your project, labelled.What stays, and how to remove it
In every plan
- Observe read-onlyWhile a project only observes, Hetscale holds a read-only Hetzner token. It records every action it would have taken; nothing is created or deleted. This is the trial mode.
- Rehearsal supervisedA supervised rehearsal: one short-lived server is created from your template, deployed, health-checked, drained and deleted while you watch; Hetzner bills at least one started hour. Success unlocks Live.
- Propose approvalEach scaling action is proposed with its reason and waits for approval in the dashboard; a mail links you to it. Unapproved proposals expire, and healing acts on its own.
- Live actingHetscale acts inside the minimum and maximum you set. Switching back to a safer mode takes effect immediately.
- Health check before any traffic
- Every action explained in the log
- Self-healing
- Cost guard
- Cost ceiling in euros per group
- Location fallback within the zone, and larger types you allow as an opt-in
- Drain, pause and emergency stop
- All deployment adapters (snapshot and webhook; Coolify through the snapshot)
- Incident report after every healing, shortfall or quarantine
- Alerts by email, bundled per organisation
- Release age warning
- Unlimited node groupsA node group is one set of identical servers behind one load balancer that scales together, for example "web" or "workers". Every plan includes as many as you need; what you pay follows the nodes they run.
- Fair use the Hetzner API budget of your projectWe don’t charge per server and there is no meter: the plan covers the capacity it names. The other limit is the Hetzner API budget of your project; its page in the dashboard shows how much is left and how many requests Hetscale sent this hour.
What differs between plans
Capacity
| Starter | Growth | Pro | Team | |
|---|---|---|---|---|
| NodesEvery node of your node groups in Live or paused, added up over every Hetzner project you connect: the ones Hetscale created and the servers you already run, the group’s seed included. A node group in Observe is not counted, and neither is a node that is draining. | 5 | 20 | 50 | 150 |
| Room above that capacity per monthA scale-out that crosses the capacity still runs: the number is commercial, never the reason your application runs short during a peak. Time above it counts against this monthly budget, which resets on the first. When the budget is spent, one mail gives you seven days to move up a plan; after that only new nodes above the capacity are held, until you change the plan or the month ends — nothing running is touched, scaling below the capacity continues and the plan never holds healing. There is no overage billing and no meter. | 24 h | 48 h | 72 h | 120 h |
| Hetzner projectsHetzner recommends separate projects for production and staging. Each project has its own API budget. A project counts once it holds a Read & Write token for one of its node groups, connected on the Go Live page; after a downgrade you choose which projects stay Live. | 1 | 2 | 3 | Unlimited, several accounts |
| Capacity historyProvisioning attempts, capacity-deficit minutes and fallback usage, per group. | 30 days | 60 days | 90 days | 1 year |
Nodes
- Starter
- 5
- Growth
- 20
- Pro
- 50
- Team
- 150
Every node of your node groups in Live or paused, added up over every Hetzner project you connect: the ones Hetscale created and the servers you already run, the group’s seed included. A node group in Observe is not counted, and neither is a node that is draining.
Room above that capacity per month
- Starter
- 24 h
- Growth
- 48 h
- Pro
- 72 h
- Team
- 120 h
A scale-out that crosses the capacity still runs: the number is commercial, never the reason your application runs short during a peak. Time above it counts against this monthly budget, which resets on the first. When the budget is spent, one mail gives you seven days to move up a plan; after that only new nodes above the capacity are held, until you change the plan or the month ends — nothing running is touched, scaling below the capacity continues and the plan never holds healing. There is no overage billing and no meter.
Hetzner projects
- Starter
- 1
- Growth
- 2
- Pro
- 3
- Team
- Unlimited, several accounts
Hetzner recommends separate projects for production and staging. Each project has its own API budget. A project counts once it holds a Read & Write token for one of its node groups, connected on the Go Live page; after a downgrade you choose which projects stay Live.
Capacity history
- Starter
- 30 days
- Growth
- 60 days
- Pro
- 90 days
- Team
- 1 year
Provisioning attempts, capacity-deficit minutes and fallback usage, per group.
Automation and integrations
| Starter | Growth | Pro | Team | |
|---|---|---|---|---|
| Scheduled scaling | Not included | Not included | Included | Included |
| Pre-warm suggestions from your own history1 | Not included | Not included | Planned | Planned |
| Slack and Discord alertsOne message per alert batch in a Slack or Discord channel, from the level you choose, in your language. | Not included | Not included | Included | Included |
| /metrics for PrometheusEvery node group’s capacity, Time to Capacity, state and limits in the Prometheus text format, read with an API token. | Not included | Not included | Included | Included |
| Outgoing event webhooksAlerts at once and every timeline event as signed JSON to your https endpoint; up to five integrations per organisation. | Not included | Not included | Included | Included |
| Monthly summary mailOn the first of the month: scale-outs, scale-ins, healings, time short of capacity, Time to Capacity, the autoscaling cost at list prices and the servers in service. | All groups together | All groups together | Per node group | Per node group |
| Target trackingHold one metric at the value you pick, such as CPU at 60%: Hetscale adds the servers that bring it back and removes one at a time once it would stay below 90% of it. | Not included | Not included | Included | Included |
| Custom metrics agent1 | Not included | Not included | Planned | Planned |
Scheduled scaling
- Starter
- Not included
- Growth
- Not included
- Pro
- Included
- Team
- Included
Pre-warm suggestions from your own history1
- Starter
- Not included
- Growth
- Not included
- Pro
- Planned
- Team
- Planned
Slack and Discord alerts
- Starter
- Not included
- Growth
- Not included
- Pro
- Included
- Team
- Included
One message per alert batch in a Slack or Discord channel, from the level you choose, in your language.
/metrics for Prometheus
- Starter
- Not included
- Growth
- Not included
- Pro
- Included
- Team
- Included
Every node group’s capacity, Time to Capacity, state and limits in the Prometheus text format, read with an API token.
Outgoing event webhooks
- Starter
- Not included
- Growth
- Not included
- Pro
- Included
- Team
- Included
Alerts at once and every timeline event as signed JSON to your https endpoint; up to five integrations per organisation.
Monthly summary mail
- Starter
- All groups together
- Growth
- All groups together
- Pro
- Per node group
- Team
- Per node group
On the first of the month: scale-outs, scale-ins, healings, time short of capacity, Time to Capacity, the autoscaling cost at list prices and the servers in service.
Target tracking
- Starter
- Not included
- Growth
- Not included
- Pro
- Included
- Team
- Included
Hold one metric at the value you pick, such as CPU at 60%: Hetscale adds the servers that bring it back and removes one at a time once it would stay below 90% of it.
Custom metrics agent1
- Starter
- Not included
- Growth
- Not included
- Pro
- Planned
- Team
- Planned
Team and governance
| Starter | Growth | Pro | Team | |
|---|---|---|---|---|
| SeatsPeople who can sign in to your organisation in Hetscale, and the invitations still open. The owner or an admin invites by address from the Members page. Team has viewer, operator and admin roles instead of a seat count. | 2 | 3 | 5 | Roles |
| Audit logEvery change in your organisation: by your people, their API tokens, and Hetscale’s writes to your Hetzner projects, sealed into a hash chain. Every plan keeps a year; the Audit log page shows as far back as the plan’s history reaches. Team shows the whole year and exports it. | 30 days | 60 days | 90 days | 1 year + export |
| Org-level policy templatesScaling policies saved once for the organisation and copied into groups on purpose; a new version reaches no group by itself. | Not included | Not included | Not included | Included |
| SupportEvery plan writes to support@hetscale.com. Team’s mail is answered first, with a first reply within one business day. A problem Hetscale causes on your servers comes first on every plan. | Priority |
Seats
- Starter
- 2
- Growth
- 3
- Pro
- 5
- Team
- Roles
People who can sign in to your organisation in Hetscale, and the invitations still open. The owner or an admin invites by address from the Members page. Team has viewer, operator and admin roles instead of a seat count.
Audit log
- Starter
- 30 days
- Growth
- 60 days
- Pro
- 90 days
- Team
- 1 year + export
Every change in your organisation: by your people, their API tokens, and Hetscale’s writes to your Hetzner projects, sealed into a hash chain. Every plan keeps a year; the Audit log page shows as far back as the plan’s history reaches. Team shows the whole year and exports it.
Org-level policy templates
- Starter
- Not included
- Growth
- Not included
- Pro
- Not included
- Team
- Included
Scaling policies saved once for the organisation and copied into groups on purpose; a new version reaches no group by itself.
Support
- Starter
- Growth
- Pro
- Team
- Priority
Every plan writes to support@hetscale.com. Team’s mail is answered first, with a first reply within one business day. A problem Hetscale causes on your servers comes first on every plan.
- 1Planned; not sold before it ships.
Need a planned feature sooner? Write to support@hetscale.com with your case.
All prices in EUR, ex-VAT, as of 2026-09-22; the Hetzner load balancer price is the list price of 2026-09-17. Every plan starts with the read-only 14-day Observe trial; no card is needed for it. If a payment fails or a plan is cancelled there is a 14-day grace period, then Hetscale only observes your groups until a plan applies again; nodes are never destroyed and everything stays in your Hetzner project. All support is by email to support@hetscale.com. In the dashboard, "Contact support" in the user menu writes to the same address, and "Report a problem" on a group page sends your description with the group's state and recent events; the reply comes to you by email. Team's mail is answered first, with a first reply within one business day; a problem Hetscale causes on your servers comes first on every plan.
Want help going Live? Write to us and we go through your policy, health check and Rehearsal with you by email.
Terms used on this page
Short answers. The docs have the long ones.
What is a node?
One Hetzner Cloud server inside a node group. Hetscale creates and deletes nodes; what runs on them comes from your snapshot, image, cloud-init or deploy hook. The one thing Hetscale adds is a fixed first-boot step that removes Coolify’s monitoring container where there is one.
What is a node group?
A set of identical, stateless servers behind one Hetzner load balancer that scale together. A typical setup has one group, "web". A second group might be "workers" or a staging copy. Every plan includes as many groups as you need; what you pay follows the nodes they run.
Which nodes count towards my plan?
Every node of your node groups in Live or paused, added up over every Hetzner project you connect: the ones Hetscale created and the servers you already run, the group’s seed included. A node group in Observe is not counted, and neither is a node that is draining. The count is checked when a node is about to be created, never afterwards.
What happens when a peak needs more nodes than my plan covers?
The nodes are created. The capacity is a commercial number, never the reason your application runs short during a peak: a scale-out that crosses it runs, bounded by the group’s maximum, the cost guard, your euro ceiling, your own node cap if you set one, and the next plan’s capacity. The time spent above the capacity counts against a monthly budget (Starter 24 h, Growth 48 h, Pro 72 h, Team 120 h) that resets on the first. When that budget is spent, one mail gives you seven days to move up a plan; after that new nodes above the capacity are held until you change the plan or the month ends, nothing running is touched, scaling below the capacity continues and the plan never holds healing. If you would rather never go above the plan, a switch on your organisation’s profile holds every node above it. There is no overage billing and no meter.
What counts as a seat?
A member of your organisation, or an invitation still open. Starter has two seats, Growth three, Pro five; Team has viewer, operator and admin roles instead of a seat count. The owner or an admin invites by address from the Members page; the link works for a week and only for that address. A downgrade removes nobody: new invitations wait until members leave.
We run apps for clients. How do we set that up?
Two ways. In one organisation of yours, connect each client’s Hetzner project, also from the client’s own Hetzner account, and give each app its own node group; Team connects any number of projects. Every member of an organisation sees all its node groups, and below Team every member is an admin, so keep that organisation for your own team. For client reports, the monthly summary mail has one section per node group on Pro and Team, and on Team the owner and admins export the year’s audit log as CSV or JSON Lines, for the whole organisation. Or give each client an organisation of its own: create it with “New organization”, invite the client as an admin, and once they have joined, make them the owner with “Make owner” before a plan is chosen, because a plan’s invoices keep going to the address entered at its checkout. The client then chooses and pays for the plan on the Billing page, you stay an admin, and Starter’s two seats hold you both.
What is the difference between the four modes?
Observe reads only and reports what it would have done. Rehearsal is a supervised rehearsal: one short-lived server is created, checked, drained and deleted while you watch; Hetzner bills at least one started hour. Propose executes each scaling action after you approve it; healing acts on its own. Live executes inside your range. You can move a group to a safer mode at any time, with immediate effect; Live needs a passed Rehearsal.
Is there a per-server fee?
No. We don't charge per server, there is no meter and we never take a percentage of your Hetzner bill. A plan covers the capacity of your fleet; that is the whole price.
Can I put a ceiling on what autoscaling spends?
Yes, per group, in euros. Hetscale adds up the started hours of the nodes it created at Hetzner list prices and stops creating nodes, replacements included, when the month's total reaches your ceiling, until the month ends. Running nodes are never touched. The figure is Hetscale's own arithmetic, not your Hetzner invoice: your seed server and the rest of your Hetzner bill are not part of it, and Hetscale never estimates your total bill.
Is there a free plan?
Not a plan. After the 14-day Observe trial you can refresh your capacity report every 30 days, free, without continuous polling and without a card. Refreshing asks for a read-only token again, which takes about two minutes.
Does the trial need a card?
No.
What happens if I stop paying?
If a payment fails or a plan is cancelled there is a 14-day grace period, then Hetscale only observes your groups until a plan applies again; nodes are never destroyed and everything stays in your Hetzner project.