← Back to API docs

Docs

Custom domains

Everything altengine serves publicly is reachable at a subdomain of ours — marketing-web.altengine.app, api-fn.altengine.app, assets-blob.altengine.app. A custom domain puts your own name in front of one of those, with a certificate we obtain and renew.

Domains are managed in the console under Settings → Domains, not per service: one domain points at one instance of Static, Functions or Blob, and can be moved to another later without touching DNS again.

Subdomains only

Register www.example.com, docs.example.com or assets.example.com — not example.com. A root domain is refused when you add it; use www. and redirect the root to it at your DNS provider.

The records to create

Add the domain in the console and it lists the exact records, values included. There are two or three:

DNS records for a custom domain
NameTypePoints atWhat it does
www.example.comCNAMEedge.altengine.appSends the traffic. This is the one that makes the site load.
_altengine-verify.www.example.comTXTa value unique to your organizationProves the domain is yours. Everyone's traffic record points at the same target, so without this, a name left pointing at us could be claimed by somebody else.
_acme-challenge.www.example.comCNAMEa delegated validation hostLets the certificate be issued before you move traffic, and renewed afterwards. Shown only when certificate pre-validation is configured.

Leave all of them in place. The _acme-challenge record is the one people delete once the site is live; removing it makes a later renewal fail rather than anything visible today. The verification record is re-checked when a domain is re-verified or moved.

Set the traffic record to DNS only if your provider offers a proxy (on Cloudflare, the grey cloud). A proxied record hides the CNAME from public DNS, so the check cannot see it and the domain stays pending — the console says so when it detects that specific mistake.

What happens after you add the records

Nothing is registered anywhere until your DNS is actually in place: a mistyped record costs nothing and leaves nothing to clean up. The console re-checks on its own every minute for a freshly added domain, and you can press Check now. Once all the records resolve, the hostname is registered and a certificate is requested; the domain goes active when the certificate is issued, usually in a minute or two.

A domain that never verifies is released after 7 days, and the console says why. Add it again once the records are right.

Moving a domain between instances

A domain is repointed in the console: pick another Static, Functions or Blob instance and save. Traffic follows immediately and the DNS records do not change — they point at the edge, not at the instance. The platform host shown next to a domain is for reference only.

Removing a domain stops serving it. Delete the DNS records too: a record left pointing at us serves nothing.

Limits

Custom domain limits
LimitValue
Domains per organization25
ShapeSubdomains only — no root domains
Services a domain can point atStatic, Functions, Blob
Unverified domain released after7 days

An active domain costs $0.20 a month, by the hour it is active; a domain still pending or one that failed costs nothing. Traffic through a custom domain is billed exactly as it is on the platform hostname. A suspended account's domains are not billed, and a new domain cannot be added until the account is reinstated. See pricing.