_for-sale IN TXT "v=FORSALE1;furi=https://example.com/for-sale"
The record carries a mandatory version tag followed by at most one tag=value pair:
The wrong belief to clear first is that this is a way of parking a domain. It is close to the opposite. Parking replaces the site with a sales page, which costs you every visitor the domain still has. _for-sale sits beside a live site in DNS and says nothing to a browser: the homepage keeps serving, the mail keeps flowing, and the record can be added and removed at will. RFC 10023 makes the point explicitly — the convention is designed to work while the domain is still in active use.
It is also not the same thing as registration data. WHOIS and RDAP answer “is this name registered?”; a registered name may still be purchasable, and an unregistered one may not be worth having. That gap is the whole reason the convention exists, and it is why brokers and automated availability services are the intended audience rather than people.
The signal a domain owner most wants to send is the one there has never been a channel for. If you are willing to sell, the interested buyer has no way to learn that short of a cold email to a WHOIS contact that privacy redaction has probably removed. Enquiries that would have been welcome never arrive, and the ones that do arrive are indistinguishable from spam.
Putting the signal in DNS rather than on the page is what makes it useful to the parties who can act on it. A broker or an availability service checking a name resolves it anyway; one extra lookup tells them what a rendered page could not, because nothing on a working homepage says “the domain under this is negotiable”. It is externally checkable, costs one record, and carries no risk to the site itself — a browser never sees it.
Publish a single TXT record at the _for-sale leaf of the zone you are selling, and only while you mean it.
`; Free text _for-sale IN TXT “v=FORSALE1;ftxt=Serious offers only”
; A URI to negotiate through — https, mailto and tel are the usable schemes _for-sale IN TXT “v=FORSALE1;furi=https://example.com/fs?d=eHl6”
; An asking price: uppercase currency code, then the amount _for-sale IN TXT “v=FORSALE1;fval=USD12500”` Rules worth getting right the first time:
Sign the zone with DNSSEC if you can. An unsigned TXT record asserting your domain is for sale, at a price, with a contact URI, is a comfortable thing for someone else to forge.
This site does not ship a _for-sale record: specification.website is not for sale.
dig +short TXT _for-sale.example.com
- The answer begins with v=FORSALE1; and contains at most one tag=value pair per string.
- The TTL is 3600 or lower: dig TXT _for-sale.example.com | grep _for-sale.
- If the zone is signed, dig +dnssec TXT _for-sale.example.com returns a validating RRSIG.
- The record resolves at all. During a redemption or pendingDelete period, or when DNSSEC validation is bogus, the name will not resolve and the signal silently disappears.
Related
Sources & further reading
- RFC 10023 — The “_for-sale” Underscored and Globally Scoped DNS Node Name — IETF
- RFC 8552 — Scoped Interpretation of DNS Resource Records through Underscored Node Names — IETF
- IANA — Underscored and Globally Scoped DNS Node Names registry — IANA
On this page