You can now tell the entire internet that a domain is for sale by publishing one DNS record. RFC 10023, out in July 2026 and registered with IANA, reserves _for-sale as a globally scoped underscored node name and defines exactly what the TXT record under it should say. Roughly 250,000 records are already live.

Here is the whole thing:

RelatedWeb Bot Auth: The IETF Standard to Verify AI Agents

Anatomy of a _for-sale DNS TXT recordA breakdown of the record _for-sale.example.com IN TXT with the value v equals FORSALE1 semicolon fval equals USD12500, labelling the node name, the mandatory version tag and the single optional tag value pair. RECORD ANATOMY _for-sale.example.com. IN TXT " v=FORSALE1; fval=USD12500 " reserved leaf node mandatory version tag one optional pair, max 239 octets HARD RULES One pair per record. Use several records in the RRset for more. Leaf node only. Not under .arpa. No new record type, no registry integration, no API. It is a TXT record you already know how to publish. genztech.blog
Fig 1 The complete record. Everything after the version tag is optional, and you get exactly one tag-value pair per record.

Why did this need a standard at all?

Because the old path stopped working. If you wanted to buy a domain that was clearly parked or abandoned, you looked up WHOIS and sent a cold email. Then privacy redaction became the default across most of the industry and that contact address disappeared behind a proxy. The result is a market where a lot of holders are willing to sell and no interested buyer can find that out.

Parking pages solved it for some people, at the cost of taking the domain out of service. That trade is fine for a speculator sitting on inventory and useless for anyone running a live site who would still take the right offer. A DNS record sidesteps the whole problem: the site keeps serving, and the signal lives somewhere machines already look.

What can you actually put in it?

Four content tags, and you pick at most one per record.

TagCarriesFormatExample
ftxt=human-readable noteup to 239 octetsSerious offers only
furi=where to make contacthttp, https, mailto or telmailto:[email protected]
fval=asking priceletters then digitsUSD999
fcod=a proprietary codeup to 239 octetsbroker-specific token

The fval format is deliberately dumb: a currency-ish letter run followed by digits and an optional decimal, so USD12500 or EUR7500.00. No exchange rates, no negotiation state, no expiry. The spec is not trying to be a marketplace protocol. It is trying to be a flag.

The one-pair-per-record limit throws people. If you want both a price and a contact URI, you publish two TXT records under the same _for-sale name and let them sit in the same RRset. That keeps each record parseable on its own, which matters when the consumer is a crawler that may only sample part of a zone.

Who is this for?

The intended readers are registrars, domain marketplaces, brokers, availability checkers, and WHOIS or RDAP front ends. Any of them can look up one record and know whether it is worth showing a "make an offer" button, without scraping a parking page or guessing from a nameserver pattern.

Marco Davids, who wrote it, is at SIDN Labs, the research arm of the operator that runs the .nl registry. That origin shows in the design. It reads like something written by people who run a zone and think about what happens when several hundred thousand of these appear at once, rather than like a marketplace trying to lock in a format.

RelatedMicrosoft 365 Down: SharePoint Is 78% of the Complaints

What is the catch?

You are publishing intent in a place anyone can read at scale. That is the whole point and also the risk. A crawler can enumerate every domain in a zone carrying this record, which is exactly the list a domain-spam operation would want. The counter-argument is that these operations already scrape parking pages and expired-domain feeds, and at least this way the holder controls what is disclosed and can pull it in one edit.

Publishing fval is the decision that deserves real thought. An asking price in a public record is an anchor you cannot walk back mid-negotiation, and it tells competitors what you think your own name is worth. Plenty of holders will sensibly publish a bare version tag, or just a furi, and keep the number for the conversation.

What to watch · next 12 months
  • Registrar UI support. The record is trivial to publish by hand. It becomes normal only when a control panel offers a checkbox for it.
  • RDAP surfacing. If lookup services start showing the for-sale flag next to registration data, this stops being a niche convention.
  • Abuse feedback. Watch whether early publishers report a spike in unsolicited offers. That result decides adoption more than any spec detail.
  • A second version tag. FORSALE1 implies a FORSALE2. Anything more expressive, like expiry or negotiation state, needs one.

Our take

The genuinely notable thing here is not the syntax, it is the precedent. Every globally scoped underscored record before this one signalled technical policy: _dmarc and _domainkey describe how your mail is authenticated, _acme-challenge says who may issue you a certificate. _for-sale is the first IETF-registered one whose entire purpose is to say that a party wants to transact. DNS just picked up a commercial layer, in about as small a way as that could possibly be done.

Whether it sticks depends on consumers, not publishers. 250,000 records is a real start and still a rounding error against the size of the DNS. If two or three large marketplaces start reading it, everyone else follows in a week. If none do, this ends up as a well-written RFC that a few thousand people found interesting, which is a fate plenty of good specs have met.

Primary sources

Original analysis by GenZTech, written from RFC 10023, the draft-davids-forsalereg working drafts, and the IANA underscored node name registry.