aether
Pricing

The control plane is free. The rest is one rate card.

Everything you pay for is on this page. Platform services — sign-on, registry, DNS, TLS, backups, observability — are included with the control plane; the resources they use are billed at the rates below, and nothing else is.

A cluster is billed either from a package or custom, chosen when you create it and fixed for its lifetime. The rate card, the calculator and the example bills below are the custom rates. Jump to packages →

Aether rate card for custom clusters, EUR per month, VAT excluded
ResourcePriceUnitNotes
Control planeFree/cluster/moPlatform services run on it at no charge; the resources they consume are billed on the rows below
vCPU€8/vCPU/moAllocated across worker nodes
Memory€3.50/GB/moAllocated across worker nodes
Node disk€0.12/GB/moThe worker VM's own disk — you pick the size per node, and it bills per GB on top of vCPU and RAM
Block volume (RWO)€0.15/GiB/moCeph-backed PersistentVolumes in your cluster. Charged for the provisioned capacity, regardless of how much data is stored. Measured once every clock hour at the monthly rate ÷ 730
Shared volume (RWX)€0.18/GiB/moCephFS volumes many pods mount at once. Charged for actual usage observed at billing measurement time, because capacity is not hard-quota limited. Measured once every clock hour at the monthly rate ÷ 730
Load balancer€8/Service/moA dedicated load-balancer VM per Service of type LoadBalancer; its public IP is included. Flat month, no proration, locked the first time the billing sampler observes the address
Public API endpoint€4/cluster/moThe dedicated public IPv4 your Kubernetes API answers on. Every cluster currently requires a separately billed public API endpoint — it is mandatory. The worked examples and the calculator totals on this page include it; package fees are listed without it, and the packages table shows both. Flat month, no proration, locked the first time the billing sampler observes the address — the sampler runs every few minutes, so the lock is distinct from the moment the address is created. Private-network connectivity, which would make the public endpoint optional, is a future capability
Registry storage€0.15/started GiB/moBilled per organization across all your clusters; vulnerability scanning included. Measured once every clock hour at the monthly rate ÷ 730, so an image pushed and deleted between two observations costs nothing
Volume snapshots€0.05/GB/moPublished price — snapshots are not yet available to tenant clusters and are not metered, so they cannot appear on an invoice today

All prices in EUR per month, VAT excluded. Fixed node pools bill the full calendar month with no proration: a pool’s monthly amount is locked when its grace period expires, for the month in which the grace period expires, and in every later month the first time the pool — or, for a package, the cluster — is seen in that month. Autoscaling pools bill per started node-hour (monthly rate ÷ 730, each started hour rounded up). Every node has a 15-minute grace period, measured from the moment it first appears in the cluster’s node list — a node removed within that window carries no node charge, and for a fixed pool the waiver is keyed on the pool, running from its first node appearing. Volumes and registry storage are charged per hourly observation — once every clock hour the billing sampler observes what exists and charges that hour at the monthly rate ÷ 730 — so a full 31-day month is 744 hours. No egress, bandwidth or API-call fees. How the isolation behind these clusters works is on the security page.

Packages

Or one flat fee with an allowance.

A package is a flat monthly fee per cluster with a whole-cluster budget of vCPUs, memory and node disk. You choose package or custom when you create the cluster, and the choice is fixed for the cluster’s lifetime.

Dev

€29/cluster/mo · VAT excl.

Nodes
1
vCPU
2
Memory
8 GB
Node disk
50 GB

Offered as 1 × 2 vCPU / 8 GB / 50 GB

Starter

€79/cluster/mo · VAT excl.

Nodes
2
vCPU
8
Memory
32 GB
Node disk
200 GB

Offered as 2 × 4 vCPU / 16 GB / 100 GB

Growth

€179/cluster/mo · VAT excl.

Nodes
3
vCPU
24
Memory
96 GB
Node disk
600 GB

Offered as 3 × 8 vCPU / 32 GB / 200 GB

Scale

€279/cluster/mo · VAT excl.

Nodes
5
vCPU
40
Memory
160 GB
Node disk
2500 GB

Offered as 5 × 8 vCPU / 32 GB / 500 GB

Each package fee, and the same fee with the mandatory €4 public API endpoint every cluster carries. EUR per month.
PackagePackage feeWith mandatory endpoint
Dev€29€33
Starter€79€83
Growth€179€183
Scale€279€283

These totals exclude VAT and additional resources.

The allowance is a budget, not a bundle. Your cluster’s fixed pools consume it first; an overage line is created when the cluster’s fixed pools exceed the allowance, counting only nodes whose grace period has expired. Anything above the allowance in any dimension is priced at the custom rates — €8 per vCPU, €3.50 per GB, and €0.12 per GB of node disk. Each dimension stands on its own: unused memory does not offset extra vCPUs, and unused allowance is not credited. Node count is not priced.

