Vanity Nameservers

Use your own NS hostnames instead of ns1.hiddenprimary.ch.

Overview

Vanity nameservers let you brand the NS records for your domains with your own hostnames, e.g. ns1.example.ch instead of ns1.hiddenprimary.ch. DNS resolution works identically — the difference is purely in how your NS records appear.

Nothing in DNS stops you from doing this on any plan: name our servers as you like in your zone and point the glue at our addresses. What the plan feature adds is the registration. Once a hostname is registered here, the zone validator recognises it as one of ours instead of warning on every zone that your delegation does not reach us (NS_MISSING_OURS), and we check its glue every 15 minutes.

How It Works

  1. You configure vanity NS hostnames in the portal (mapping to our real nameservers)
  2. You create Glue Records at your domain registrar (A/AAAA pointing to our IPs)
  3. You set NS records in your zone on your hidden primary

We do not modify your zone data. You control your NS and Glue Records.

1. Configure Vanity NS

Go to Nameservers in the portal, or use the API:

terminal
$ curl -X POST https://hiddenprimary.ch/v1/account/vanity-ns \
  -H "Authorization: Bearer $HP_KEY" \
  -H "Content-Type: application/json" \
  -d '{"hostname":"ns1.example.ch","target_ns_id":1}'

You can configure up to 4 vanity nameservers per account.

Vanity nameservers need a plan that includes them. Without the feature the portal shows an upgrade notice in place of the form and the API answers 402. Entries you already have stay visible and deletable on every plan.

2. Create Glue Records

At your domain registrar, create Glue Records (also called "host records" or "child nameservers") that point your vanity hostnames to our nameserver IPs:

Glue Records at registrar
ns1.example.ch → 159.69.80.135 (IPv4)
ns1.example.ch → 2a01:4f8:1c1c:5182::135 (IPv6)
ns2.example.ch → 95.216.177.216 (IPv4)
ns3.example.ch → 159.69.29.118 (IPv4)
ns3.example.ch → 2a01:4f8:1c0c:63c4::118 (IPv6)
ns4.example.ch → 45.131.252.44 (IPv4)
ns4.example.ch → 2a11:8b80:1000:1::18 (IPv6)

The nameserver table at the top of the Nameservers page lists the current IPs, as does the public Status Page.

3. Update NS Records in Your Zone

On your hidden primary DNS server, set the NS records in your zone to use the vanity hostnames:

Zone file
@ IN NS ns1.example.ch.
@ IN NS ns2.example.ch.

After the next zone transfer, the NS records will be served with your vanity hostnames.

4. Verify at Your Registrar

Finally, update the delegation at your registrar to point to your vanity NS hostnames (instead of ns1.hiddenprimary.ch). This is typically under "Nameservers" in the registrar panel.

DNS Validation

We check your Glue Records every 15 minutes, starting once your account has at least one zone. The status is shown in the portal:

  • Not checked — we have not looked at this hostname yet
  • Valid — Glue Records resolve to the correct IPs
  • Invalid — DNS lookup failed or IPs don't match. Hover for details.

You can verify manually with dig:

terminal
$ dig +short ns1.example.ch A
159.69.80.135
$ dig +short example.ch NS
ns1.example.ch.
ns2.example.ch.

API

  • GET /v1/account/vanity-ns — list configured vanity NS
  • POST /v1/account/vanity-ns — create a mapping
  • DELETE /v1/account/vanity-ns/{id} — remove a mapping

Next Steps