Skip to main content

Wildcard domains

Every Unkey deployment receives a wildcard *.unkey.app domain automatically. Access any deployment instantly without manual DNS setup.
2 min read

Every deployment on Unkey receives automatic *.unkey.app subdomains with no DNS configuration required. These domains are available as soon as the deployment completes.

Immutable vs sticky#

Wildcard domains fall into two categories based on how they resolve over time.

Immutable domains are locked to a specific commit or deployment and never change. The same URL always returns the same version of your app. Use immutable domains when you need a permanent reference to an exact version, for example in incident reports, audit trails, or rollback verification.

Sticky domains follow the latest deployment that matches a condition (a branch, an environment, or production). The URL stays the same, but the deployment behind it changes as you push new code. Use sticky domains for bookmarks, CI/CD integrations, and sharing preview links that stay up to date.

Immutable domains#

Commit{project}-{app}-git-{sha}-{workspace}.unkey.app#

Tied to a specific commit. Once created, it always resolves to the deployment built from that commit.

Example: myapp-api-git-a1b2c3d-acme.unkey.app

Deployments created via CLI upload include a random suffix to prevent collisions when deploying from a dirty git state.

Deployment{project}-{app}-dep-{id}-{workspace}.unkey.app#

Tied to a specific deployment ID. Similar to commit domains, but references the deployment rather than the commit.

Example: myapp-api-dep-xyz789-acme.unkey.app

Sticky domains#

Branch{project}-{app}-git-{branch}-{workspace}.unkey.app#

Follows the latest deployment on a given branch. Each time you push to the branch, this domain updates to point to the new deployment.

Example: myapp-api-git-main-acme.unkey.app

Branch names are slugified: non-alphanumeric characters become hyphens, and the name is truncated to 80 characters.

Environment{project}-{app}-{environment}-{workspace}.unkey.app#

Follows the latest deployment promoted to a specific environment. When you promote a new deployment or roll back, this domain updates automatically.

Example: myapp-api-staging-acme.unkey.app

Live{project}-{app}-{workspace}.unkey.app#

A short-form URL that always resolves to the current production deployment. Unkey creates this domain only for the production environment.

Example: myapp-api-acme.unkey.app

When to use each type#

DomainUse case
CommitLink to an exact commit's deployment in an incident report or changelog
DeploymentReference a specific deployment for debugging or comparison
BranchShare a preview URL in a pull request that stays current
EnvironmentPoint integration tests at a stable staging URL
LiveGive internal tools a short, memorable production URL