apiton blog
How TON DNS and TON Sites work
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)
subdomainis the name in internal form (labels separated by zero bytes).categoryselects the record: thesha256of a record name, or0for "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, tag0xad01) — 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, tag0x7473) — 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
siterecord; - 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.tonto @apitonBot to see the owner, the wallet record and the expiry date. - Via the API,
v2.Nft/Domainreturns the owner and the expiry date. Asiteobject (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 aresha256of the record name. walletrecords make names payable;siterecords 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.