# CloudQube docs

> Set up domains, email, databases, containers, analytics, and more on CloudQube. EU-hosted, pay-per-use.

---

## CloudQube docs

Source: https://docs.cloudqube.eu/

Set up domains, email, databases, containers, analytics, and more on CloudQube. EU-hosted, pay-per-use.

CloudQube docs Spin up the parts of your project.
Everything you need, in one place, hosted in the EU.
Set up your first project Browse the guides Pick a path Section titled “Pick a path” New here?
Walk through your first project with the wizard.
Five minutes, no coding, real infrastructure at the end.
Start the walkthrough Building something specific?
Jump into a how-to: register a domain, send your first email, deploy a container.
Browse guides Want the API?
Authenticated endpoints, webhooks, rate limits, error codes.
API reference Curious how it works?
The mental model: qubes, projects, demo vs live, pay-per-use, EU residency.
Read the concepts What CloudQube is Section titled “What CloudQube is” CloudQube is a single account where you set up the resources a small project needs: a domain, email, a database, a container to run your app, analytics, monitoring.
We connect to managed providers in the EU on your behalf, take care of the wiring, and bill you only for what you use.
What CloudQube is not Section titled “What CloudQube is not” We do not run servers for you.
We do not lock your data inside our platform.
Every resource we set up belongs to your project; you can export it or take it elsewhere whenever you want.

---

## Welcome

Source: https://docs.cloudqube.eu/start/

Pick a path to set up your first project on CloudQube.

Welcome Coming soon.
Next Your first project

---

## Set up via chat

Source: https://docs.cloudqube.eu/start/first-project-with-chat/

Spin up your first project by talking to the assistant.

Set up via chat Coming soon.
Previous Your first project Next Bring your own domain

---

## Your first project

Source: https://docs.cloudqube.eu/start/first-project/

Spin up a real project in five minutes using the wizard. No coding required.

Your first project By the end of this walkthrough you will have: A registered domain you own.
DNS pointed to your project, with DNSSEC turned on.
An email address you can send and receive from on that domain.
A first VAT-compliant invoice in your inbox.
Total time: about five minutes.
You will need a payment method (card, iDEAL, or SEPA) to pay for the domain registration.
Create your account Go to app.cloudqube.eu and sign up.
We use email + a one-time code, no password to remember.
Pick a project name The first thing the wizard asks for is what you are building.
“My SaaS startup”, “Family recipe blog”, whatever fits.
This is internal-only; nobody outside your account sees it.
Search for a domain Type the name you want.
The wizard checks availability across the common endings (.eu, .com, .nl, .be, .de) and shows you the price for each.
Tip Pick a .eu if you want EU-jurisdiction registration; pick a .com if you want global recognition.
They cost about the same.
Choose your starter template (or skip) Templates bundle a domain with the qubes that usually go alongside it.
The “starter SaaS” template adds DNS, email, a database, and a container.
The “personal site” template just adds DNS and email.
You can also skip and add qubes one at a time later.
Confirm and pay The wizard shows the breakdown: the domain registration cost, plus a transparent CloudQube margin, plus VAT for your country.
Confirm to pay through your chosen method.
Wait for setup The wizard shows a progress bar as each qube is set up.
Domain registration takes 30 to 90 seconds.
DNS turns on with DNSSEC right away.
The email qube needs DNS records to propagate before it is ready, usually a couple of minutes.
You are done You land on the project dashboard.
From here you can send a test email, browse to your domain, or add more qubes.
Your invoice is already in your inbox.
What happens next Section titled “What happens next” You receive a welcome email confirming your project is live, with links to manage each qube.
You receive an invoice email with the VAT-compliant PDF attached.
You can edit anything from the dashboard, including the project name, the team members with access, and the qubes themselves.
Common questions Section titled “Common questions” Can I use a domain I already own?
Yes, see Bring your own domain .
The flow is similar but skips the registration step and takes a few extra minutes for nameserver propagation.
Do I need to add a payment method up front?
For one-shot purchases like a domain registration, yes.
For recurring resources you set up later, you top up a prepaid balance at your own pace.
What if something goes wrong?
The dashboard shows the status of every qube and surfaces any error in plain English with a suggested next step.
If you are stuck, the support email is in the footer of every page.
Previous Welcome Next Set up via chat

---

## Bring your own domain

Source: https://docs.cloudqube.eu/start/import-existing-domain/

Connect a domain you already own from another registrar.

Bring your own domain Coming soon.
Previous Set up via chat Next Your first invoice

---

## Your first invoice

Source: https://docs.cloudqube.eu/start/your-first-invoice/

