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

# Use your own domain

> Serve a published prototype at an address you own.

A custom domain serves one of your prototypes at your own address, such as app.example.com, alongside its polymet.app link.

Custom domains need a paid plan. On Free, **Connect Domain** is disabled and says **Custom domains require a paid plan — upgrade to connect your own domain**.

![The Domains tab in Project Settings before any domain is connected: the Connect Domain button on top and the Live URLs list below it](https://mintcdn.com/polymet/TfIzLh80_L4bW9xQ/images/docs/publish/domains-tab.png?fit=max\&auto=format\&n=TfIzLh80_L4bW9xQ\&q=85\&s=66e6632c07efa65c9ec3934e0dd775a6)

## Connect a domain

1. Open **Project settings** (the settings button next to the project name) and go to **Domains**.
2. Click **Connect Domain**, type the domain, and click **Continue**.
3. Choose **Root domain** (example.com) or **Subdomain** (app.example.com). For a root domain, **Redirect www to root** is on by default, so [www.example.com](http://www.example.com) sends visitors to example.com.
4. Pick the prototype this domain should serve. If it is not published yet, the button reads **Publish**: it publishes the prototype first, then adds the domain. Otherwise click **Connect**.
5. The dialog lists the DNS records to add, with their **Type**, **Name** and **Value**. Name and value each have a copy button. Add them where you bought the domain. Expect a routing record (CNAME or A) and usually a TXT record that proves you own the domain.
6. Click **Check status**. DNS changes can take up to 48 hours to spread, so close the dialog and come back if it is not ready.

While a domain is **Pending**, **Verification Failed**, **Misconfigured** or **Offline**, its row in the Domains tab shows the records again, with a **Refresh** button to check.

## What each status means

Hover the dot next to a domain to see its status. The line under the domain says what to do.

| Status | What it means | What to do |
| - | - | - |
| **Pending** | Polymet is waiting for your DNS records | Add the records shown, then click **Refresh** |
| **Verifying** | Polymet is checking your DNS records | Wait |
| **SSL Provisioning** | DNS is verified; HTTPS is being set up | Wait. It usually takes a few minutes |
| **Active** | The domain serves your prototype | Nothing |
| **Verification Failed** | The TXT ownership record was not found | Check the records and click **Refresh** |
| **Misconfigured** | The TXT record is verified, but the routing record (CNAME or A) is missing or wrong | Fix the routing record and click **Refresh** |
| **SSL Failed** | The HTTPS certificate could not be issued | Contact support |
| **Offline** | The prototype it serves is not published, or the DNS records changed | Publish the prototype, or check your records |

A domain can also show **Not published** (its prototype was unpublished; click **Publish** on the row) or **Prototype removed** (its prototype is no longer on the canvas; choose another with **Change prototype**).

## Change or remove a domain

Open the menu on the domain's row:

* **Change prototype** points the domain at another prototype in the project.
* **Remove** takes the domain off the project. Removing a root domain also removes its www redirect.

## Limits

* Up to 5 custom domains per project. www redirects do not count.
* Each domain serves one prototype, and shows it once that prototype is published.
* Connecting, publishing and changing the prototype only work on the default branch. On another branch they are disabled, with **Switch to main** (named after your default branch) at the top of the tab. See [Branches](https://docs.polymet.ai/team/branches.md).

## Related

* [Publish a prototype](https://docs.polymet.ai/publish/publish.md) — publish, update and unpublish the prototype a domain serves
* [Plans](https://docs.polymet.ai/plans/plans.md) — which plans include custom domains


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