---
title: DNS Configuration
description: The exact A, CNAME, and TXT records to add for a custom domain.
order: 1
---

When you add a [custom domain](/docs/networking/custom-domains.md), Atlasflow shows the DNS records you need to create at your DNS provider. This page explains what each record does.

> **Note:** Always use the exact values shown in your project's **Settings → Domains** dialog. The IPs and targets below are illustrative placeholders.

## Apex domains

For an apex (root) domain like `example.com`, add **A records** pointing to Atlasflow's proxy IP addresses:

```
example.com    A    <atlasflow-proxy-ip>
```

The dashboard lists the exact IP addresses for your domain. Add one A record per IP shown.

## Subdomains

For a subdomain like `app.example.com`, add a **CNAME record** pointing to Atlasflow's fallback origin:

```
app.example.com    CNAME    <atlasflow-fallback-origin>
```

The dashboard shows the exact CNAME target for your project.

## Ownership verification

Before routing traffic, Atlasflow verifies you control the domain. Add the **TXT record** shown in the domain setup dialog:

```
_acme-challenge.example.com    TXT    <verification-token>
```

This record also enables automatic TLS certificate issuance.

## Record summary

| Domain type                   | Routing record          | Ownership record         |
| ----------------------------- | ----------------------- | ------------------------ |
| Apex (`example.com`)          | A → proxy IPs           | TXT → verification token |
| Subdomain (`app.example.com`) | CNAME → fallback origin | TXT → verification token |

## Propagation

DNS changes can take from a few minutes to a few hours to propagate, depending on your provider and the record's TTL. Atlasflow polls automatically and updates the domain status once the records resolve.

## Next steps

- [Custom domains](/docs/networking/custom-domains.md): the full setup flow.
- [Redirects](/docs/networking/redirects.md): redirect `www` to your apex.
- [Troubleshooting](/docs/resources/troubleshooting.md): domains stuck on verifying.