The Text Resolver Contract is based on ENSIP-5 (opens in a new tab) and stores key-value data against a specific domain or subdomain. The EIP-165 interface ID of this interface is
0x59d1d43c. The text data may be any arbitrary UTF-8 string. If the key is not present, the empty string must be returned.
Global Keys must be made up of lowercase letters, numbers, and the hyphen (-). The following are the supported global keys:
avatar: a URL/URI to an image used as an avatar or logo
description: A description of the name
location: A generic location (e.g. "Toronto, Canada")
phone: A phone number as an E.164 string
url: a website URL
Service Keys must be made up of a reverse dot notation for a namespace which the service owns, for example, DNS names (e.g. .com, .io, etc) or HNS name (i.e. .hns). Service Keys must contain at least one dot. This allows new services to start using their own keys without worrying about colliding with existing services and also means new services do not need to update this document.
The following services are common, which is why recommendations are provided here, but ideally, a service would declare its own key.
- com.github: a GitHub username
Resolver text records are separate from DNS TXT records.