What CloudQube invoicing looks like end to end.

Your first invoice Coming soon.
Previous Bring your own domain Next Register a domain

---

## Add tracking to your site

Source: https://docs.cloudqube.eu/guides/analytics/add-tracking-to-your-site/

Drop the tracking snippet into your site or app.

Add tracking to your site Coming soon.
Previous Environment variables Next Share a public dashboard

---

## Share a public dashboard

Source: https://docs.cloudqube.eu/guides/analytics/share-a-public-dashboard/

Make your analytics dashboard public for stakeholders.

Share a public dashboard Coming soon.
Previous Add tracking to your site Next How pay-per-use works

---

## Export your data

Source: https://docs.cloudqube.eu/guides/billing/export-your-data/

Download all invoices, contacts, and project data.

Export your data Coming soon.
Previous VAT invoicing Next Domain not resolving

---

## How pay-per-use works

Source: https://docs.cloudqube.eu/guides/billing/how-pay-per-use-works/

One-shot purchases, prepaid balance, daily deductions, and what happens when your balance hits zero.

How pay-per-use works CloudQube charges you on two tracks.
Both are pay-per-use; neither is a subscription.
Track 1: one-shot purchases Section titled “Track 1: one-shot purchases” Some things have a clear, finite price: a domain registration, a domain transfer, a one-off consultation.
You pay that price once, at the moment of purchase, through your usual payment method (card, iDEAL, SEPA).
The invoice arrives in your inbox the same day.
The qube becomes available as soon as the payment clears.
Track 2: prepaid balance for recurring resources Section titled “Track 2: prepaid balance for recurring resources” Recurring resources (containers, databases, CDN, monitoring) draw from a prepaid balance attached to your account.
The flow: You top up.
Pick any amount (€10 minimum).
It is added to your balance immediately.
You get a payment receipt.
You run resources.
Each day, the cost of the resources you ran the previous day is deducted from your balance.
The deduction is itemised on the daily summary in your account.
You get a monthly invoice.
On the first of every month, we issue a single VAT-compliant invoice for everything you used the previous month.
You top up again when the balance gets low.
We email you when it falls below €5.
When your balance hits €0 , recurring resources are suspended (not deleted).
Topping up brings them back.
Suspended resources keep all their data; you just cannot reach them while suspended.
Tip You can set an auto-top-up rule: “if my balance falls below X, top up by Y”.
Stops you ever hitting zero on resources you actually depend on.
Why two tracks Section titled “Why two tracks” It maps to how the underlying providers bill us.
A registry charges for a domain registration as a single transaction.
A container provider bills daily.
We pass both through honestly rather than pretending everything is the same shape.
What you can never get Section titled “What you can never get” A bill for more than your prepaid balance, on recurring resources.
The worst case is a €0 balance and a suspended container, never a surprise invoice.
A subscription you forgot to cancel.
There is no monthly fee.
If you stop topping up, things wind down on their own.
A hidden markup.
Every line on every invoice shows the underlying cost and the CloudQube margin separately.
What you can do Section titled “What you can do” Set spend caps per qube.
The qube auto-suspends if its monthly spend exceeds the cap.
Set bandwidth caps per qube.
Same idea, different metric.
Export everything (invoices, transaction history, top-up receipts) at any time.
See Export your data .
Previous Share a public dashboard Next VAT invoicing

---

## VAT invoicing

Source: https://docs.cloudqube.eu/guides/billing/vat-invoicing/

How CloudQube handles VAT, where invoices come from, and how to keep your VAT number on file.

