> For the complete documentation index, see [llms.txt](https://docs.sns.id/dev/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.sns.id/dev/domain-records.md).

# Domain Records

In addition to typical DNS records (A, AAAA, TXT, MX, etc.), the Solana Name Service introduces brand new web3-specific types. The following table will be updated as new protocols are integrated.

| Name     | Value                                           |
| -------- | ----------------------------------------------- |
| IPFS     | An IPFS CID                                     |
| ARWV     | An Arweave address                              |
| SOL      | A concatenation of a public key and a signature |
| ETH      | An ETH public key                               |
| BTC      | A BTC public key                                |
| LTC      | An LTC public key                               |
| DOGE     | A DOGE public key                               |
| email    | An email address                                |
| url      | A website URL                                   |
| discord  | A discord username                              |
| github   | A github username                               |
| reddit   | A reddit username                               |
| twitter  | A twitter username                              |
| telegram | A telegram username                             |
| pic      | A profile picture                               |
| SHDW     | A Shadow drive address                          |
| POINT    | A Point network record                          |
| BSC      | A BSC public key                                |
| INJ      | A Cosmos (Injective) public key                 |
| IPNS     | A IPNS CID                                      |

### Records V1 vs V2 <a href="#records-v1--v2" id="records-v1--v2"></a>

There are notable differences between Records V1 and V2. Records V1 use a derivation prefix of `0x01` and encode their content based on the [SNS-IP-1 guidelines](https://github.com/Bonfida/sns-ip/blob/master/proposals/sns-ip-1.md). In response to challenges related to data authenticity and staleness issues prevalent in V1, Records V2 was introduced. V2 employs a class in the derivation and a distinct encoding schema detailed in [SNS-IP-3](https://github.com/Bonfida/sns-ip/blob/master/proposals/sns-ip-3.md). Records V2 incorporates a validation ID system to ensure data integrity and freshness. Importantly, due to the distinct derivation, Records V1 and V2 can co-exist without collisions. However, the goal of the ecosystem is a complete migration to Records V2.

{% hint style="info" %}
`\0` and `\1` are convenient notations for:

* `\0 = \x00`
* `\1 = \x01`
  {% endhint %}

### Differences between Records and Subdomains <a href="#difference-between-records-and-subdomains" id="difference-between-records-and-subdomains"></a>

In practice, let us consider the name `foo.sol` . If we want to find the domain's A record, containing an associated IPv4 address, then we can find it by querying `\1A.foo.sol`, with \1 the character of code value 1. The specification makes use of this prefix in order to differentiate between actual domains and records, which means that it is still possible to use the `A.foo.sol` subdomain with no collision.
