> ## Documentation Index
> Fetch the complete documentation index at: https://fayneos.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Use a Custom Domain for Your Fayne Academy

> Use your default fayneos.com subdomain or connect a custom domain so students arrive at a URL that reflects your brand, not Fayne's.

Every academy on Fayne gets a subdomain on `fayneos.com` by default. You choose the name, and your academy is immediately reachable at that address. If you want students to visit a domain you already own, such as `learn.yourcompany.com` or `yourcompany.com`, you can connect it through the Custom Domain settings.

## Your default subdomain

When you create your academy, a subdomain is generated from your academy name. You can change it at any time in **Branding**, alongside the live preview. (The **Settings > Domain** page shows your subdomain read-only and is where you connect a custom domain.)

The format is:

```text theme={null}
yourname.fayneos.com
```

Only lowercase letters, numbers, and hyphens are allowed. The field validates the format as you type, and the subdomain must be unique across all academies on Fayne. Uniqueness is confirmed when you save.

This URL is not a placeholder. It is the real, live address your students visit. It powers your student landing page, your individual course pages, and your authentication screens (signup, login, magic link, and password reset).

<Note>
  Changing your subdomain updates your academy's URL immediately. If you have shared the old URL with students, they will need the new one to access your academy.
</Note>

## Connect a custom domain

If you want students to reach your academy at a domain you own, connect it in **Settings > Domain**. Both a subdomain (`learn.yourcompany.com`) and a root domain (`yourcompany.com`) are supported.

<Steps>
  <Step title="Enter your domain">
    In the Custom domain field, type the address you want students to use, then click **Add domain**. Fayne then shows you the exact DNS records to add.
  </Step>

  <Step title="Add the DNS records at your provider">
    Log in to your DNS provider (Cloudflare, GoDaddy, Namecheap, Route 53, and others all work) and add each record exactly as shown on the Domain page.

    Every record has a **Name** and a **Value**. Copy them into the matching fields at your provider:

    * **Name** goes into your provider's "Name" or "Host" field.
    * **Value** goes into the "Value" or "Points to" field.

    <Warning>
      Enter the **Name** exactly as shown, including a bare `@`. A Name of `@` means the root of your domain. Most providers automatically add your domain to the end of the Name, so do **not** retype your full domain there. Typing `yourcompany.com` into the Name field usually creates `yourcompany.com.yourcompany.com`, which is the most common reason a domain fails to connect.
    </Warning>

    <Tabs>
      <Tab title="Root domain (yourcompany.com)">
        A root domain cannot use a CNAME, so Fayne gives you an **A record**:

        | Type | Name | Value                                   |
        | ---- | ---- | --------------------------------------- |
        | A    | `@`  | the IP address shown on the Domain page |

        We also show an optional **CNAME** for `www` so visitors who type `www.yourcompany.com` are redirected to your root domain:

        | Type  | Name  | Value                  |
        | ----- | ----- | ---------------------- |
        | CNAME | `www` | `cname.vercel-dns.com` |
      </Tab>

      <Tab title="Subdomain (learn.yourcompany.com)">
        A subdomain uses a single **CNAME** record:

        | Type  | Name    | Value                  |
        | ----- | ------- | ---------------------- |
        | CNAME | `learn` | `cname.vercel-dns.com` |

        The Name is just the subdomain label (`learn`), not the full `learn.yourcompany.com`.
      </Tab>
    </Tabs>

    <Tip>
      **GoDaddy:** if the domain currently shows a parked page or uses domain forwarding, turn that off first. The forwarding rule conflicts with the records above.

      **Cloudflare:** set each record to **DNS only** (grey cloud), not Proxied, so verification can complete.
    </Tip>
  </Step>

  <Step title="Verify DNS">
    Click **Check DNS**. Fayne polls your DNS provider automatically every 15 seconds while verification is pending, so the status flips to "Live" within seconds of DNS propagating. You can also click **Check DNS** manually at any time.

    <Info>
      DNS changes typically propagate in a few minutes, though it can take up to 24 hours in some cases depending on your DNS provider and TTL settings.
    </Info>
  </Step>
</Steps>

Once your custom domain is verified, it becomes the primary URL for your academy. Your default `fayneos.com` subdomain remains active as a fallback.

<Warning>
  Your academy must be published before students can reach it at either URL. If DNS is verified but your academy is not published, the domain status shows "Ready" rather than "Live." Publish your academy from the **Settings > General** tab.
</Warning>

## Troubleshooting

<AccordionGroup>
  <Accordion title="My provider shows more than one A record, or a different IP">
    Use only the A record Fayne shows on the Domain page, and point the root (`@`) at the exact IP listed there. If your provider pre-filled other A records (often left over from a parked page or a previous host), delete them so the root resolves to a single, correct IP. Several A records pointing at different IPs will make verification fail or flap.
  </Accordion>

  <Accordion title="The domain is stuck on Pending or will not verify">
    Three usual causes: (1) the **Name** field is wrong. Retyping your full domain creates `yourcompany.com.yourcompany.com`; use a bare `@` for the root, or just the label (like `learn`) for a subdomain. (2) A parked page or domain forwarding is still on, common on GoDaddy. Turn it off. (3) On Cloudflare the record is Proxied; switch it to **DNS only** (grey cloud) so verification can complete. Then click **Check DNS** again.
  </Accordion>

  <Accordion title="DNS is verified but the domain shows Ready instead of Live">
    Your academy must be published. A verified domain on an unpublished academy shows **Ready**; publish from **Settings > General** and it flips to **Live**.
  </Accordion>

  <Accordion title="How long does DNS take to propagate?">
    Usually a few minutes, though it can take up to 24 hours depending on your provider and TTL. Fayne re-checks automatically every 15 seconds while verification is pending, and you can click **Check DNS** at any time.
  </Accordion>
</AccordionGroup>