VAT invoicing CloudQube generates a VAT-compliant invoice for every charge: A one-shot purchase (e.g.
a domain registration) gets an invoice the moment the payment succeeds.
A daily deduction from your prepaid balance gets a consolidated invoice on the first of the following month.
A top-up of your prepaid balance gets a payment receipt; the invoice for the matching consumption is emitted with the consolidated monthly run.
Every invoice is emailed to you and is also available in your account settings.
What VAT regime applies Section titled “What VAT regime applies” The qube picks the regime automatically based on your account’s billing country and VAT status: Your situation Regime What you see on the invoice Consumer in the Netherlands Domestic NL VAT NL VAT line at the standard rate Consumer in another EU country OSS (One Stop Shop) Your country’s VAT rate, declared by us under OSS Business in another EU country with a valid VAT number Reverse charge No VAT line; “BTW verlegd” / “VAT reverse charged” notice Customer outside the EU Export No VAT line If your VAT number changes, update it in your account settings before your next invoice.
Updates do not retroactively re-issue past invoices; we issue a credit note + corrected invoice if needed.
Caution Reverse charge requires a valid EU VAT number that we re-validate against VIES every time we issue an invoice.
If VIES says your number is invalid at invoice time, the invoice is issued with VAT and you can claim a refund through your local tax authority.
What is on every invoice Section titled “What is on every invoice” Your billing details (name, address, country, VAT number if applicable).
Our billing details (CloudQube, NL incorporation, NL VAT number, KVK number).
A unique sequential invoice number.
The date.
One line per charge: description, quantity, unit price, line total.
The VAT regime applied and the calculated VAT line if any.
The total in euros.
Payment status (paid, refunded, etc.).
Refunds and credit notes Section titled “Refunds and credit notes” We do not delete or amend issued invoices, ever (legally we cannot).
If a charge is refunded, we issue a credit note that references the original invoice number and zeros out the original amount.
Both stay on file.
Where to find them Section titled “Where to find them” Email : every invoice is sent to your billing email when issued.
Account settings → Billing → Invoices : full history, downloadable as PDFs.
Account settings → Export your data : a single ZIP with every invoice plus a CSV index.
See Export your data .
Retention Section titled “Retention” Invoices are retained for 10 years per Dutch tax law.
You can download them at any point.
Previous How pay-per-use works Next Export your data

---

## Custom domain on a container

Source: https://docs.cloudqube.eu/guides/containers/custom-domain/

Point your domain at a deployed container.

Custom domain on a container Coming soon.
Previous Deploy a web app Next Environment variables

---

## Deploy a web app

Source: https://docs.cloudqube.eu/guides/containers/deploy-a-web-app/

Push a Docker image and get a public URL. Roll forward and back from the dashboard.

Deploy a web app The container qube takes a Docker image, runs it in the EU, and gives you a public HTTPS URL.
Add the container qube From your project dashboard, click Add qube and pick Container .
Choose a name; this becomes part of your default URL.
Pick a region and size EU regions only.
Sizes are shown with daily prices.
Start small; scale up by editing the qube.
Point at an image You have two options: Public image : paste a Docker registry URL (e.g.
nginx:1.27-alpine ).
Private image : connect a registry by pasting a token.
The qube stores the token encrypted and uses it for every deploy.
Set environment variables Add any env vars your image needs.
Connection strings from other qubes on the same project are auto-suggested; click to inject them without typing.
Pick a port Your image probably listens on 8080 or 3000 .
Tell the qube which port; it routes the public URL to that port over HTTPS.
Deploy First deploy takes 60 to 120 seconds (image pull + cold start).
Subsequent deploys are faster because the image is cached at the edge.
Visit your URL The qube shows a default URL like &#x3C;name>-&#x3C;project>.app.cloudqube.eu .
Open it; your app is live.
Roll forward and back Section titled “Roll forward and back” Every deploy gets a version.
Click any version in the dashboard and pick Promote to roll back.
There is no downtime; the previous version is still warm at the edge.
Custom domain Section titled “Custom domain” To put your container on app.yourdomain.eu , see Custom domain on a container .
The qube uses your existing DNS qube to point the record at the right edge endpoint and issues a Let’s Encrypt certificate automatically.
What gets billed Section titled “What gets billed” The container qube draws from your prepaid balance daily.
The cost depends on the size you picked and how long the container ran (down to the second).
If you scale to zero (set replicas to zero), nothing is billed for that container.
Tip Bandwidth is billed separately from compute.
The qube shows your bandwidth usage on the dashboard.
Default bandwidth caps protect you from runaway bills; you can raise them if you expect a spike.
Previous Backup and restore Next Custom domain

---

## Environment variables

Source: https://docs.cloudqube.eu/guides/containers/environment-variables/

Set runtime env vars on a container without redeploying.

Environment variables Coming soon.
Previous Custom domain Next Add tracking to your site

---

## Backup and restore

Source: https://docs.cloudqube.eu/guides/database/backup-and-restore/

Snapshot, download, and restore your database.

Backup and restore Coming soon.
Previous Connect from your app Next Deploy a web app

---

## Connect from your app

Source: https://docs.cloudqube.eu/guides/database/connect-from-your-app/

Read your database connection string and use it safely.

Connect from your app Coming soon.
Previous Create a database Next Backup and restore

---

## Create a database

Source: https://docs.cloudqube.eu/guides/database/create-a-database/

Provision a managed database, get the connection string, and connect from your app.

