Products

Decentralized DNS

alpha

One API to resolve and manage names across ENS, Handshake, IPFS, and Unstoppable Domains. Bridge decentralized namespaces into traditional DNS — and vice versa.

Universal resolver

The /api/resolve/:name endpoint auto-detects the protocol and resolves any supported name:

# ENS (.eth suffix → Ethereum mainnet)
GET /api/resolve/vitalik.eth

# Handshake (HNS-registered TLD)
GET /api/resolve/myapp.cool

# Unstoppable Domains (.crypto, .nft, .x, .wallet)
GET /api/resolve/myapp.crypto

# IPFS CID (CIDv0 or CIDv1)
GET /api/resolve/QmXoypiz...

# IPNS key
GET /api/resolve/k51qzi5uqu5dlvj2baxnqndepeb86cbk3ng6n49571agfuxmf1xa1qfnrku88d

Supported protocols

ENSEthereum mainnet
Ethereum Name Service
.eth

Human-readable names (.eth) that resolve to Ethereum addresses, content hashes, IPFS CIDs, and arbitrary text records. The most widely adopted decentralized naming system.

Example
GET /api/resolve/vitalik.eth
{
  "protocol": "ens",
  "name": "vitalik.eth",
  "address": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045",
  "contenthash": "ipfs://QmXoypiz...",
  "text": {
    "email": "vitalik@ethereum.org",
    "url": "https://vitalik.ca",
    "twitter": "@VitalikButerin"
  }
}
HandshakeHandshake blockchain
Handshake Protocol (HNS)
Any TLD you win at auction

A decentralized root zone where TLD ownership is secured on-chain. No ICANN, no registrar lock-in. Win a TLD auction and own it permanently with no annual fees.

Example
GET /api/resolve/myapp.cool
{
  "protocol": "handshake",
  "tld": "cool",
  "sld": "myapp",
  "owner": "hs1q4abc...",
  "ns": ["ns1.xdns.wtf", "ns2.xdns.wtf"],
  "a": ["93.184.216.34"],
  "txt": ["v=spf1 include:xdns.wtf ~all"]
}
IPFS / IPNSContent-addressed P2P network
InterPlanetary File System
CIDv1IPNS keys

Content-addressed storage and retrieval. Link any domain to an IPFS CID for decentralized, censorship-resistant hosting. IPNS keys provide mutable pointers.

Example
# Link a domain to IPFS content
POST /api/ipfs/link
{
  "domain": "mysite.eth",
  "cid": "QmXoypiz...",
  "type": "ipfs"
}

# Resolve a CID to a gateway URL
GET /api/ipfs/resolve/QmXoypiz...
{
  "cid": "QmXoypiz...",
  "gateway": "https://ipfs.io/ipfs/QmXoypiz...",
  "size_bytes": 142891
}
Unstoppable DomainsPolygon / Ethereum
Unstoppable Domains
.crypto.nft.x.wallet.blockchain

NFT-based domains on Polygon. Resolve to crypto addresses, IPFS content, URLs, and social handles. Permanent ownership — no renewal fees.

Example
GET /api/resolve/myapp.crypto
{
  "protocol": "unstoppable",
  "name": "myapp.crypto",
  "records": {
    "crypto.ETH.address": "0x4a...f2",
    "crypto.BTC.address": "bc1q...",
    "ipfs.html.value": "QmXoypiz...",
    "social.twitter.username": "myapp"
  }
}

Write operations

xdns is read-only for ENS and Unstoppable Domains — we never hold private keys. To update ENS records, use the ENS app or sign a transaction from your own wallet and broadcast it via our helper:

# Build an ENS setContenthash transaction (unsigned)
POST /api/ens/build-tx
{
  "name": "mysite.eth",
  "operation": "setContenthash",
  "value": "ipfs://QmXoypiz..."
}

# Returns the unsigned transaction — sign with your wallet and broadcast
# { "to": "0x...", "data": "0x...", "chainId": 1 }

For Handshake TLDs you own via xdns, write operations (adding SLDs, updating records) go through the standard /api/tlds API.

API endpoints

GET/api/resolve/:nameUniversal resolver (auto-detect protocol)
GET/api/ens/:nameResolve ENS name (address + records)
POST/api/ens/lookupBatch ENS resolution (up to 20)
POST/api/ens/build-txBuild unsigned ENS update transaction
GET/api/hns/:tldGet HNS TLD info + owner
GET/api/hns/:tld/:sldResolve HNS second-level domain
POST/api/ipfs/linkLink domain to IPFS CID or IPNS key
GET/api/ipfs/resolve/:cidResolve CID to gateway URL + metadata
GET/api/ud/:nameResolve Unstoppable Domains name
Legacy browser support

Decentralized names don't resolve in standard browsers by default. xdns provides a gateway at xdns.wtf/gateway/:protocol/:name that resolves and proxies content — allowing any browser to access decentralized sites without installing special software. For native resolution, recommend users install NextDNS with HNS enabled or the Fingertip browser extension.