Skip to content

TON Naming Service

TON DNS is a service for translating human-readable domain names (such as example.ton or mysite.temp.ton) into TON smart contract addresses, ADNL addresses used by services on the TON Network, and other network entities.

TON DNS records can point to several types of addresses:

  • Wallet addresses: on-chain smart contract addresses, allowing cryptocurrency transfers to a human-readable domain name instead of a raw address.
  • ADNL addresses: used to locate TON Sites running on the TON Network.
  • TON Storage Bag IDs: identifiers for files and data stored via TON Storage.
  • Next resolver references: delegation of subdomains to another DNS smart contract.
  • Text records: arbitrary UTF-8 text associated with a domain name.

TON DNS is built as a three-level tree of smart contracts:

ContractRole
Root DNSLives on the masterchain (config param #4). Routes queries to zone resolvers (.ton, .t.me).
Collection (resolver)Implements dnsresolve and acts as an NFT collection (TEP-0062). Mints one NFT item per registered domain.
Item (domain NFT)Holds DNS records. Manages auctions. Transferable through any NFT-compatible wallet or marketplace.

The DNS resolution interface follows TEP-0081.

The .t.me namespace operates as a delegated sub-resolver on the same infrastructure, implementing the same dnsresolve interface and supporting the same record types as .ton domains.

Domains must be renewed annually. Expiration triggers a re-auction: anyone can call op::dns_balance_release() on an expired domain contract. The attached value must meet the minimum auction price, which depends on domain length. If a domain expires while a resolution is in progress, the resolver returns the stale records until the contract state changes; callers should treat a zero owner address as an unowned domain. The registration guide covers renewal and re-auction mechanics.

.t.me usernames are tokenized through TeleMint, a smart contract forked from the same dns-contract that powers .ton. Both are TEP-62 NFTs, both expose dnsresolve(), and both can hold wallet, ADNL site, and storage records.

The differences are economic and operational. A .ton domain must be renewed every year (~0.015 TON) or it is re-auctioned; auction proceeds are burned, making .ton deflationary. A .t.me is permanent: once acquired, no renewal is required, and auction proceeds go to Telegram. .ton can be registered on dns.ton.org, Fragment, or any secondary marketplace; .t.me is sold exclusively on Fragment, which has required KYC since November 2024. Finally, a .t.me NFT is tied to a Telegram username: owning it activates the handle on the Telegram account that holds it, and transferring the NFT deactivates the username until the new owner re-assigns it.

Anonymous numbers (+888) share the TeleMint codebase but use the NoDns variant, which exposes no dnsresolve and cannot hold wallet or site records.

TON domain names such as .ton domains are recognized by wallet applications and explorers in the TON ecosystem. Users can send cryptocurrency to a TON DNS domain name instead of copying a 256-bit account identifier.

TON DNS also integrates with other TON services:

  • TON Sites: a dns_adnl_address record pointing to an ADNL address gives a site a human-readable .ton domain.
  • TON Storage: a dns_storage_address record maps a domain name to a Bag ID, making stored files addressable by name.
  • TON Proxy: resolves .ton domains to ADNL addresses before routing HTTP traffic to the target site.