# Domains

## Introduction

By default each pool is reachable at `‹subdomain›.nthpool.cloud`. On plans that
include custom domains, you can attach your own hostname so clients call
`api.example.com` (or similar) instead.

Domains are managed under **Domains** in the dashboard and can be attached from
a pool's settings. Starter includes the subdomain hostname only; Team and
Business include custom domain allowances. See [Billing](/docs/billing).

## Add a domain

1. Create the hostname in the dashboard and attach it to a pool.
2. At your DNS provider, create a **CNAME** (or ALIAS) to the target shown in
   the UI (typically `to.nthpool.cloud`).
3. Add any verification records the UI shows while the domain is pending.
4. Use **Refresh** until the domain status is **active**.

TLS certificates are provisioned automatically once DNS verifies.

## Hostname lock

Optionally enable **Only allow the custom domain** on the pool. When locked,
requests to the canonical `‹pool›.nthpool.cloud` hostname receive `403`.

## Troubleshooting

- Confirm the CNAME target matches the dashboard exactly.
- Wait for DNS propagation; refresh in the UI rather than recreating records.
- Apex domains need a provider that supports ALIAS/ANAME or CNAME flattening.

## Next steps

- [Pools](/docs/pools)
- [Billing](/docs/billing)
