Custom Domains
By default your shortlinks live on the instance's primary domain. Custom domains let you serve links from your own hostname (e.g. go.yourbrand.com/launch) for a branded experience. Domains are managed from the Domains screen (/domains).
How It Works
- You add a hostname — lnkify generates a unique verification token.
- You add a DNS TXT record proving you control the hostname, and point the hostname at your lnkify instance.
- You click Verify. lnkify looks up the TXT record; on success the domain is marked verified and TLS is provisioned automatically.
- You select the domain when creating a link.
Adding a Domain
- Open Domains from the dashboard sidebar (
/domains) - Click Add Domain and enter the hostname (e.g.
go.yourbrand.com) - lnkify shows a verification token of the form
lnkify-verify=xxxxxxxxxxxxxxxxxxxxxxxx
Verifying Ownership
Add the following DNS records at your DNS provider:
| Record | Name / Host | Value |
|---|---|---|
TXT | _lnkify-verify.go.yourbrand.com | lnkify-verify=<your token> |
CNAME (or A) | go.yourbrand.com | your lnkify instance host (or its IP) |
Then return to the Domains screen and click Verify. lnkify resolves the _lnkify-verify.<hostname> TXT record and compares it to your token. Once it matches, the domain's status becomes verified.
TLS is automatic
After verification, certificates are issued on demand by Caddy the first time the domain is hit (the domain's sslStatus moves to active). Self-hosters: this requires Caddy's on-demand TLS — see Reverse Proxy and DNS & TLS.
Using a Domain for Links
When creating or editing a shortlink, choose your verified domain from the domain selector. The link will resolve at https://<your-domain>/<slug>. See Creating Shortlinks.
Plan Limits
The number of custom domains depends on your plan (enforced only when billing is enabled — see Billing & Usage):
| Plan | Custom domains |
|---|---|
| Free | 0 |
| Starter | 1 |
| Pro | 5 |
A default self-hosted instance (BILLING_ENFORCE=false) does not enforce these limits.
Via API / MCP
Domains can also be managed programmatically: the GraphQL addDomain, verifyDomain, deleteDomain mutations and the domains query (see Mutations), or the MCP add_domain, verify_domain, list_domains, delete_domain tools (see MCP Tools).
Next: Bio Pages