Skip to content

Custom Domains

By default, your Mini App is served at {project}.tma.sh. You can add a custom domain so users access your app at your own address, like app.yourdomain.com.

Go to your project’s Settings > Domains page and enter your domain (e.g., app.yourdomain.com).

For subdomain hosts (e.g., app.yourdomain.com), add a CNAME record pointing to your project host:

TypeNameValueTTL
CNAMEapp{project}.tma.shAuto

For an apex/root domain (e.g., yourdomain.com), many DNS providers require ALIAS/ANAME flattening. Point apex to tma.sh.

After DNS is in place, click Verify in Settings > Domains. Verification usually completes within minutes, but DNS propagation can take longer depending on your provider.

Once the domain is verified, TMA.sh provisions an SSL certificate via Cloudflare. HTTPS is enforced by default — no configuration needed.

StatusMeaning
PendingDNS record not yet detected. Waiting for propagation.
ActiveDomain verified and serving traffic with SSL.
FailedVerification failed. Check your DNS configuration.

You can check the current status on the Settings > Domains page in the dashboard.

You can add multiple custom domains to a single project. All domains serve the same deployment. This is useful for:

  • Regional domains (e.g., app.yourdomain.com and app.yourdomain.de)
  • Migrating from an old domain to a new one
  • Vanity URLs

Custom domains apply to your static SPA. API routes remain accessible at {project}--api.tma.sh/*. If you need a custom domain for your API, contact support.

To remove a custom domain, go to your project’s Settings > Domains page in the dashboard and delete the domain entry. Traffic to that domain will stop resolving. Remember to clean up the DNS record at your provider as well.

Custom domain management is dashboard-only — there are no CLI commands for adding, listing, or removing domains.