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

# Custom Domains

> Serve your Moove Profile and payment links on a subdomain you own, such as pay.yourbusiness.com. Set it up on the web with two DNS records.

Take payments at your own address: `pay.yourbusiness.com` instead of `moove.xyz/@yourname`.

<Info>
  **Web only.** Connect and manage a domain on moove.xyz. The Moove App does not have a Domains screen yet.
</Info>

Once your domain is live, your [Moove Profile](/brand/moove-profile) opens at its root and your [payment links](/manage/moove-payment-links) open at `/pay/…` on it. Your moove.xyz address keeps working alongside it.

## What Do I Need?

| Requirement | Detail |
| - | - |
| **A subdomain** | Something like `pay.yourbusiness.com` or `checkout.yourbusiness.com`. Root domains such as `yourbusiness.com` are not supported. |
| **Access to its DNS** | You add two records at your registrar or DNS provider. |
| **One domain per Moove Profile** | To switch domains, remove the current one first. |

<Note>
  **Why a subdomain?** Your domain points at moove.xyz with a CNAME record, and a root domain cannot carry a CNAME. Your main website at `yourbusiness.com` stays exactly where it is.
</Note>

## How Do I Connect My Domain?

<Steps>
  <Step title="Open Settings → Edit Moove Profile → Edit profile">
    On moove.xyz. **Domains** sits directly below **Socials**.
  </Step>

  <Step title="Click Connect domain">
    Enter your subdomain, for example `pay.yourbusiness.com`, and click **Continue**. Enter the domain on its own: `https://` and a trailing slash are removed for you, but a path such as `/pay` is rejected.
  </Step>

  <Step title="Add the two DNS records">
    Under **Add these DNS records**, the form shows a **Name** and a **Value** for each record, with a copy button beside each. Add both at your DNS provider. See [the records](#which-dns-records-do-i-add) below.
  </Step>

  <Step title="Click Verify">
    moove.xyz looks up both records. When both match, the status moves to **Verified**, then to **Active** on its own once your certificate is issued. There is nothing more to do.
  </Step>
</Steps>

## Which DNS Records Do I Add?

Two: a TXT record that proves you own the domain, and a CNAME that sends your visitors to your Moove Profile.

| Type | Name | Value |
| - | - | - |
| **TXT** | `_moove.pay.yourbusiness.com` | `moove-verify=` followed by your own token |
| **CNAME** | `pay.yourbusiness.com` | `profiles.moovecdn.com` |

`profiles.moovecdn.com` is the domain moove.xyz serves merchant pages from.

<Warning>
  **Copy the values from Settings, not from this page.** The TXT token is unique to your connection. A token copied from anywhere else will not verify.
</Warning>

<Tip>
  Some DNS providers add your domain to the end of the **Name** for you. If yours does, enter `_moove.pay` and `pay` rather than the full names, or the records end up at `_moove.pay.yourbusiness.com.yourbusiness.com`.
</Tip>

The TXT record sits on its own `_moove` label, so it does not touch any TXT records you already have on your root domain, such as SPF or DMARC.

## How Long Does Verification Take?

**DNS changes can take up to 48 hours** to be seen everywhere. If **Verify** reports *We could not find both DNS records yet.*, each record tells you which one to fix:

| Shown under the record | Meaning |
| - | - |
| A green tick | Found and correct. |
| **Not found yet.** | No record at that name yet. Check the name, or wait for DNS to update. |
| **Found, but the value does not match.** | A record exists, but its value is different. Copy the value again from Settings. |

<Warning>
  **You have 7 days from connecting to verify.** The deadline shows under your domain: *Verify before …*. After it passes, the connection expires and you [reconnect](#why-did-my-domain-expire).
</Warning>

<Note>
  **Connecting does not reserve a domain.** Until you verify, another Moove Profile can connect the same domain. The first to verify keeps it.
</Note>

You can click **Verify** up to 10 times an hour.

## Who Handles HTTPS?

moove.xyz does. Once your records verify, moove.xyz obtains and manages the SSL certificate for your domain. You don't buy, upload or renew anything.

<Warning>
  **Moving a subdomain that already runs a live site?** The certificate can only be issued once your CNAME points at moove.xyz, so visitors may see certificate errors for a few minutes during the switch. A new, unused subdomain avoids this.
</Warning>

## What Changes For The People Paying Me?

<AccordionGroup>
  <Accordion title="Your moove.xyz address keeps working">
    `moove.xyz/@yourname` still opens your Moove Profile, and your payment links still open at their moove.xyz addresses. Nothing redirects, so QR codes you have printed and links you have already shared keep working.

    Search engines are told your domain is the main address.
  </Accordion>

  <Accordion title="Links you share switch to your domain">
    Once your domain is **Active**, payment links you copy or share on moove.xyz, and the payment-link URLs the [Moove API](/api-reference/moove-receive/moove-payment-links) returns, use your domain.

    The Moove App still shares moove.xyz addresses.
  </Accordion>

  <Accordion title="Crypto checkout stays on your domain">
    Payers connect a wallet and pay without leaving your domain.
  </Accordion>

  <Accordion title="Card payments finish on moove.xyz">
    On a payment link that accepts cards, choosing **Card** on your domain shows **Continue on moove.xyz**. That opens the same payment link on moove.xyz, in the same tab, and the card payment completes there.

    Your Moove Profile itself takes crypto only, wherever it is served. For card payments, share a [payment link](/transact/moove-receive).
  </Accordion>

  <Accordion title="A Powered by moove.xyz line">
    Pages on your domain show **Powered by moove.xyz** in the footer, so payers can see who processes the payment. It does not appear at your moove.xyz address.
  </Accordion>

  <Accordion title="Only your Moove Profile and payment links">
    Your domain serves your Moove Profile at `/` and your payment links at `/pay/…`. Any other address on it sends the visitor to moove.xyz.

    Pages on your domain are shown in English.
  </Accordion>
</AccordionGroup>

## What Does Each Status Mean?

| Status | What it means | What to do |
| - | - | - |
| **Pending** | Connected, but your records have not been verified yet. | Add both records and click **Verify** before the deadline shown. |
| **Verified** | Both records matched. moove.xyz is setting up your certificate. | Nothing. It becomes **Active** on its own. |
| **Active** | Your domain is live. | Leave both records in place. moove.xyz re-checks them every day. |
| **Suspended** | The daily check failed three days in a row. Your domain, and every link shared on it, stops loading. Your moove.xyz address still works. | Fix your records and click **Verify** to go back to **Active**. If you don't, the domain is released on or after the date shown, 30 days after it was suspended. |
| **Expired** | The connection has ended. The reason is shown under your domain. | See below. |

<Tip>
  **Verify** stays available on an **Active** domain. If you have just changed DNS provider or registrar, click it to check your records straight away rather than waiting for the daily check.
</Tip>

## Why Did My Domain Expire?

An expired connection cannot be verified again. Click **Reconnect** to start a new one, which goes back to **Pending** with a fresh 7-day window.

<AccordionGroup>
  <Accordion title="This domain was not verified in time">
    The 7 days ran out before both records verified. Click **Reconnect**, check both records, and click **Verify**. Reconnecting the same domain keeps the same TXT token, so a record you have already published still counts.
  </Accordion>

  <Accordion title="Another Moove profile verified this domain first">
    Someone else proved ownership before you did, so they hold the domain. If you own it, [contact support](/contact-us/email).
  </Accordion>

  <Accordion title="This domain stayed suspended for too long">
    It was suspended for 30 days without the records being fixed, so moove.xyz released it. Click **Reconnect** and update your DNS records to use it again.
  </Accordion>
</AccordionGroup>

If another Moove Profile holds the domain by the time you reconnect, you will see *This domain is already connected to another Moove profile.*

## How Do I Remove My Domain?

Click **Remove domain**, then **Remove** to confirm. Your Moove Profile and payment links go back to their moove.xyz addresses.

<Warning>
  Links already shared on your domain stop working once it is removed. You can then connect a different domain.
</Warning>

## Messages You Might See

| Message | What to do |
| - | - |
| *Use a subdomain such as pay.example.com. Root domains like example.com aren't supported.* | Add a subdomain in front, such as `pay.`. |
| *Enter the domain on its own, without a path, for example pay.example.com.* | Remove anything after the domain: a `/path`, a `:port` or a `?query`. |
| *Enter a valid domain, such as pay.example.com.* | Check the spelling. |
| *This domain can't be used.* | The domain is reserved, for example a moove.xyz address, or contains a word that cannot be used. Pick a different subdomain. |
| *This domain is already connected to another Moove profile.* | Another Moove Profile verified it first. If you own it, [contact support](/contact-us/email). |
| *You already have a domain connected.* | Remove the current domain first. |
| *Too many verification attempts.* | Wait an hour, then click **Verify** again. |
| *We could not find both DNS records yet.* | Check the note under each record, or wait for DNS to update. |

<Note>
  Connecting a domain means you confirm you own or control it and that it does not imitate another business. Pages served on it stay under the moove.xyz [Terms of Service](/legal-and-compliance/terms-of-service) (clauses 9.6–9.10).
</Note>

## What To Read Next

<CardGroup cols={3}>
  <Card title="Moove Profile" icon="id-card" href="/brand/moove-profile">
    Make the page on your domain yours.
  </Card>

  <Card title="Moove Payment Links" icon="link" href="/manage/moove-payment-links">
    Track the links you share on it.
  </Card>

  <Card title="Moove Handle" icon="at-sign" href="/brand/moove-handle">
    The name behind both addresses.
  </Card>
</CardGroup>

Your domain. Your checkout. Your Money. Your Move.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.