A domain can now say it is for sale, in DNS
Advertising Domain Availability Directly via DNS
Updated: 2026-08-08 | Category: Foundations (Optional)
If a domain name is available for purchase, there is now a standardized way to announce it within the Domain Name System (DNS). By utilizing a TXT record at the _for-sale subdomain (e.g., _for-sale.example.com), owners can signal their willingness to sell to brokers and availability tools without needing to disable their website or use a parking page.
🔍 What is the _for-sale Record?
The _for-sale leaf node is a reserved DNS name established by RFC 10023 (Informational, July 2026) and officially registered with IANA. It allows a domain—even one that is currently active and resolving—to broadcast that it is open for offers.
Record Structure
A typical record looks like this:
_for-sale IN TXT "v=FORSALE1;furi=https://example.com/for-sale"
Every record must begin with the mandatory, case-sensitive version tag v=FORSALE1;. This is followed by a maximum of one tag=value pair.
| Tag | Purpose | Example |
|---|---|---|
ftxt | Human-readable descriptive text | ftxt=Only considering high-value offers. |
furi | A URI for contact or more info | furi=mailto:sales@example.com |
fval | Asking price (Currency + Amount) | fval=USD5000.00 |
fcod | A proprietary code for specific agreements | fcod=ABC-123-XYZ |
🚫 Clearing Up Misconceptions
It is vital to understand that this is not a domain parking service.
The Key Difference: Traditional parking replaces your content with a sales landing page, effectively killing your existing traffic. In contrast, the
_for-salerecord exists alongside your live site.
Because this record is invisible to standard web browsers, your homepage continues to serve visitors and your email continues to flow uninterrupted. RFC 10023 explicitly states that this convention is intended for domains that remain in active use.
The "Information Gap"
While WHOIS and RDAP can tell you if a name is registered, they cannot tell you if the owner is willing to sell. Conversely, an unregistered name might be worthless. This gap is why this convention exists; it targets automated services and brokers rather than casual visitors.
🛠️ Implementation Guide
To implement this, publish a TXT record at the _for-sale leaf of your zone. Only do this when you are genuinely intending to sell.
Examples of Implementation
; Example 1: Simple text announcement
_for-sale IN TXT "v=FORSALE1;ftxt=Serious inquiries only"
; Example 2: Directing to a negotiation portal (https, mailto, or tel)
_for-sale IN TXT "v=FORSALE1;furi=https://example.com/sell?id=99"
; Example 3: Setting a specific asking price
_for-sale IN TXT "v=FORSALE1;fval=EUR12000"
Critical Rules for Deployment
- Version Tag: Must be exactly
v=FORSALE1;. This prevents processors from confusing the record with a random TXT record expanded by a DNS wildcard. - Multiple Values: To provide both a price and a URI, create two separate records within the same RRset.
- Size Limits: Each string must be a single character-string with a maximum length of octets to avoid parsing complexities.
- Scope: Valid at any level of the DNS tree, but
xyz._for-sale.example.comis invalid. Furthermore, records under.arpamust be ignored (you cannot sell IP address space via this method). - The "No" Signal: There is no "not for sale" tag. The absence of a record is the only way to indicate the domain is not available.
⚠️ Security and Ethics
Because an unsigned TXT record can be easily forged, buyers should be cautious. Additionally, the RFC warns against using these records as "marketing banners" to lure inquiries, which is considered an abuse of the system.
Processor Warnings
If you are developing software to read these records, keep the following in mind:
- No Commitment: Publishing a record does not legally commit the owner to sell. An
fvalprice is merely indicative. - Sanitization: Both
ftxtandfuriare attacker-controlled.- Warning: Never auto-navigate a user to an
furitarget without confirmation. - Warning: Sanitize text to prevent script injection (e.g.,
<script>).
- Warning: Never auto-navigate a user to an
Logic Flow for Brokers
✅ Verification Checklist
To verify your record is working correctly, use the dig tool:
- Check Record Existence:
dig +short TXT _for-sale.example.com(Ensure it starts withv=FORSALE1;and contains only one tag per string). - Check TTL:
Ensure the TTL is .
dig TXT _for-sale.example.com | grep _for-sale - Verify DNSSEC:
If your zone is signed, ensure the RRSIG is valid.
dig +dnssec TXT _for-sale.example.com
Note: If the domain is in a redemption or pendingDelete state, or if DNSSEC validation fails, the signal will silently disappear.
📚 Related Resources
- DNSSEC & CAA Records
- DNS-AID (AI Discovery)
- Well-known URIs
Sources:
- RFC 10023 — The
_for-saleUnderscored Node Name - RFC 8552 — Scoped Interpretation of DNS Resource Records
- IANA Registry — Underscored and Globally Scoped DNS Node Names