Create a database The database qube provisions a managed database server in the EU and gives you a connection string.
You pick the engine, the size, and the region.
Add the database qube From your project dashboard, click Add qube and pick Database .
Pick an engine MariaDB 11 for general-purpose relational workloads.
Recommended default.
PostgreSQL 16 for advanced relational workloads (JSON, full-text search, partitioning).
You can run both side by side on the same project if you really want; they are independent qubes.
Pick a size The qube shows three sizes (small, medium, large) with daily prices.
Most early-stage projects fit in small.
Pick a region EU regions only.
Pick the one closest to your container or your users.
Provision Provisioning takes 60 to 90 seconds (databases are stateful; cold start is slower than stateless qubes).
The qube updates the dashboard once the server is reachable.
Copy the connection string Open the database qube on your dashboard.
The connection string is shown with a copy button.
It includes the host, port, database name, user, and password.
Caution Treat the connection string as a secret.
Do not commit it to source control.
Use environment variables or your container qube’s env-var settings.
What you get Section titled “What you get” A single instance of the engine you picked, in the region you picked.
Daily automated backups, retained for 7 days, restorable from the dashboard.
A public endpoint with TLS.
The endpoint is rate-limited to your project’s allowlist of IPs (any container qube on the same project is allowlisted automatically).
Suspension when your prepaid balance hits zero, no data loss; topping up resumes the database.
What you do not get (yet) Section titled “What you do not get (yet)” Read replicas.
Single-instance only at v1.
Automatic failover.
Manual restore from backup.
Multi-region.
Single region per database.
If you need any of these, the WordPress qube and the SaaS-starter template both ship with single-instance databases sized for early-stage projects; once you outgrow that, contact support to discuss a managed migration.
Next steps Section titled “Next steps” Connect from your app Backup and restore Previous Handle bounces Next Connect from your app

---

## Change nameservers

Source: https://docs.cloudqube.eu/guides/domains/change-nameservers/

Point a domain at a different DNS provider.

Change nameservers Coming soon.
Previous Transfer in a domain Next Enable DNSSEC

---

## Enable DNSSEC

Source: https://docs.cloudqube.eu/guides/domains/enable-dnssec/

Sign your zone so resolvers can verify your records.

Enable DNSSEC Coming soon.
Previous Change nameservers Next Send your first email

---

## Register a domain

Source: https://docs.cloudqube.eu/guides/domains/register/

Register a new domain through CloudQube. Includes DNS and DNSSEC, set up automatically.

Register a domain Registering a domain through CloudQube includes: The domain registration itself, with the appropriate registry.
DNS hosting, included free, no separate setup.
DNSSEC turned on automatically, signed and verified end to end.
Auto-renewal opt-in, with renewal price visible up front.
Open the domain qube From your project dashboard, click Add qube and pick Domain , or open the existing Domain qube if you already have one on this project.
Search Type the name you want without an extension.
The qube checks the common endings and shows you the wholesale price plus the CloudQube margin and VAT for your country.
Pick an extension Each extension has a different price.
The qube shows the total cost for the first year and the renewal cost for the next year so you know what to expect.
Confirm The price you see is the price you pay.
Click Register to pay and queue the registration.
Wait for the registry Most registrations come back within 30 seconds.
Some endings ( .eu , .de ) can take up to 90 seconds.
The qube polls in the background and updates the dashboard when the domain is live.
What you get automatically Section titled “What you get automatically” DNS hosting is provisioned in the same step.
You do not need to add a separate DNS qube; the domain qube takes care of it.
DNSSEC is signed and the DS record is published to the registry without action from you.
The dashboard shows a green chain-of-trust indicator once the registry has acknowledged it.
A welcome record set : an apex A / AAAA placeholder, a MX set if you also added an email qube, and SPF/DKIM/DMARC if you also added an email qube.
Renewal Section titled “Renewal” By default, auto-renew is on.
The renewal price is the same as you saw at registration, plus VAT.
You receive an email 30 days before renewal and an invoice the day the renewal succeeds.
To turn auto-renew off, open the domain in the dashboard and toggle Auto-renew .
Domains that are not auto-renewed expire and are released back to the registry at the end of the registration period.
Caution If your domain is registered for an unusually high price (a “premium” domain), CloudQube may cap the renewal automatically until you confirm.
You will get an email asking you to confirm the renewal price.
What if my domain is taken?
Section titled “What if my domain is taken?” The qube suggests close alternatives that are available, with prices.
If you really want a domain that is registered to someone else, you can: Check WHOIS to see who owns it (the domain qube has a button for this).
Place an inquiry through a marketplace (links offered in the qube).
Wait.
Domains released by their current owner show up in the qube’s “available again” feed.
Previous Your first invoice Next Transfer in a domain