Starter allowance 8 vCPU / 32 GB / 200 GB, fixed pools totalling 12 vCPU / 48 GB / 300 GB → 4 vCPU €32.00 + 16 GB €56.00 + 100 GB disk €12.00 = €100.00 overage, on top of the €79 package fee.

Newly created nodes do not trigger package overage during their initial 15-minute grace period. If removal is requested within that period, no overage is charged for that node.

If we detect repeated creation and removal intended to exploit this grace period, we may defer removal until the node is at least 16 minutes old. The grace-period exemption then no longer applies, and the applicable package overage charges become payable. This enforcement delay is separate from ordinary node draining, which does not extend billable lifetime.

The package fee bills on the same terms as a fixed pool: a full calendar month, not prorated and not refunded on deletion. A fixed pool’s or package’s monthly amount is locked when its grace period expires, for the month in which the grace period expires; in every later month it is locked the first time the pool — or, for a package, the cluster — is seen in that month. Deleting the pool later in a month does not refund the locked amount. The 15-minute grace period applies through the cluster — the fee is not charged if the cluster is removed within 15 minutes of its first node appearing in the cluster’s node list. The overage amount is locked the first time the cluster is observed with its fixed pools over the allowance, counting only nodes whose grace period has expired — not at the start of the month — and is not repriced later in the same month. An autoscaling node that fits entirely inside the allowance left after the fixed pools is covered by the package and accrues no hourly charge; one that does not fit bills per node-hour like any autoscaling node, and a node keeps the treatment it got when it came up.

A package does not include the €4 public API endpoint, load balancers, persistent volumes or registry storage; those bill at the rate card above. The endpoint is mandatory on every cluster, package or custom, which is why the table above shows each package fee both alone and with it. Read the billing model →

Estimate

Custom-cluster estimate — totals across all your clusters.

Set the resources you'd allocate and read the monthly total — the same arithmetic as the custom rate card above, VAT excluded. No email required. Every figure is the total across the number of clusters you enter, not the price of one.

Totals assume fixed node pools: a flat month per pool, no proration. Storage and registry are charged per hourly observation at the monthly rate ÷ 730, so a full 31-day month is 744 hours and costs about 1.9% more than the monthly rate shown. Registry storage bills per started GiB, so a fractional figure is rounded up. Excludes volume snapshots, which are priced but not yet available to tenant clusters, and not metered. Autoscaling pools are priced in the block below.

Control plane
Included
Workers vCPU, memory, node disk
Storage block + shared volumes
Load balancers
Registry storageper started GiB
Public API endpointsone per cluster, mandatory
Recurring monthly estimatea full month, fixed pools · VAT excluded
Initial payable commitmentonce your first pool passes its 15-minute grace period — fixed pools, public endpoints and load balancers

Waived if every pool is removed within its 15-minute grace periodfixed-pool fees

Payable regardlesspublic endpoints and load balancers . Every cluster carries a public endpoint, and a public endpoint and a load balancer each lock a flat month the first time the billing sampler observes the address; volumes and registry storage are charged per hourly observation, so anything created and deleted between two observations costs nothing.

Autoscaling pools bill per node-hour.

An autoscaling pool bills per node rather than per pool: after its grace period a node costs its monthly price ÷ 730, and every started hour is rounded up. Each node's started hours are rounded up separately — three nodes alive for two and a half hours each are nine billed hours, not eight — so this block asks for the lifetime of one node and how many such nodes there are. And because 730 is a fixed divisor rather than the length of any month, a node that runs a whole 31-day month is charged 744 hours, not 730. Only a node removed within its 15-minute grace period is free.

Per node, per monththe monthly rate the hourly price divides from
Per node, per started hour monthly ÷ 730; a part-hour is a started hour
Billed hourseach node's hours rounded up, then summed
Autoscaling estimatethese nodes, this many hours each · VAT excluded
Example bills · custom clusters, fixed pools

What complete setups cost.

Every line a customer would actually be charged on a custom cluster with fixed pools, VAT excluded — including the €4 public API endpoint every cluster carries. A package cluster is priced differently: see packages.

Small production cluster

One cluster carrying a single production service

  • 1 cluster · fixed pools
  • 2 × 2 vCPU / 8 GB RAM / 50 GB node disk
  • 4 vCPU · 16 GB RAM · 100 GB node disk
  • 50 GiB block · no shared volumes
  • 1 load balancer · 10 GiB registry
  • 1 public API endpoint · €4.00

€121.00/mo · VAT excl.

Mid-market SaaS

Production plus staging capacity in one cluster

  • 1 cluster · fixed pools
  • 3 × 4 vCPU / 16 GB RAM / 100 GB node disk
  • 12 vCPU · 48 GB RAM · 300 GB node disk
  • 200 GiB block · no shared volumes
  • 3 load balancers · 50 GiB registry
  • 1 public API endpoint · €4.00

