Domain
How Telescope monitors domain registration for expiration and WHOIS data via RDAP.
Domain monitors query RDAP (Registration Data Access Protocol) — the modern replacement for WHOIS — to check domain registration status, expiration dates, and registrar information.
How a check works
- Telescope resolves the domain from the monitor's
targetfield (or parses the hostname fromurl). - An HTTP GET request is sent to
https://rdap.org/domain/{domain}withAccept: application/rdap+json. - The RDAP response is parsed for expiration events, registrar info, nameservers, DNSSEC status, and domain status codes.
- Status is determined based on days until expiry relative to the configured threshold.
- The result is recorded and your monitor's status is updated.
Checks never hang — every RDAP query uses AbortSignal.timeout (default 30 seconds, configurable per monitor). If the query doesn't complete in time, the check is marked as down.
Status classification
| Condition | Status | What it means |
|---|---|---|
| No expiry date in RDAP | Up | Some TLDs don't expose expiry — not a failure |
| Days until expiry > threshold | Up | Domain registration is healthy |
| Domain expires within threshold (default 30d) | Degraded | Domain expiring soon, renew it |
| Domain expired | Down | Domain registration has expired |
| Domain not found in RDAP | Down | Domain does not exist or is not registered |
| RDAP query failed | Down | Network error, timeout, or DNS failure |
Domain details collected
Every check records domain registration metadata:
- Domain name (as returned by RDAP)
- Expiration date and days until expiry
- Registration and last-updated dates
- Registrar name (extracted from vCard)
- Domain status codes (e.g.
active,clientTransferProhibited) - Nameservers
- DNSSEC delegation signing status
Configuration options
| Setting | Default | Description |
|---|---|---|
| Expiry threshold | 30 days | Days before expiry to mark as degraded |
| Timeout | 30 seconds | How long to wait for RDAP response |