---

## Transfer in a domain

Source: https://docs.cloudqube.eu/guides/domains/transfer-in/

Move a domain you own at another registrar to CloudQube.

Transfer in a domain Coming soon.
Previous Register a domain Next Change nameservers

---

## Add a second domain

Source: https://docs.cloudqube.eu/guides/email/add-a-second-domain/

Send email from more than one domain on the same project.

Add a second domain Coming soon.
Previous Send your first email Next Handle bounces

---

## Handle bounces

Source: https://docs.cloudqube.eu/guides/email/handle-bounces/

Read your suppression list and resubscribe addresses.

Handle bounces Coming soon.
Previous Add a second domain Next Create a database

---

## Send your first email

Source: https://docs.cloudqube.eu/guides/email/send-your-first-email/

Set up the email qube on a domain and send a transactional email through the API.

Send your first email By the end of this guide you will: Have an email qube set up on one of your domains.
Have SPF, DKIM, and DMARC records published in DNS automatically.
Have sent a real email through the API and seen it arrive.
Add the email qube From your project dashboard, click Add qube and pick Email .
Choose the domain you want to send from.
The qube needs DNS to be managed by CloudQube (or BYO DNS pointed at our nameservers) so it can publish the SPF/DKIM/DMARC records itself.
Wait for DNS propagation The qube publishes the records and polls until they propagate.
Typically under a minute for CloudQube-registered domains, up to ten minutes for BYO domains depending on your registrar’s DNS TTL.
Generate an API key In your account settings, go to API keys and create one with the email:send scope.
Copy the key; you will not see it again.
Send a test email Substitute your domain and your test inbox.
curl JavaScript Python Terminal window curl -X POST https://api.cloudqube.eu/v1/email/send \ -H " Authorization: Bearer $CLOUDQUBE_API_KEY " \ -H " Content-Type: application/json " \ -d ' { "from": "hello@yourdomain.eu", "to": "you@example.com", "subject": "First email from CloudQube", "text": "Hello from your new email qube." } ' const res = await fetch ( " https://api.cloudqube.eu/v1/email/send " , { method: " POST " , headers: { Authorization: ` Bearer ${ process .
env .
CLOUDQUBE_API_KEY } ` , " Content-Type " : " application/json " , }, body: JSON .
stringify ( { from: " hello@yourdomain.eu " , to: " you@example.com " , subject: " First email from CloudQube " , text: " Hello from your new email qube.
" , } ) , } ); const data = await res .
json (); console .
log ( data ); import os, httpx r = httpx.
post ( " https://api.cloudqube.eu/v1/email/send " , headers = { " Authorization " : f "Bearer {os.environ [ ' CLOUDQUBE_API_KEY ' ] } " } , json = { " from " : " hello@yourdomain.eu " , " to " : " you@example.com " , " subject " : " First email from CloudQube " , " text " : " Hello from your new email qube.
" , } , timeout = 10 , ) print ( r.
json ()) Check your inbox The email arrives within seconds.
If it lands in spam, see Email going to spam .
What gets billed Section titled “What gets billed” Every send is metered.
The price per email is shown on the email qube’s dashboard.
Bounces and complaints do not get billed beyond the initial send.
There is no monthly fee.
What happens to bounces Section titled “What happens to bounces” Bounces are tracked automatically and added to your suppression list.
The email qube exposes the list through the API so you can prune it from your contacts.
See Handle bounces .
Previous Enable DNSSEC Next Add a second domain

---

## Domain not resolving

Source: https://docs.cloudqube.eu/guides/troubleshooting/domain-not-resolving/

What to check when a domain doesn

Domain not resolving Coming soon.
Previous Export your data Next Email going to spam

---

## Email going to spam

Source: https://docs.cloudqube.eu/guides/troubleshooting/email-going-to-spam/

Diagnose deliverability issues with SPF, DKIM, DMARC.

Email going to spam Coming soon.
Previous Domain not resolving Next What a qube is

---

## Demo vs live mode

Source: https://docs.cloudqube.eu/concepts/demo-vs-live/

Switch a project between sample data and real provisioning.

Demo vs live mode Coming soon.
Previous Projects and templates Next Pay-per-use

---

## EU data residency

Source: https://docs.cloudqube.eu/concepts/eu-data-residency/

Where your data lives, by qube. CloudQube is incorporated in the EU and uses EU-incorporated providers for every resource.

EU data residency Every qube CloudQube offers is backed by an EU-incorporated provider hosting in the EU.
Not just “EU available”, actually incorporated and headquartered in the EU.
Your data stays under EU jurisdiction by default and there is no path to a non-EU subprocessor without you opting in explicitly.
Per-qube residency Section titled “Per-qube residency” Qube Region Notes Domain EU Registry filings handled by an EU-incorporated registrar.
DNS EU anycast DNS records resolved from EU PoPs by an EU-incorporated provider.
Email EU Transactional sending and the inbox you receive bounces in are both in EU data centres.
Database EU Single-region by default; region pickable at provisioning time.
Container EU Multi-region within EU available; pick at provisioning time.
Analytics EU (Germany) Self-hosted CloudQube instance, no third-party analytics vendor.
Monitoring EU Probes run from EU PoPs; alerts emitted from the EU email qube.
Subprocessors Section titled “Subprocessors” The full, named list of subprocessors lives at cloudqube.eu/legal/subprocessors .
It is the only place on this site where individual provider names appear, because the law requires us to publish that list.
The docs themselves describe everything in terms of generic roles to keep the focus on what you are actually building, not who we have a contract with this quarter.
What is in the EU and what is not Section titled “What is in the EU and what is not” Your project data, files, databases, emails, DNS records: in the EU.
Your billing data and invoices: in the EU.
Your account login: handled by an EU-incorporated identity stack.
Outbound payments to non-EU service providers (when you opt in to one): out of the EU at the moment they leave us, with a clear consent flow before any data is sent.
Why this matters Section titled “Why this matters” If your customers ask about GDPR, you can answer with a paper trail.
Your processor agreement is with us, ours are with EU subprocessors, and there is no Schrems-II-style transfer to worry about unless you specifically opt one in.
Previous Pay-per-use Next Security model

---

## Pay-per-use and prepaid balance

Source: https://docs.cloudqube.eu/concepts/pay-per-use/

How CloudQube charges you. One-shot purchases pay through your usual payment method. Recurring resources draw from a prepaid balance you top up.

Pay-per-use and prepaid balance CloudQube does not have monthly subscriptions.
You pay for what you use, on two tracks: One-shot purchases Section titled “One-shot purchases” When you do something with a clear, finite cost, like registering a domain, you pay for it once, right then, through your usual payment method.
The invoice arrives in your inbox the same day.
Prepaid balance for recurring resources Section titled “Prepaid balance for recurring resources” Recurring resources, like a CDN, a container, or a database, draw from a prepaid balance attached to your account.
You top up the balance with whatever amount suits you.
Each day, the cost of the resources you ran the previous day is deducted from the balance.
When the balance reaches zero, the resource is suspended; topping up brings it back.
This setup means: No surprise bills.
The most you can lose to a runaway bug or attack is whatever balance you had.
No subscription you forget to cancel.
If you stop topping up, things wind down on their own.
Clean accounting.
Every transaction is a top-up or a deduction, both itemised.
What you actually pay Section titled “What you actually pay” The price of each resource is shown when you set it up, and is itemised on every invoice.
You pay the underlying provider’s price plus a transparent CloudQube margin on top.
We do not hide markups.
Where invoices live Section titled “Where invoices live” VAT-compliant invoices are generated automatically the moment you make a purchase or are billed from your prepaid balance.
They are emailed to you and are also available in your account settings for download or export at any time.
How to view and export your invoices .
Previous Demo vs live Next EU data residency

---

## Projects and templates

Source: https://docs.cloudqube.eu/concepts/projects-and-templates/

How a project bundles qubes, and how templates fast-track setup.

Projects and templates Coming soon.
Previous What a qube is Next Demo vs live

---

## What a qube is

Source: https://docs.cloudqube.eu/concepts/qubes/

A qube is a single resource your project needs: a domain, an email sender, a database, a container. Projects bundle qubes together.

What a qube is A qube is one resource your project needs.
Examples of qubes: A domain qube registers and renews a domain on your behalf.
A DNS qube holds your DNS records.
An email qube lets you send transactional email from your domain.
A database qube runs a managed database that your app can connect to.
A container qube runs a Docker image with a public URL.
An analytics qube counts visitors to your site without tracking them.
A monitoring qube watches your services and alerts you when something breaks.
A project is a collection of qubes that belong together.
When you set up “my SaaS startup”, that project might have a domain qube, a DNS qube, an email qube, a database qube, and a container qube, all wired up so they reference each other automatically.
Why we use the word “qube” Section titled “Why we use the word “qube”” Most platforms talk about “services”, “resources”, or “addons”.
Those words have ten different meanings depending on who you ask.
We picked something neutral so we could give it one clear meaning here.
A qube is one thing your project depends on.
Qubes vs widgets Section titled “Qubes vs widgets” Two related ideas you will see in the dashboard: Qubes are resources you actually use.
They cost money.
They show up in your invoices.
Widgets are read-only views of your data: the analytics chart, the most recent emails, the list of failing checks.
They live in the right sidebar and are toggled, not provisioned.
If something costs money, it is a qube.
If it just shows you data, it is a widget.
Previous Email going to spam Next Projects and templates

---

## Security model

Source: https://docs.cloudqube.eu/concepts/security-model/

Authentication, scopes, and how secrets are stored.

Security model Coming soon.
Previous EU data residency Next Analytics qube

---

## CLI

Source: https://docs.cloudqube.eu/reference/cli/

Command-line interface (planned, not yet released).

CLI Coming soon.
Previous Rate limits Next Changelog

---

## Errors

Source: https://docs.cloudqube.eu/reference/errors/

Error codes returned by the API and what to do about them.

Errors Coming soon.
Previous Webhooks Next Rate limits

---

## Analytics qube

Source: https://docs.cloudqube.eu/reference/qubes/analytics/

Privacy-respecting page-view analytics for your site.

Analytics qube Coming soon.
Previous Security model Next Container qube

---

## Container qube

Source: https://docs.cloudqube.eu/reference/qubes/container/

Deploy and run a container image with a public URL.

Container qube Coming soon.
Previous Analytics qube Next Database qube

---

## Database qube

Source: https://docs.cloudqube.eu/reference/qubes/database/

Provision a managed database and connect to it.

Database qube Coming soon.
Previous Container qube Next DNS qube

---

## DNS qube

Source: https://docs.cloudqube.eu/reference/qubes/dns/

Manage DNS records and DNSSEC for your domains.

DNS qube Coming soon.
Previous Database qube Next Domain qube

---

## Domain qube

Source: https://docs.cloudqube.eu/reference/qubes/domain/

Reference for the domain qube. Capabilities, inputs, outputs, billing surface.

Domain qube The domain qube registers, holds, and renews a domain on your behalf, and includes free DNS hosting and DNSSEC.
Capabilities Section titled “Capabilities” Capability Notes Register Live registration via the registry.
Returns the domain in live state, typically within 90 seconds.
Renew Manual or auto.
Renewal price is the same as the registration price for that ending, plus VAT.
Transfer in Move a domain you own elsewhere into CloudQube.
Requires the auth code from the losing registrar.
Transfer out Always available, no fee.
Generates an auth code on request.
WHOIS lookup Read-only, included free.
Bulk availability check Checks multiple endings in one call.
DNS hosting Included automatically; you do not need to add a DNS qube.
DNSSEC Signed and DS published to the registry by default.
Inputs at provisioning time Section titled “Inputs at provisioning time” name (string, required): the domain without an ending, e.g.
example .
extension (string, required): the ending without a dot, e.g.
eu .
auto_renew (boolean, default true ): renew automatically when the term expires.
registrant (object, required): the WHOIS-visible owner block (name, organisation, address, email, phone).
Your account profile is used as the default.
Outputs (provisioned resources) Section titled “Outputs (provisioned resources)” domain (string): the registered domain, e.g.
example.eu .
registered_at (timestamp): when the registration completed.
expires_at (timestamp): the end of the current registration term.
auto_renew (boolean): current auto-renew state.
dnssec_status (enum): pending , active , chain_verified , disabled .
Billing surface Section titled “Billing surface” One-shot charge at registration: registry fee + CloudQube margin + VAT.
One-shot charge at every renewal: same shape.
DNS hosting and DNSSEC are free regardless of how many records you store.
WHOIS lookups are free.
Errors Section titled “Errors” Code Meaning What to do domain_taken Someone else owns it Pick a different name or check WHOIS extension_unsupported We do not register this ending Pick a different ending registry_offline The registry is not reachable Retry later registrant_invalid WHOIS validation failed at the registry Fix the registrant block, retry premium_quote_expired The premium quote we showed you is no longer valid Re-search to get a fresh quote Linked qubes Section titled “Linked qubes” The DNS qube is auto-installed on registration and shares state with the domain qube.
The email qube and container qube can attach to a domain qube to publish records and route custom domains automatically.
Previous DNS qube Next Email qube

---

## Email qube

Source: https://docs.cloudqube.eu/reference/qubes/email/

Reference for the email qube. Send and receive transactional email, suppression list, webhooks.

Email qube The email qube sends and receives transactional email on a domain you own.
Capabilities Section titled “Capabilities” Capability Notes Send One email per call, JSON body with from , to , subject , text / html .
Receive Inbound emails to any address on the domain are stored and exposed via API + webhook.
Threading Reply detection works via standard In-Reply-To and References headers.
Suppression list Bounces and complaints auto-add.
Read and prune via API.
Webhooks Delivered, bounced, complained, opened, clicked events emitted to your endpoint.
Templates Optional named templates with variable substitution.
Multiple from-addresses Any address on the domain can be a sender; aliases are not enforced.
Inputs at provisioning time Section titled “Inputs at provisioning time” domain (string, required): the domain to send from.
Must be managed by a domain qube on the same project, or a BYO domain with DNS pointed at CloudQube.
webhook_url (string, optional): your endpoint to receive event notifications.
Outputs (provisioned resources) Section titled “Outputs (provisioned resources)” domain (string): the verified sender domain.
dns_status (enum): pending , verified , failed .
Reflects SPF/DKIM/DMARC publication state.
inbound_address (string): the address inbound email is forwarded to before being routed.
DNS records published automatically Section titled “DNS records published automatically” Record Purpose SPF ( v=spf1 ...
) Authorises the sender DKIM CNAME Signing key for outgoing email DMARC TXT Reporting and policy enforcement MX Routes inbound to the email qube Billing surface Section titled “Billing surface” Per send: a small per-email fee, drawn from your prepaid balance.
Per inbound: free up to a generous monthly cap; metered above.
Webhook deliveries: free.
Suppression list reads/writes: free.
API endpoints Section titled “API endpoints” POST /v1/email/send — send one email.
GET /v1/email/messages/{id} — fetch a single message.
GET /v1/email/inbound — list inbound messages.
GET /v1/email/suppressions — list suppressed addresses for this project .
DELETE /v1/email/suppressions/{address} — resubscribe one address.
The suppressions endpoint is project-scoped .
A suppression on one of your projects does not leak into another.
(This was a hard-learned guarantee; see the project’s release notes for the date the project-scope fix landed.) Webhook events Section titled “Webhook events” Event When email.delivered Recipient mailbox accepted the message email.bounced Hard or soft bounce; address added to suppression list on hard email.complained Recipient marked as spam; address added to suppression list email.opened Tracking pixel loaded (if tracking enabled) email.clicked Tracked link clicked (if tracking enabled) Errors Section titled “Errors” Code Meaning What to do domain_unverified DNS records not yet published or propagated Wait, then retry recipient_suppressed The address is on your suppression list Resubscribe explicitly if intended from_invalid The from address is not on a verified domain Use a verified domain rate_limit_exceeded Too many sends in the time window Back off, retry Previous Domain qube Next Monitoring qube

---

## Monitoring qube

Source: https://docs.cloudqube.eu/reference/qubes/monitoring/

Uptime and certificate monitoring with alerting.

Monitoring qube Coming soon.
Previous Email qube Next Webhooks

---

## Rate limits

Source: https://docs.cloudqube.eu/reference/rate-limits/

Per-token, per-project, and per-account limits.

Rate limits Coming soon.
Previous Errors Next CLI

---

## Webhooks

Source: https://docs.cloudqube.eu/reference/webhooks/

Subscribe to events emitted by your project.

Webhooks Coming soon.
Previous Monitoring qube Next Errors

---

## Changelog

Source: https://docs.cloudqube.eu/changelog/

What changed on CloudQube, latest first.

Changelog What is new and what changed.
Latest first.
2026-04 (in progress) Section titled “2026-04 (in progress)” Docs site goes live at docs.cloudqube.eu .
This is the first changelog entry; before this the project’s release notes lived in internal notes only.
Billing model clarified : one-shot purchases (e.g.
domain registration) pay through your usual payment method; recurring resources draw from a prepaid balance you top up.
See How pay-per-use works .
VAT invoicing is generated automatically on every charge, with full VAT-regime detection (NL, OSS, reverse-charge, export).
See VAT invoicing .
Email suppression list is now strictly project-scoped.
A suppression in one project no longer affects another.
(Previously a team-wide list was returned by the API in some cases.) DNS qube now supports BYO domains, not just CloudQube-registered.
DNSSEC works on either path.
Database qube introduced (MariaDB and PostgreSQL, single-region, EU only).
Container qube custom-domain flow uses the DNS qube directly; no manual record entry needed.
2026-03 Section titled “2026-03” Primary domain switched from cloudqube.app to cloudqube.eu .
Pro plan removed; pricing collapsed to pay-per-use only.
2026-02 Section titled “2026-02” First public preview opens.
Previous CLI

---

