Mocha supports custom domains, allowing you to deploy your Mocha applications to your own domain. This feature gives you complete control over your website’s URL and branding.
Buy a domain directly in Mocha or from your preferred domain registrar (e.g., Namecheap, GoDaddy, Squarespace Domains)
You cannot use *.mocha.app subdomains as custom domains. These are reserved for Mocha’s built-in hosting. Use a domain you own from an external registrar instead.
2
Access Domain Settings
In your Mocha project settings, navigate to the “Domains” section
3
Link Your Domain
Enter your domain name and follow the verification process. This will link your domain to your Mocha account.
This can take a while, up to 48 hours depending on the domain provider.
4
Associate the Domain with a Mocha Project
Select the project you want to associate the domain with.
Custom domain setup
5
Publish your Project
Once the domain is connected, you can simply publish as usual, and your Mocha app will be live at your custom domain.
DNS changes can take up to 48 hours to propagate, though it typically happens within 1-2 hours. Here’s what to check:If your domain stays “stuck” in the pending state. We recommend simply “Deleting” it in Mocha and connecting it again. The process can be flakey and fails sometimes, but typically will work the second time.We apologize for the inconvenience. and are working on improving the process.
I'm seeing 'Connection not private' or SSL certificate errors
SSL certificates are provisioned automatically when you connect a domain, but they can take a few minutes to activate. If you’re seeing certificate errors:
Wait 10-15 minutes after connecting your domain for the SSL certificate to be issued
Try a different browser or try an incognito/private window
Clear your browser cache or try an incognito/private window
If you recently changed DNS providers or settings, you may need to wait for the changes to propagate before SSL works correctly.
How do I disconnect or remove a custom domain?
To remove a custom domain from your project:
Go to your project settings
Navigate to the “Domains” section
Find the domain you want to remove
Click the remove/disconnect option
After removing, your app will still be accessible via its .mocha.app subdomain (if you have one set up).
How do I unpublish my app?
To unpublish your app and take it offline:
Click the publish button to open the publish modal
Toggle the selector from “Published” to “Unpublished”
Once unpublished, your app will no longer be accessible to visitors. You can republish at any time.
My www subdomain isn't working (Cloudflare Error 1001)
Mocha currently only supports the exact domain you connect — www subdomains are not automatically configured. For example, if you connect mydomain.com, then www.mydomain.com will not work and will show a Cloudflare Error 1001.This is a known limitation we’re actively working to fix. In the meantime, here’s a workaround:
Set up domain forwarding at your registrar — most registrars (GoDaddy, Namecheap, etc.) offer a “Forwarding” or “Redirect” option in their domain settings
Forward www.mydomain.com → mydomain.com using a 301 (permanent) redirect
This ensures visitors who type www.mydomain.com are automatically sent to your working domain
Do not add a CNAME record pointing www to *.mocha.app — this will not work because the www hostname is not registered in our infrastructure. Use your registrar’s forwarding/redirect feature instead.
My domain was working but stopped
If your domain suddenly stopped working:
Check if your subscription is active - Custom domains require a paid plan
Verify DNS settings haven’t changed - Sometimes DNS providers reset settings
Check domain expiration - Make sure your domain registration hasn’t expired
If you’re having trouble connecting your domain and the above doesn’t help, reach out to support@getmocha.com with your domain name and a screenshot of your DNS settings.
We’ve partnered with IONOS, a leading domain registrar, to offer seamless domain purchases directly within Mocha. This integration allows you to search, purchase, and manage your domains all in one place.
Access the domain purchase modal from your project settings
Streamlined Process: Search and purchase domains without leaving Mocha
Instant Setup: Domains purchased through Mocha are automatically linked to your account
Competitive Pricing: Access to IONOS’s competitive domain pricing
Easy Management: Manage all your domains in one place
After purchasing a domain through Mocha, you can follow the regular domain linking process to associate it with your project.
Buying through Mocha is the fastest way to get started with a custom domain, but you can also purchase or use domains from other registrars.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Mocha","colors":{"primary":"#513A06","light":"#B4FF6A","dark":"#000000"},"logo":{"light":"https://mintcdn.com/mocha-47857bf6/EFm9ggjstP8iJYEt/logo/mocha-logo-full-black.png?fit=max\u0026auto=format\u0026n=EFm9ggjstP8iJYEt\u0026q=85\u0026s=71bd3afad727c118f33c3d1f4f5c7906","dark":"https://mintcdn.com/mocha-47857bf6/EFm9ggjstP8iJYEt/logo/mocha-logo-full-white.png?fit=max\u0026auto=format\u0026n=EFm9ggjstP8iJYEt\u0026q=85\u0026s=b5fd248fa756645dcf0237bdc694439e"},"favicon":"https://mintcdn.com/mocha-47857bf6/Q5Os2Tbn61W-oFpO/favicon.png?fit=max\u0026auto=format\u0026n=Q5Os2Tbn61W-oFpO\u0026q=85\u0026s=1207842d1c8d61e34c54642af125f59e","background":{"color":{"light":"#F9F7EF","dark":"#1A1A1A"}},"navbar":{"links":[{"href":"mailto:support@getmocha.com","label":"Support"}],"primary":{"type":"button","label":"Go to Mocha","href":"https://getmocha.com"}},"footer":{"socials":{"x":"https://x.com/get_mocha","github":"https://github.com/srcbookdev","linkedin":"https://www.linkedin.com/company/96310770"}},"styling":{"latex":true},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"mocha-47857bf6","hasAudioNarration":false,"actualSubdomain":"mocha-47857bf6","customDomains":["docs.getmocha.com"],"gitSource":{"type":"github","owner":"srcbookdev","repo":"docs","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6a52f449a707ecb58eef1ade","collectionId":"ed115461-77d2-4f12-9c8c-ea3fcdfa218f","schemaVersion":"v2"},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"REMOVE_BRANDING":{"status":"DISABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6a52f449a707ecb58eef1ade:success","clientVersion":"0.0.4044","searchFilterCounts":[{"language":"default","tag":"Documentation","count":35},{"language":"default","tag":"Basics","count":15},{"language":"default","tag":"Guides \u0026 Tutorials","count":7},{"language":"default","tag":"Get Started","count":4},{"language":"default","tag":"Integrations","count":4},{"language":"default","tag":"Account \u0026 Billing","count":3},{"language":"default","tag":"Community \u0026 Support","count":2}]},"assistantConfig":{"deflection":{"enabled":true,"email":"support@getmocha.com"}},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":true,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"byok-sep-25","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"basics/custom-domains","slug":"/basics/custom-domains","pageMetadata":{"title":"Custom Domains","description":"Learn how to connect your own domain to your Mocha project","icon":"globe","href":"/basics/custom-domains","hidden":false},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Learn how to connect your own domain to your Mocha project\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,li:`li`,ol:`ol`,p:`p`,strong:`strong`,ul:`ul`,..._provideComponents(),...props.components},{Accordion,AccordionGroup,Frame,Heading,Note,OptimizedFrame,OptimizedImage,Step,Steps,Tip,Warning}=_components;if(!Accordion)_missingMdxReference(`Accordion`,true);if(!AccordionGroup)_missingMdxReference(`AccordionGroup`,true);if(!Frame)_missingMdxReference(`Frame`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Note)_missingMdxReference(`Note`,true);if(!OptimizedFrame)_missingMdxReference(`OptimizedFrame`,true);if(!OptimizedImage)_missingMdxReference(`OptimizedImage`,true);if(!Step)_missingMdxReference(`Step`,true);if(!Steps)_missingMdxReference(`Steps`,true);if(!Tip)_missingMdxReference(`Tip`,true);if(!Warning)_missingMdxReference(`Warning`,true);return _jsxs(_Fragment,{children:[_jsx(OptimizedFrame,{className:`mint-w-full mint-aspect-video mint-rounded-xl`,src:`https://www.youtube.com/embed/GcJ0pLihWBQ`,title:`Custom Domains Announcement`,allow:`accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture`,allowFullScreen:true}),`\n`,_jsx(Heading,{level:`2`,id:`overview`,children:`Overview`}),`\n`,_jsx(_components.p,{children:`Mocha supports custom domains, allowing you to deploy your Mocha applications to your own domain. This feature gives you complete control over your website’s URL and branding.`}),`\n`,_jsx(Heading,{level:`2`,id:`domain-limits-by-plan`,children:`Domain Limits by Plan`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`🥉 `,_jsx(_components.strong,{children:`Bronze`}),`: 1 custom domain`]}),`\n`,_jsxs(_components.li,{children:[`🥈 `,_jsx(_components.strong,{children:`Silver`}),`: 5 custom domains`]}),`\n`,_jsxs(_components.li,{children:[`🥇 `,_jsx(_components.strong,{children:`Gold`}),`: 20 custom domains`]}),`\n`]}),`\n`,_jsx(Note,{children:_jsx(_components.p,{children:`These limits are subject to change as we continue to evolve our offerings.`})}),`\n`,_jsx(Heading,{level:`2`,id:`how-to-set-up-your-custom-domain`,children:`How to Set Up Your Custom Domain`}),`\n`,_jsxs(Steps,{children:[_jsxs(Step,{title:`Purchase a Domain`,children:[_jsx(_components.p,{children:`Buy a domain directly in Mocha or from your preferred domain registrar (e.g., Namecheap, GoDaddy, Squarespace Domains)`}),_jsx(Warning,{children:_jsxs(_components.p,{children:[`You cannot use `,_jsx(_components.code,{children:`*.mocha.app`}),` subdomains as custom domains. These are reserved for Mocha’s built-in hosting. Use a domain you own from an external registrar instead.`]})})]}),_jsx(Step,{title:`Access Domain Settings`,children:_jsx(_components.p,{children:`In your Mocha project settings, navigate to the “Domains” section`})}),_jsx(Step,{title:`Link Your Domain`,children:_jsxs(_components.p,{children:[`Enter your domain name and follow the verification process. This will link your domain to your Mocha account.\n`,_jsx(Note,{children:`This can take a while, up to 48 hours depending on the domain provider.`})]})}),_jsxs(Step,{title:`Associate the Domain with a Mocha Project`,children:[_jsx(_components.p,{children:`Select the project you want to associate the domain with.`}),_jsx(Frame,{caption:`Custom domain setup`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/mocha-47857bf6/lGH2P6uNttjLJiIS/images/select-domain.gif?s=ddc38babba2f3a8dc42c6ce241985578`,alt:`Custom domain setup process`,\"data-og-width\":`1158`,width:`1158`,\"data-og-height\":`720`,height:`720`,\"data-path\":`images/select-domain.gif`,\"data-optimize\":`true`,\"data-opv\":`3`})})]}),_jsx(Step,{title:`Publish your Project`,children:_jsx(_components.p,{children:`Once the domain is connected, you can simply publish as usual, and your Mocha app will be live at your custom domain.`})})]}),`\n`,_jsx(Heading,{level:`2`,id:`troubleshooting`,children:`Troubleshooting`}),`\n`,_jsxs(AccordionGroup,{children:[_jsxs(Accordion,{title:`My domain is stuck in 'Verifying' status`,id:`my-domain-is-stuck-in-verifying-status`,children:[_jsx(_components.p,{children:`DNS changes can take up to 48 hours to propagate, though it typically happens within 1-2 hours. Here’s what to check:`}),_jsx(_components.p,{children:`If your domain stays “stuck” in the pending state. We recommend simply “Deleting” it in Mocha and connecting it again. The process can be flakey and fails sometimes, but typically will work the second time.`}),_jsx(_components.p,{children:`We apologize for the inconvenience. and are working on improving the process.`})]}),_jsxs(Accordion,{title:`I'm seeing 'Connection not private' or SSL certificate errors`,id:`i-m-seeing-connection-not-private-or-ssl-certificate-errors`,children:[_jsx(_components.p,{children:`SSL certificates are provisioned automatically when you connect a domain, but they can take a few minutes to activate. If you’re seeing certificate errors:`}),_jsxs(_components.ol,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Wait 10-15 minutes`}),` after connecting your domain for the SSL certificate to be issued`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Try a different browser`}),` or try an incognito/private window`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Clear your browser cache`}),` or try an incognito/private window`]}),`\n`]}),_jsx(Warning,{children:_jsx(_components.p,{children:`If you recently changed DNS providers or settings, you may need to wait for the changes to propagate before SSL works correctly.`})})]}),_jsxs(Accordion,{title:`How do I disconnect or remove a custom domain?`,id:`how-do-i-disconnect-or-remove-a-custom-domain`,children:[_jsx(_components.p,{children:`To remove a custom domain from your project:`}),_jsxs(_components.ol,{children:[`\n`,_jsx(_components.li,{children:`Go to your project settings`}),`\n`,_jsx(_components.li,{children:`Navigate to the “Domains” section`}),`\n`,_jsx(_components.li,{children:`Find the domain you want to remove`}),`\n`,_jsx(_components.li,{children:`Click the remove/disconnect option`}),`\n`]}),_jsxs(_components.p,{children:[`After removing, your app will still be accessible via its `,_jsx(_components.code,{children:`.mocha.app`}),` subdomain (if you have one set up).`]})]}),_jsxs(Accordion,{title:`How do I unpublish my app?`,id:`how-do-i-unpublish-my-app`,children:[_jsx(_components.p,{children:`To unpublish your app and take it offline:`}),_jsxs(_components.ol,{children:[`\n`,_jsx(_components.li,{children:`Click the publish button to open the publish modal`}),`\n`,_jsx(_components.li,{children:`Toggle the selector from “Published” to “Unpublished”`}),`\n`]}),_jsx(_components.p,{children:`Once unpublished, your app will no longer be accessible to visitors. You can republish at any time.`})]}),_jsxs(Accordion,{title:`My www subdomain isn't working (Cloudflare Error 1001)`,id:`my-www-subdomain-isnt-working-cloudflare-error-1001`,children:[_jsxs(_components.p,{children:[`Mocha currently only supports the exact domain you connect — `,_jsx(_components.strong,{children:`www subdomains are not automatically configured`}),`. For example, if you connect `,_jsx(_components.code,{children:`mydomain.com`}),`, then `,_jsx(_components.code,{children:`www.mydomain.com`}),` will not work and will show a Cloudflare Error 1001.`]}),_jsx(_components.p,{children:`This is a known limitation we’re actively working to fix. In the meantime, here’s a workaround:`}),_jsxs(_components.ol,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Set up domain forwarding at your registrar`}),` — most registrars (GoDaddy, Namecheap, etc.) offer a “Forwarding” or “Redirect” option in their domain settings`]}),`\n`,_jsxs(_components.li,{children:[_jsxs(_components.strong,{children:[`Forward `,_jsx(_components.code,{children:`www.mydomain.com`}),` → `,_jsx(_components.code,{children:`mydomain.com`})]}),` using a 301 (permanent) redirect`]}),`\n`,_jsxs(_components.li,{children:[`This ensures visitors who type `,_jsx(_components.code,{children:`www.mydomain.com`}),` are automatically sent to your working domain`]}),`\n`]}),_jsx(Warning,{children:_jsxs(_components.p,{children:[`Do `,_jsx(_components.strong,{children:`not`}),` add a CNAME record pointing `,_jsx(_components.code,{children:`www`}),` to `,_jsx(_components.code,{children:`*.mocha.app`}),` — this will not work because the www hostname is not registered in our infrastructure. Use your registrar’s forwarding/redirect feature instead.`]})})]}),_jsxs(Accordion,{title:`My domain was working but stopped`,id:`my-domain-was-working-but-stopped`,children:[_jsx(_components.p,{children:`If your domain suddenly stopped working:`}),_jsxs(_components.ol,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Check if your subscription is active`}),` - Custom domains require a paid plan`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Verify DNS settings haven’t changed`}),` - Sometimes DNS providers reset settings`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Check domain expiration`}),` - Make sure your domain registration hasn’t expired`]}),`\n`]}),_jsxs(_components.p,{children:[`If everything looks correct, contact `,_jsx(_components.a,{href:`mailto:support@getmocha.com`,children:`support@getmocha.com`}),` for help.`]})]})]}),`\n`,_jsx(Tip,{children:_jsxs(_components.p,{children:[`If you’re having trouble connecting your domain and the above doesn’t help, reach out to `,_jsx(_components.a,{href:`mailto:support@getmocha.com`,children:`support@getmocha.com`}),` with your domain name and a screenshot of your DNS settings.`]})}),`\n`,_jsx(Heading,{level:`2`,id:`managing-multiple-domains`,children:`Managing Multiple Domains`}),`\n`,_jsx(_components.p,{children:`For users on Silver and Gold plans, you can manage multiple domains:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Add new domains at any time`}),`\n`,_jsx(_components.li,{children:`Remove domains from your project`}),`\n`,_jsx(_components.li,{children:`Monitor domain status`}),`\n`,_jsx(_components.li,{children:`Configure domain-specific settings`}),`\n`]}),`\n`,_jsx(Note,{children:_jsx(_components.p,{children:`Need more domains? Consider upgrading your subscription to get access to more custom domains.`})}),`\n`,_jsx(Heading,{level:`2`,id:`purchase-domains-through-mocha`,children:`Purchase Domains Through Mocha`}),`\n`,_jsx(_components.p,{children:`We’ve partnered with IONOS, a leading domain registrar, to offer seamless domain purchases directly within Mocha. This integration allows you to search, purchase, and manage your domains all in one place.`}),`\n`,_jsx(Frame,{caption:`Access the domain purchase modal from your project settings`,children:_jsx(OptimizedImage,{src:`https://mintlify.s3.us-west-1.amazonaws.com/mocha-47857bf6/images/buy-a-domain.png`,alt:`Buy domains in Mocha`})}),`\n`,_jsx(Heading,{level:`3`,id:`benefits-of-buying-through-mocha`,children:`Benefits of Buying Through Mocha`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Streamlined Process`}),`: Search and purchase domains without leaving Mocha`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Instant Setup`}),`: Domains purchased through Mocha are automatically linked to your account`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Competitive Pricing`}),`: Access to IONOS’s competitive domain pricing`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Easy Management`}),`: Manage all your domains in one place`]}),`\n`]}),`\n`,_jsx(_components.p,{children:`After purchasing a domain through Mocha, you can follow the regular domain linking process to associate it with your project.`}),`\n`,_jsx(Tip,{children:_jsx(_components.p,{children:`Buying through Mocha is the fastest way to get started with a custom domain, but you can also purchase or use domains from other registrars.`})})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Custom Domains","description":"Learn how to connect your own domain to your Mocha project","icon":"globe","href":"/basics/custom-domains","hidden":false}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Overview","slug":"overview","depth":2,"children":[]},{"title":"Domain Limits by Plan","slug":"domain-limits-by-plan","depth":2,"children":[]},{"title":"How to Set Up Your Custom Domain","slug":"how-to-set-up-your-custom-domain","depth":2,"children":[]},{"title":"Troubleshooting","slug":"troubleshooting","depth":2,"children":[]},{"title":"Managing Multiple Domains","slug":"managing-multiple-domains","depth":2,"children":[]},{"title":"Purchase Domains Through Mocha","slug":"purchase-domains-through-mocha","depth":2,"children":[{"title":"Benefits of Buying Through Mocha","slug":"benefits-of-buying-through-mocha","depth":3,"children":[]}]}],"codeExamples":{}},"jsLinks":[],"dynamicCss":".mint-aspect-video {\n aspect-ratio: 16 / 9\n}\n.mint-w-full {\n width: 100%\n}\n.mint-rounded-xl {\n border-radius: 0.75rem\n}","subdomain":"mocha-47857bf6","siteName":"Mocha","title":"Custom Domains - Mocha","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-03-02T06:15:22.248Z","originalFileLocation":"basics/custom-domains.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Learn how to connect your own domain to your Mocha project\">\u003cmeta data-mint-head name=\"application-name\" content=\"Mocha\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/mocha-47857bf6/rcEDKli5nsISoEfn/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/mocha-47857bf6/rcEDKli5nsISoEfn/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/mocha-47857bf6/rcEDKli5nsISoEfn/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/mocha-47857bf6/rcEDKli5nsISoEfn/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/mocha-47857bf6/rcEDKli5nsISoEfn/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/mocha-47857bf6/rcEDKli5nsISoEfn/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/mocha-47857bf6/rcEDKli5nsISoEfn/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/mocha-47857bf6/rcEDKli5nsISoEfn/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/mocha-47857bf6/rcEDKli5nsISoEfn/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Custom Domains - Mocha\">\u003cmeta data-mint-head property=\"og:description\" content=\"Learn how to connect your own domain to your Mocha project\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Mocha\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.getmocha.com/basics/custom-domains\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://mocha-47857bf6.mintlify.app/_mintlify/api/og/v2?division=Basics\u0026amp;title=Custom+Domains\u0026amp;description=Learn+how+to+connect+your+own+domain+to+your+Mocha+project\u0026amp;theme=875b20c0094474d29c9986c5\u0026amp;signature=94c279114be609b70631da9418da84b891187131986e88548eb738d68119ada1\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Custom Domains - Mocha\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Learn how to connect your own domain to your Mocha project\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://mocha-47857bf6.mintlify.app/_mintlify/api/og/v2?division=Basics\u0026amp;title=Custom+Domains\u0026amp;description=Learn+how+to+connect+your+own+domain+to+your+Mocha+project\u0026amp;theme=875b20c0094474d29c9986c5\u0026amp;signature=94c279114be609b70631da9418da84b891187131986e88548eb738d68119ada1\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/mocha-47857bf6/rcEDKli5nsISoEfn/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Mocha\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#513A06\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.getmocha.com/basics/custom-domains\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/basics/custom-domains.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.getmocha.com/#organization\",\"name\":\"Mocha\",\"url\":\"https://docs.getmocha.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/mocha-47857bf6/EFm9ggjstP8iJYEt/logo/mocha-logo-full-black.png?fit=max\u0026auto=format\u0026n=EFm9ggjstP8iJYEt\u0026q=85\u0026s=71bd3afad727c118f33c3d1f4f5c7906\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.getmocha.com#website\",\"name\":\"Mocha\",\"url\":\"https://docs.getmocha.com\",\"publisher\":{\"@id\":\"https://docs.getmocha.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.getmocha.com/basics/custom-domains#webpage\",\"url\":\"https://docs.getmocha.com/basics/custom-domains\",\"name\":\"Custom Domains\",\"description\":\"Learn how to connect your own domain to your Mocha project\",\"dateModified\":\"2026-03-02T06:15:22.248Z\",\"isPartOf\":{\"@id\":\"https://docs.getmocha.com#website\"},\"breadcrumb\":{\"@id\":\"https://docs.getmocha.com/basics/custom-domains#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.getmocha.com/basics/custom-domains#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Basics\",\"item\":\"https://docs.getmocha.com/basics/hosting\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Custom Domains\",\"item\":\"https://docs.getmocha.com/basics/custom-domains\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.getmocha.com/basics/custom-domains#article\",\"headline\":\"Custom Domains\",\"name\":\"Custom Domains\",\"description\":\"Learn how to connect your own domain to your Mocha project\",\"url\":\"https://docs.getmocha.com/basics/custom-domains\",\"mainEntityOfPage\":{\"@id\":\"https://docs.getmocha.com/basics/custom-domains#webpage\"},\"dateModified\":\"2026-03-02T06:15:22.248Z\",\"publisher\":{\"@id\":\"https://docs.getmocha.com/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.getmocha.com#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Mocha\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Mocha","nav":{"global":null,"anchors":[{"anchor":"Documentation","groups":[{"group":"Get Started","pages":[{"title":"Welcome","icon":"door-open","href":"/welcome"},{"title":"Getting Started with Mocha","icon":"play","href":"/getting-started"},{"title":"FAQ","icon":"circle-question","href":"/getting-started/faq"},{"title":"Migrating older apps","icon":"grid-2","href":"/getting-started/migrating"}]},{"group":"Basics","pages":[{"title":"Deploy your website","icon":"rocket","href":"/basics/hosting"},{"title":"Analytics","icon":"chart-line","href":"/basics/analytics"},{"title":"Email","icon":"envelope","href":"/basics/email"},{"title":"Discuss Mode","icon":"message","href":"/basics/discuss-mode"},{"title":"Max Mode","icon":"brain","href":"/basics/max-mode"},{"title":"Direct Edit Mode","icon":"pen-to-square","href":"/basics/direct-edit"},{"title":"Using Images and Assets","icon":"image","href":"/basics/assets"},{"title":"Version History","icon":"clock-rotate-left","href":"/basics/versions"},{"title":"Duplicating Apps","icon":"copy","href":"/basics/duplicate"},{"title":"Backend \u0026 APIs","icon":"server","href":"/basics/backend"},{"title":"Authentication","icon":"user-shield","href":"/basics/auth"},{"title":"Databases","description":"Your app comes with a database—understand dev vs prod and manage data","icon":"database","href":"/basics/databases"},{"title":"Custom Domains","icon":"globe","href":"/basics/custom-domains"},{"title":"Custom Knowledge","description":"Give your project the context it needs to succeed","icon":"book","href":"/basics/custom-knowledge"},{"title":"Custom Login Options \u0026 Branding","icon":"book","href":"/basics/custom-login-branding"}]},{"group":"Integrations","pages":[{"title":"Accepting Payments","icon":"credit-card","href":"/integrations/accepting-payments"},{"title":"Scraping Data","icon":"chart-network","href":"/integrations/scraping-data"},{"title":"Generating Images","icon":"images","href":"/integrations/generating-images"},{"title":"Using Voice AI","icon":"microphone","href":"/integrations/using-voice-ai"}]},{"group":"Account \u0026 Billing","pages":[{"title":"Account \u0026 Subscriptions","icon":"user","href":"/billing/account-subscriptions"},{"title":"Billing","icon":"credit-card","href":"/billing/billing"},{"title":"Credit and App Size Limits","icon":"gauge","href":"/billing/limits"}]},{"group":"Guides \u0026 Tutorials","pages":[{"title":"From Idea to Live Website","icon":"lightbulb","href":"/guides/idea-to-website"},{"title":"Prompting Best Practices","icon":"pencil","href":"/guides/prompting"},{"title":"Video Tutorials","icon":"youtube","href":"/guides/video-tutorials"},{"title":"Troubleshooting Errors","icon":"bug","href":"/guides/troubleshooting"},{"title":"Troubleshooting Login","icon":"lock","href":"/guides/troubleshooting-login"},{"title":"Blank Page or Missing Images","icon":"wifi-slash","href":"/guides/network-blocking"},{"title":"Remove the Watermark","icon":"eye-slash","href":"/guides/remove-watermark"}]},{"group":"Community \u0026 Support","pages":[{"title":"Community \u0026 News","icon":"users","href":"/community/community"},{"title":"Bugs \u0026 Feature requests","icon":"bug","href":"/community/bugs-features"}]}]},{"anchor":"Community","icon":"discord","href":"https://discord.gg/shDEGBSe2d"},{"anchor":"YouTube","icon":"youtube","href":"https://www.youtube.com/@get_mocha"},{"anchor":"Twitter","icon":"x-twitter","href":"https://x.com/get_mocha"}]},"basePath":"","title":"Custom Domains - Mocha","buildId":"dpl_DeHjVRGfFnhYQwHnfC2pjeXXv8h9","deploymentId":"dpl_DeHjVRGfFnhYQwHnfC2pjeXXv8h9","dynamics":["07c022d89b","a74be98ba7"],"chunks":["Frame-DXXFP6nH.js","DynamicMarkdown-B54_zNBF.js","zoom-image-lightbox-BG6oD64b.js","lightbox-handle-r17bVUz3.js"]}