Explore in Telegram

apiton blog

How TON DNS and TON Sites work

· 3 min read · domains, ton-dns, ton-sites

Open in @apitonBotcheck any username, number or domain live in Telegram

A .ton domain is more than a collectible name. It is a small DNS zone stored on-chain: it can point to a wallet, to another resolver, or to a website served inside the TON network. This article walks through how resolution works and what "TON Site" means in practice.

Resolution in one get-method

The DNS standard, TEP-81, defines one get-method that every DNS contract implements:

(int resolved_bits, cell value) dnsresolve(slice subdomain, int category)
  • subdomain is the name in internal form (labels separated by zero bytes).
  • category selects the record: the sha256 of a record name, or 0 for "all records".
  • The contract answers how much of the name it resolved and the record itself.

Resolving foundation.ton starts at the network's root resolver, which delegates the .ton zone to the .ton collection contract. The collection hands over to the NFT item of foundation (a dns_next_resolver record), and the item returns the records the owner set. If you already know the item address, a single dnsresolve call on the item returns all its records at once.

Record categories

Category Record Points to
sha256("wallet") dns_smc_address a smart-contract address, usually the owner's wallet
sha256("site") dns_adnl_address or dns_storage_address a TON Site (see below)
sha256("dns_next_resolver") dns_next_resolver another DNS contract for subdomains
sha256("storage") dns_storage_address a TON Storage bag

The wallet record is what lets a wallet app send TON to foundation.ton instead of a long address. The owner edits records by sending a change_dns_record message to the item — and, as How .ton domains expire explains, that also renews the domain for another year.

The apiton API resolves names too: v2.Address/Details, v2.Address/Nfts and a few other methods accept name.ton in place of an address.

What a TON Site is

A site record can point to one of two things:

  • An ADNL address (dns_adnl_address, tag 0xad01) — the id of a server in the TON overlay network. A client finds the server's current IP and port through the TON DHT, then talks HTTP to it over RLDP, TON's reliable UDP transport.
  • A TON Storage bag (dns_storage_address, tag 0x7473) — a set of files distributed like a torrent. The site is served straight from the bag, no server of its own.

Ordinary browsers speak neither protocol. To open something.ton you need a TON proxy — a program that resolves the name, finds the peer and turns RLDP or Storage back into plain HTTP — or a gateway website that does the same on a server.

What is actually out there

In September 2026 we probed a random sample of 400 recently seen domains from a copy of the apiton catalog:

  • 57 (14 %) had a site record;
  • 51 of those pointed to the same ADNL address — a marketplace parking page;
  • only a handful served their own content; several records pointed to servers no longer in the DHT.

A second sample drawn through a public indexer gave 4.7 % with a site record and no real content at all. The rough picture: 5–14 % of domains have a site record, but sites with their own live content are closer to 0.5–1 % of domains. foundation.ton is one of the reliable ones.

Numbers from such small samples move quickly; treat them as a snapshot, not a census.

Checking a domain's records

  • Send name.ton to @apitonBot to see the owner, the wallet record and the expiry date.
  • Via the API, v2.Nft/Domain returns the owner and the expiry date. A site object (ADNL or Storage, and the result of apiton's last probe of the site) is being added to the same response.
  • Browse domains on apiton.org: all domains, short names, expiring soon.

Summary

  • TEP-81 dnsresolve(subdomain, category) is the whole DNS interface; categories are sha256 of the record name.
  • wallet records make names payable; site records point to an ADNL server or a Storage bag.
  • TON Sites need a proxy or gateway; few domains run a live site of their own.
Try it in @apitonBotfree: look up, watch and get alerts in Telegram

Explore the catalog

More from the blog

All articles · RSS

Look up another name

Open in @apitonBot