€365.50/mo · VAT excl.

Production + staging

Two clusters, shared registry, block and shared volumes

  • 2 clusters · fixed pools
  • 6 × 4 vCPU / 16 GB RAM / 100 GB node disk
  • 2 × 2 vCPU / 8 GB RAM / 50 GB node disk
  • 28 vCPU · 112 GB RAM · 700 GB node disk
  • 500 GiB block · 200 GiB shared
  • 5 load balancers · 100 GiB registry
  • 2 public API endpoints · €8.00

€874.00/mo · VAT excl.

Each total is the custom rate card applied to the configuration listed — no discount, and no package allowance applied. Storage and registry lines are shown at their monthly rate; charged per hourly observation they come to 744/730 of it in a 31-day month. Volume snapshots are excluded: they are priced but not yet available to tenant clusters, and not metered.

FAQ

Billing, without the fine print.

Why is the control plane free?

Because of the architecture. Your control plane runs as pods against an isolated datastore, so its marginal cost to us is small enough not to charge an idle-cluster fee for it. You pay for worker resources, storage, load balancers, registry storage and the cluster’s mandatory public API endpoint.

Does every cluster pay the €4 public API endpoint?

Yes. Every cluster currently requires a separately billed public API endpoint: a dedicated public IPv4 for its Kubernetes API, €4 per month, flat, no proration, locked the first time the billing sampler observes the address. It is mandatory on every supported configuration. The worked examples and the calculator totals on this page include the endpoint; package fees are listed without it, so the packages table shows both the fee and the fee with the mandatory endpoint. Private-network connectivity, which would make the public endpoint optional, is a future capability. One implementation gap is worth naming: the REST API still accepts public_endpoint: false on cluster creation. Such a cluster gets no public address and is not charged the €4, but it also has no supported access path — it is an implementation gap, not a cheaper way to buy a cluster.

What exactly is included with the control plane?

The control plane itself, single sign-on, the container registry service with image scanning, DNS and TLS automation, control-plane datastore backups, the cluster autoscaler and the observability stack. Those services are free; the resources they consume are not hidden — registry storage bills at €0.15 per started GiB per month, volumes and load balancers at their rate-card rows.

How is a fixed node pool billed?

A fixed pool bills a flat monthly fee for the full calendar month, and there is no proration. A fixed pool’s or package’s monthly amount is locked when its grace period expires, for the month in which the grace period expires; in every later month it is locked the first time the pool — or, for a package, the cluster — is seen in that month. Deleting the pool later in a month does not refund the locked amount. Fixed pools bill per pool rather than per node, so the 15-minute grace period works through the pool — the pool’s monthly fee is not charged if the pool is removed within 15 minutes of its first node appearing in the cluster’s node list. The control plane is €0 in every mode.

How is an autoscaling pool billed?

An autoscaling pool bills per node: after its grace period a node bills per started node-hour, at its per-node monthly price divided by 730, with each started hour rounded up, counted from the moment the node first appears in the cluster’s node list. A pool is autoscaling when its vCPU or memory budget has room to grow — the budget, not a node count, is what decides it.

What is the 15-minute grace period?

Every node has a 15-minute grace period, measured from the moment it first appears in the cluster’s node list, whether or not it becomes Ready. Remove it within that window and it carries no node charge. It applies to every node in a fixed or an autoscaling pool — the pool’s first nodes, nodes added later, and replacement nodes alike. A node counts as removed when its removal is requested — you delete it, scale the pool down, or delete the pool or cluster — and the time it then spends draining does not count against the grace period and is never billed. Because a fixed pool bills per pool, the waiver is keyed on the pool: its monthly fee is not charged if the pool is removed within 15 minutes of its first node appearing in the cluster’s node list — pool created 12:00, first node appears 12:08, removal requested 12:20 is 12 minutes, so no charge. Aether records every node and pool as soon as it appears, but a payable charge is locked only when the grace period passes: for a fixed pool or a package, its month; for an autoscaling node, its first started hour. The grace period covers the node only, and it does not apply to the public API endpoint, load balancers, persistent volumes or registry storage. A public API endpoint and a load balancer each lock a flat month the first time the billing sampler observes the address. Persistent volumes and registry storage are charged per hourly observation: once every clock hour the billing sampler observes what exists and charges that hour at the monthly rate ÷ 730, so something created and deleted between two observations costs nothing. Where an account creates and destroys nodes in a pattern that exploits the grace period, Aether may defer a removal past the window and charge for the node; that is an exception applied to abuse, not the ordinary course, and it is distinct from a drain, which delays when a node disappears but never when its billing stops.

What happens when I delete a pool or cluster?

