Frequently Asked Questions
1. What exactly is the _for-sale DNS method?
The _for-sale method is an operational convention where domain owners place a special DNS TXT record at _for-sale.example.com to indicate that their domain is for sale. It uses a standardized format with a version code and optional information such as contact details or pricing.
2. Do I need to take my domain offline to mark it as "for sale"?
No, absolutely not. The method is designed so that your domain can remain fully operational while it is for sale. The _for-sale record does not interfere with existing services like your website or email.
3. What format should my TXT record have?
Every
_for-sale TXT record must start with the version code
v=FORSALE1; followed by optional content tags:
fcod= for code format (e.g., for registrars)
ftxt= for free text
furi= for URIs (websites, email, telephone)
fval= for an asking price
Example:
_for-sale.example.com. IN TXT "v=FORSALE1;furi=https://example.com/sale"
4. Can I use multiple _for-sale records at the same time?
Yes, you may place multiple TXT records in the same RRset. For example, one with a URI and one with an asking price. Each processor can then choose which information to use. Note: each record may contain only one tag-value pair.
5. What happens if I only set v=FORSALE1; without further information?
The domain will still be marked as "for sale". Processors will likely fall back on conventional methods such as WHOIS or RDAP to find contact information.
6. Which URI schemes are allowed in furi= tags?
While the syntax allows various schemes, only these are recommended:
https:// and http:// for websites
mailto: for email addresses
tel: for telephone numbers
7. How do I specify an asking price?
Use the fval= tag with a currency code (uppercase) followed by the amount. Examples: fval=EUR999, fval=USD15000, or fval=BTC0.000010. For fiat currencies, ISO 4217 codes are recommended.
8. Is the asking price I mention binding?
No, the fval information is not binding; it is purely indicative. Interested parties should always make direct contact for up-to-date and reliable price information.
9. What TTL should I set for _for-sale records?
A TTL of 3600 seconds (1 hour) or less is recommended. This prevents outdated information, such as price changes, from remaining in the cache for too long.
10. Can I use wildcards to offer all subdomains for sale at once?
No, _for-sale.*.example.com is not a valid wildcard. You can use a normal wildcard (*.example.com) alongside a _for-sale.example.com record, but that only marks the main domain as being for sale.
11. Can I use non-ASCII characters (such as emojis)?
Yes, but they must be properly UTF-8 encoded and conform to the Network Unicode format. Use DNS escape sequences (e.g., \DDD notation) for non-ASCII characters where necessary.
12. Can I use _for-sale for IP address space?
No, use under .arpa is explicitly excluded. The method is only intended for domain names.
13. What are the security risks?
Risks include malicious URIs (phishing), XSS or SQL injection if not properly validated by the processor, and scraping of contact details for spam. Always sanitize content.
14. What is the difference between fcod= and other tags?
The fcod tag is for closed systems where parties (like a registry and registrar) have prior agreements on what a specific code means. The other tags are generic and directly readable.
15. Should I remove the record once my domain is sold?
Yes, this is strongly recommended. The presence of the record is the signal that it is for sale. Remove it once it's no longer available.
16. Can I offer multiple domains with one TXT record?
No, each domain needs its own individual _for-sale record.
17. What if my DNSSEC validation fails?
If your domain is in a "bogus" state, the record will be unreachable for validators. Ensure your DNSSEC is correctly configured.
18. Am I allowed to put HTML code in an ftxt= tag?
It's not forbidden by syntax, but strongly discouraged. It creates XSS risks for processors. Keep text plain.
19. Can I use _for-sale at the subdomain level?
Yes, e.g., _for-sale.blog.example.com is allowed. However, ownership verification at deep subdomain levels depends on the specific agreements between parties.
20. What if I put multiple strings in one TXT record?
That is invalid. All RDATA must be in a single character-string of maximum 255 octets.
21. Can different brokers each use their own fcod tag?
Yes, multiple fcod tags can exist in one RRset. Preferably use recognisable prefixes (for example SIDN uses NLFS-) to avoid confusion.
22. Must the currency code always be three letters?
The ABNF allows one or more uppercase letters, but ISO 4217 (three letters) is the standard for fiat currencies.
23. What about spaces after the version code?
While some processors might be liberal, for best compatibility, avoid spaces and follow the format v=FORSALE1; strictly.
24. Can I use IDN (Internationalized Domain Names)?
Yes, both A-labels (punycode) and U-labels (Unicode) are supported, though U-labels require proper escaping.
25. Is there a limit to the number of records in an RRset?
There is no explicit limit, but practically it's best to keep it between 3-5 records to remain manageable.
26. What if my domain is in the redemption period?
If the domain doesn't resolve in the DNS, the record won't be reachable. The domain must be active.
27. Can I use a negative marker to say it's NOT for sale?
No. Any text suggesting it's not for sale is invalid content. If it's not for sale, simply delete the record.
28. How should I handle URL encoding in furi= tags?
Follow RFC 3986. Use percent-encoding (e.g., %20 for spaces) for correct URI syntax.
29. What if I use a non-existent currency code?
Technically allowed if uppercase, but processors won't know how to display it. Stick to known standards.
30. Can I use emojis in ftxt=?
Yes, with UTF-8 encoding. Remember they take up more bytes, which impacts the 255-octet limit.
31. How does this differ from a parking page?
A parking page is for humans; this DNS record is for machines. It allows tools to detect "for sale" status automatically.
32. Can I show prices in multiple currencies?
Yes, by adding multiple fval= records (e.g., one for EUR, one for BTC).
33. What if my DNS provider doesn't allow underscores?
Underscored labels are a standard part of modern DNS. If your provider doesn't support them, you should consider moving to a more modern service.
34. How fast will my record be visible?
This depends on your TTL. With a recommended TTL of 1 hour, changes propagate relatively quickly.
35. Can I mention disclaimers in ftxt=?
Yes, keep it concise and under the 239-octet value limit.
36. How do I prevent scrapers from getting my email?
Since DNS is public, it's hard to stop. Using a contact form URL in furi= is a safer alternative than mailto:.
37. Can I use Base64 for my fcod value?
Yes, it's a common way to ensure printable characters for complex data.
38. Do I have to wait for propagation if my price changes?
Yes. This is why low TTL values are essential for frequently updated data like pricing.
39. Can I combine this with DMARC or SPF?
Yes, they use different underscored labels and can coexist perfectly in the same domain zone.
40. Can I use this for leasing?
Yes, the "for sale" concept is broad and includes leasing or transferring usage rights.
41. What if a DNAME redirect is active?
DNAME affects the entire subtree. Be cautious and test your specific configuration to ensure the record remains reachable.
42. Can I put a phone number in ftxt=?
Yes, but furi=tel: is better as it allows mobile devices to dial the number automatically.
43. How do brokers benefit from this?
Brokers can build automated tools to easily find domain names for sale.
44. What if the domain is on "clientHold"?
The record won't resolve. The hold must be lifted by the registrar first.
45. Can I show different prices to different buyers?
This requires cleverness, such as a dynamic name server, or a sales page that adapts answers based on certain criteria, but this is complex and non-standard.
46. What about trademarks?
The DNS record is technically neutral. Trademark laws still apply regardless of how you mark a domain for sale.
47. Is this method global?
Yes, it is designed as an international convention using standard DNS protocols.
48. What if I use "v=FORSALE2;"?
Your record will be ignored. The version is case-sensitive and must be v=FORSALE1;.
49. What if my DNS is hijacked?
This is a major security risk. Use DNSSEC and strong authentication with your provider to prevent unauthorized changes.
50. Can I include JSON in an fcod= tag?
Yes, as long as it fits the character limits and you handle the escaping correctly.
51. How do I test my configuration?
Use dig _for-sale.example.com TXT or the validator at https://forsalereg.sidnlabs.nl/.