# Domain expiry monitoring with RDAP and DNS checks

> Lampwick looks up your domain's expiry date through RDAP once a day, alerts 30, 14, 7 and 1 days before it lapses, and watches NS and MX records hourly.

Lampwick looks up the expiry date of your domain once a day through RDAP and alerts your team 30, 14, 7 and 1 days before the registration expires. The same check watches the domain's DNS: when the NS or MX records change, you get **DNS records changed** with what was added and removed. Both come with every [uptime monitor](/features/uptime-monitoring/), on by default, on every plan.

## Why domains lapse

A domain expires when the card on file at the registrar expires, the renewal e-mails go to someone who left, or auto-renew was never on. The site, the e-mail and every API on that domain stop at once, and a lapsed domain can be bought by someone else. DNS changes break things just as quietly: a nameserver moved during a migration, an MX record deleted by hand.

## What you get

**Domain expiry**

| | |
|---|---|
| Lookup | Once a day, through RDAP at the registry's own server (from the IANA bootstrap file). |
| Which domain | The registrable domain of the URL: `example.com` for `shop.example.com`, `github.io` for `x.github.io`. Monitors on one domain share one lookup. |
| Alerts | 30, 14, 7 and 1 days before expiry, once per threshold. |
| In the app | The **Domain** tile on the monitor's page, and a **Domain 21d** badge in the monitor list within 30 days. |

RDAP is the successor of WHOIS: the same registration data as structured JSON over HTTPS, served by the registry.

**DNS changes**

| | |
|---|---|
| Lookup | Hourly, through public resolvers (Cloudflare and Google), never your server's own. |
| Records | NS and MX of the host and its domain. Optional: A, AAAA and CNAME too. |
| Confirmation | A difference is looked up again after 5 minutes. Only when the second lookup agrees does it alert. |
| In the app | The **DNS** tile and **Recent changes** on the monitor's page. |

A, AAAA and CNAME are off by default because CDNs and load balancers rotate them; turn them on for a host with fixed addresses.

## Set it up

1. [Create an account](https://app.lampwick.dev/signup) and open **Uptime**.
2. Add a monitor for a URL on the domain, such as `https://example.com`. **Domain expiry** and **DNS changes** are already ticked.
3. Within a minute, the **Domain** and **DNS** tiles show the expiry date and the records.

Every setting and error message is in the [SSL, domain and DNS docs](/docs/host-checks/).

## What it doesn't do

- Some registries publish no expiry date or have no RDAP server, including `.nl`. The tile then says **Unknown** and no expiry alert is sent; turn on auto-renew at your registrar. Lampwick tries again weekly.
- It doesn't watch domains without a monitor, and doesn't check registrar locks, WHOIS contact changes or DNSSEC.
- DNS change alerts cover the record types above, not TXT records (SPF, DKIM, DMARC).
- A URL with an IP address has no domain to check; the tile says **None**.

## What it costs

Included with every uptime monitor: 3 on Free, 20 on Pro (€29), 100 on Team (€79), 300 on Business (€199), per team per month. See [pricing](/#pricing).

## Related

- The certificate on the same host: [SSL certificate expiry monitoring](/features/ssl-monitoring/).
- What a lapsed domain and a DNS change look like from outside: [how to know when your app is down](/guides/know-when-your-app-is-down/#the-domain-lapsed).
- Many client domains in one account: [Lampwick for agencies](/for/agencies/).

[Start free](https://app.lampwick.dev/signup) and add your domain.