Billing for a node ends when its removal is requested, before the drain. Scale a pool down 12 minutes after its node first appeared in the cluster’s node list and let the node drain for another 9: its lifetime for billing is 12 minutes, inside the grace period, so it carries no charge. Deleting a fixed pool or a package cluster after its grace period does not refund the locked month, and deleting a cluster does not refund the €4 endpoint month or any load-balancer month already locked. Hourly nodes stop accruing when the deletion is requested. Storage stops at the next hourly observation after the volumes are gone. Registry storage is per organization and is unaffected by cluster deletion. Deleting a cluster destroys its workloads, volumes and data; Aether keeps no copy.

Can I resize a fixed pool?

You can change the node count; you cannot change the node size. Decreasing a fixed pool’s node count mid-month does not reduce the locked amount, and the next month locks at the new size. On a custom cluster, increasing it is reflected in the next month’s amount — the current billing engine adds no further charge within the month the change is made — and the locked month never decreases. On a package cluster the increase can cost you in the same month: if growth takes the cluster’s fixed pools past the allowance for the first time that month, counting only nodes whose grace period has expired, the overage line is created and charged then; an overage line that already exists is not repriced until the next month. If we detect repeated creation and removal intended to exploit the grace period, we may defer removal until the node is at least 16 minutes old; the grace-period exemption then no longer applies and the applicable package overage charges become payable — an enforcement delay separate from ordinary node draining, which does not extend billable lifetime. Changing a fixed pool’s per-node vCPU, memory or disk after creation is not supported today: create a new pool with the new shape and drain the old one. Deleting a pool and creating another — even with the same name, in the same month — creates a new pool with its own grace period and its own monthly charge, and the old pool’s locked month stays payable. On month boundaries: a fixed pool’s or package’s month becomes payable only when its grace period expires, and it is charged for the month in which the grace period expires; after that it is charged for every calendar month in which it exists. Example: a first node that appears at 23:55 UTC on 30 September has a grace period that ends at 00:10 UTC on 1 October — September is not charged, and October becomes payable if the pool is still there when the grace period ends.

How is storage measured?

In GiB, once every clock hour. Persistent volumes and registry storage are measured in GiB (1 GiB = 1024³ bytes, the unit Kubernetes and the registry report); node disk is the size you type per node in GB and is part of the node price, not a persistent volume. Once every clock hour (UTC) the billing sampler observes what exists and charges that hour at the monthly rate ÷ 730 — so a volume or an image created and deleted between two observations costs nothing. There is no monthly maximum or average: the month’s charge is the sum of its hourly observations, so a volume that exists for the whole of a 31-day month costs 744/730 of the monthly rate, and one that exists for a day costs about a thirtieth of it. A block volume is charged for the provisioned capacity, regardless of how much data is stored, rounded up per volume; a shared volume is charged for actual usage observed at billing measurement time, because capacity is not hard-quota limited — summed and rounded up once per cluster; registry storage is what the registry reports for your organization, rounded up to a whole GiB. The full worked examples are in the billing model documentation.

Are there packages?

Yes — Dev €29, Starter €79, Growth €179, Scale €279 per cluster per month, each with a whole-cluster allowance of vCPUs, memory and node disk. A cluster is billed either from a package or custom, chosen when it is created and fixed for its lifetime. The package price is a flat monthly fee on the same terms as a fixed pool. An overage line is created when the cluster’s fixed pools exceed the allowance, counting only nodes whose grace period has expired, and anything above the allowance in any dimension is priced at the custom rates. If we detect repeated creation and removal intended to exploit the grace period, we may defer removal until the node is at least 16 minutes old; the grace-period exemption then no longer applies and the applicable package overage charges become payable — an enforcement delay separate from ordinary node draining, which does not extend billable lifetime. Packages do not include the mandatory €4 public API endpoint, load balancers, persistent volumes or registry storage — the packages table on this page shows each package fee both alone and with the endpoint.

Are there egress, bandwidth or per-API-call fees?

No. There is no per-GB egress meter, no bandwidth charge and no charge for API calls — the rate card and, on a package cluster, the package fee plus any overage are the whole bill.

Is there an SLA?

No. Aether publishes no uptime commitment and no service credits today, and there is no status page. Product support runs through the Support section of the portal after you sign in; legal and privacy questions go to legal@aetherplatform.cloud.

How do I pay?

Monthly invoices in EUR, with VAT handled on the invoice — every price on this page is VAT excluded. Month-to-date spend and a daily-spend chart are live in the portal.

Run the numbers on your own workload.

Create a cluster and watch month-to-date spend in the portal. Remove a pool within 15 minutes of its first node appearing in the cluster’s node list and it carries no node charge — billing stops when you request the removal, before the drain. The €4 public endpoint every cluster carries, and each load balancer, lock a flat month the first time the billing sampler observes the address; volumes and registry storage are charged once every clock hour for whatever the sampler observes then.