Skip to Content
Custom Domains

Custom Domains

A bot’s public dashboard normally lives at /share/<shareId>. With a custom domain it also answers on a subdomain you own:

https://status.yourbot.com

Same page, your name on it, HTTPS handled for you. The page is indexed under your domain rather than ours — the share URL points search engines at your domain once it goes live, so the two copies never compete.

Custom domains are a Mochi Cloud feature. Self-hosted instances already answer on a hostname you control: point DNS at your server and Mochi serves the share page there.

Requirements

  • A subdomain you control, like status.yourbot.com. Apex domains (yourbot.com) are not supported — the ownership proof is a CNAME, and an apex record can’t be one.
  • Public sharing enabled for the bot. The domain is a second address for that page, not a second permission: turn sharing off and every custom domain for the bot goes dark immediately.
  • One custom domain per bot.

During launch, custom domains are limited to the first 100 users who claim one, first come first served. Once the slots are gone the settings page says so; more availability is coming.

Setting one up

1. Claim the hostname. Bot → Settings → Custom domain, enter status.yourbot.com, and press Add domain. Mochi assigns your claim its own target under our edge zone:

mochi-k7x9q2.status-pages.mochi.software

That target is unique to this claim. Nobody else is ever given it, which is exactly why pointing your hostname at it proves the hostname is yours.

2. Add the DNS record at your registrar:

TypeNameValue
CNAMEstatus (or status.yourbot.com)mochi-k7x9q2.status-pages.mochi.software

Registrars differ on the Name field: some want the full hostname, most want just the subdomain label. If your DNS is on Cloudflare, set the record to DNS only (grey cloud) — an orange-clouded record hides the CNAME behind Cloudflare’s own proxy and the check can’t see it.

3. Wait for the certificate. Mochi re-checks DNS every few minutes (or immediately, via Check now). Once the record resolves we request the certificate; issuing usually takes 1–15 minutes, and the page goes live on its own.

Verifying with TXT instead

If your DNS provider flattens or proxies CNAMEs, prove ownership with a TXT record instead:

TypeNameValue
TXT_mochi-verify.status.yourbot.comthe token shown in settings

The TXT record only proves ownership — traffic still has to reach us, so the hostname must resolve to your mochi-… target either way.

Status meanings

StatusWhat it meansWhat to do
Waiting for DNSWe can’t see your record yet. Claims are released after 48 hours.Check the record, then Check now.
Issuing certificateDNS is correct; the certificate is being issued.Nothing — usually 1–15 minutes.
LiveThe domain is serving your status page.
OfflineThe record stopped pointing at us for more than 7 days.Restore the record; it resumes on its own.

When it isn’t working

Almost every problem is the DNS record, and one command tells you which:

dig status.yourbot.com CNAME +short
  • Returns your exact mochi-… target → DNS is fine; the delay is certificate issuance.
  • Returns nothing → the record is missing, still propagating, or proxied (Cloudflare orange cloud). Grey-cloud it or use the TXT proof.
  • Returns a different target → the record points somewhere else, or an old claim’s target is still in place. Copy the target from the settings page again; removing and re-adding a domain issues a new one.
  • Returns an A record instead → replace it with the CNAME. Pointing an A record at an IP of ours won’t verify and won’t get a certificate.

Some registrars cache aggressively. If dig shows the right answer but Mochi still says Waiting for DNS, give the record’s TTL time to expire and press Check now again.

Removing a domain

Remove it from the settings panel. The claim, its target, and the certificate are all released; the share URL keeps working. Deleting the bot removes its domain too.

While the launch cap is in force, removing your last custom domain also returns your slot to the pool — if the 100 slots are full, someone else may take it before you claim again.

Removing and re-adding the same hostname issues a fresh target, so the old DNS record stops verifying. Update the record when you re-add.

Last updated on