An Ethereum wallet address looks like 0x71C7656EC7ab88b098defB751B7401B5f6d8976F. It works, but nobody can read it, remember it, or type it without triple-checking every character. ENS — the Ethereum Name Service — fixes that by mapping a human-readable name like alice.eth to that string, the same way a phone contact hides the actual number behind a name. Cumulatively, more than 2.8 million .eth names have been registered since launch, with millions of additional subnames issued by apps on top — and the service has quietly become the identity layer that wallets, exchanges, and apps build on.
This guide explains ENS domains from the ground up — basics first, technical detail after. By the end you’ll know what ENS is, why a plain wallet address is a liability, how it works, what a name costs, who uses it, and how to resolve names in your own app.
What Is ENS (Ethereum Name Service)?
Let’s start with the simplest version. ENS is a naming system built on Ethereum that maps short, human-readable names to machine identifiers. Instead of sharing 0x71C7…976F, you share yourname.eth, and wallets or apps that support it can resolve the right record before sending a supported asset.
ENS (Ethereum Name Service): an open, Ethereum-based protocol that maps human-readable names (like
nick.eth) to machine identifiers — wallet addresses for supported networks, content hashes, text records, avatars, and other metadata. It’s the Web3 counterpart to the Domain Name System that runs the web.
The comparison people reach for is DNS, and it’s a good one. When you type a website into a browser, DNS translates that name into the numeric IP address a server actually uses. ENS performs a similar naming function for blockchain applications — except instead of pointing a name at an IP address, it points a name at a wallet address or another record.
That single idea unlocks a lot. A .eth name isn’t limited to one Ethereum address: through its resolver it can also store a Bitcoin address, a decentralized website, an avatar, and social handles — many record types under one label you control.
ENS vs. DNS: The Key Difference

Here’s the distinction that matters. DNS is managed through registrars and servers that a handful of organizations oversee. ENS records live on Ethereum as smart contracts, so control is defined by code rather than a registrar account — though that control isn’t unconditional, as expiry and subnames show below.
You can also bring a domain you already own — a .com, .org, or .xyz — into ENS after proving control through DNSSEC, so it isn’t limited to native .eth names. That control stays tied to ownership of the underlying DNS name, so the protocol extends the web’s naming system rather than replacing it.
Why Your Wallet Address Needs a Name
Now the practical case: raw addresses are hostile to humans, and that hostility has a real cost.
If you’ve ever pasted 0x382… into a wallet, you know the jolt of anxiety that follows. A random typo usually produces an invalid address that the wallet simply rejects — the real danger is copying or entering a different valid address, in which case the funds go there and the transfer is irreversible. Sending to a readable yourname.eth sidesteps the hardest part of that check.
This is important: ENS reduces address-entry errors but does not eliminate them. You can still select the wrong name, land on a compromised interface, or resolve a maliciously configured record, so verifying the destination still matters.
The upside compounds across the addresses a typical user juggles. You might keep one wallet for holdings, another for NFTs, and a hardware wallet for savings, then attach readable subnames — nfts.alice.eth, savings.alice.eth — to each. One name can serve as a portable identity across wallets and apps, as far as those wallets, networks, and record types support it.
How ENS Actually Works Under the Hood
Time to open the box. The service isn’t a single database; it’s a set of smart contracts that hand work off to each other. Three pieces do the heavy lifting, and the official ENS docs break them down like this.
| Component | What It Does |
|---|---|
| Registry | A single core contract that records, for each name, its owner, its resolver, and a time-to-live value (TTL). It’s the master index. |
| Resolver | The contract that stores and returns the actual data — the wallet address, content hash, or text records a name points to. |
| Registrars | Contracts that issue names: the .eth Registrar hands out native names, and the DNS Registrar handles imported domains. The Reverse Registrar is different — it manages reverse records and primary-name configuration rather than issuing names. |
The resolution flow is simpler than the component list suggests. To resolve a name, an app first asks the Registry which resolver is responsible for alice.eth, then asks that resolver for the record it wants — say, the Ethereum address. Two lookups, and the name becomes an address.
Forward vs. Reverse Resolution

There are two directions to this, and both matter. Forward resolution is the common one: name in, address out (alice.eth → 0x71C7…). Reverse resolution goes the other way, turning an address back into a name so a wallet can display alice.eth instead of a hex string.
Primary Name (reverse record): the name an address chooses to be known by. Setting it lets apps show your name next to your address, and per the docs, reverse records now work on Ethereum mainnet and major Layer 2 networks including Base, OP Mainnet, Arbitrum, Scroll, and Linea.
Names Are Tokens You Register
One detail trips up newcomers: a .eth name is a token. Second-level .eth registrations are ERC-721 NFTs, while names in the Name Wrapper use the ERC-1155 standard — so not every name is represented the same way (how ENS names evolved). Either way, you can hold, transfer, or sell it.
Be precise about what ownership means, though. A .eth name is a time-limited registration: you control a transferable token for as long as the name stays registered, but it expires if you don’t renew. No traditional registrar account controls it, yet the registration stays subject to expiration and the rules enforced by the registrar contracts.
That token model is also what makes subnames powerful. If you own company.eth, you can issue alice.company.eth and thousands more — but by default the parent owner can still replace, revoke, or modify a subname unless those permissions are restricted through the Name Wrapper. That trade-off is exactly what makes subnames useful for businesses.
How Much Does an ENS Name Cost?
Prices are refreshingly simple, and shorter names cost more because there are fewer of them. According to the ETH Registrar docs, the annual fees are USD-denominated:
| Name length | Annual fee (USD, paid in ETH) |
|---|---|
| 5+ characters | $5 / year |
| 4 characters | $160 / year |
| 3 characters | $640 / year |
A few things to know. The minimum length is three characters. Fees are denominated in USD but paid in ETH, converted at registration time, plus a variable gas fee. Because ETH’s price moves, wallets add a small buffer (~3–10%) and refund any excess in the same transaction.
There’s also a premium on recently expired names, and the timing matters. A .eth name first enters a 90-day grace period in which only the previous owner can renew it. Only after that does it go into a 21-day temporary premium — a Dutch-auction mechanism that starts near $100 million and decays toward $0 — which exists to stop snipers from instantly grabbing valuable expired names.
Registering is permissionless: anyone can visit the ENS Manager App, type a name, choose a duration, and confirm. There’s no account, no approval, and no gatekeeper — much like buying a domain, minus the company in the middle.
ENS for Business: Who Actually Uses It
This is where ENS stops being a novelty and becomes infrastructure. For a business, a name does three jobs at once: it simplifies payments, signals that you’re crypto-native, and — through subnames — gives customers or staff an identity under your brand.
Payments are the obvious win. A customer resolving store.eth in a supporting wallet is less likely to fumble the transfer than one hand-copying a 42-character address — fewer failed transactions and support tickets. The same pattern scales to teams: a company can issue alice.company.eth and bob.company.eth under one name.
The adoption numbers show this isn’t theoretical. A few of the largest deployments:
- Base launched Basenames using ENS infrastructure — subnames under
base.eth— and ENS Labs reported roughly 2.7 million Basenames by the end of Q1 2026. - Uniswap issues
uni.ethusernames to wallet users; more than two million had been claimed by September 2025. These use an off-chain resolver and aren’t individually registered.ethNFTs. - GoDaddy, a major domain registrar, partnered with ENS in 2024 so customers can link a traditional domain to an ENS-compatible wallet, gaslessly, from GoDaddy’s dashboard.
That last one is telling. When a mainstream registrar wires naming like this into its product, the line between Web2 domains and Web3 identity gets thin. ENS for business has moved from experiment to a standard integration that wallets, exchanges, and registrars now assume.
What’s Next: ENSv2, and What Happened to Namechain
If you’re following ENS in 2026, one recent shift is worth understanding. For over a year, ENS Labs planned to launch its own Layer 2 network — a zero-knowledge rollup called Namechain — to make names cheaper and faster to manage. On February 6, 2026, ENS Labs announced it had ceased Namechain development and would deploy ENSv2 exclusively on Ethereum Layer 1.
The reasoning: ENS Labs pointed to improved Ethereum Layer 1 scalability, lower gas costs, simpler resolution, and less fragmentation as reasons to stay on mainnet. Citing the team’s own measurements, co-founder and lead developer Nick Johnson put it bluntly:
“Ethereum is scaling faster than almost anyone predicted two years ago; we’ve seen a 99% reduction in ENS registration gas costs over the past year, coinciding with Ethereum’s gas limit increases from 30M to 60M in 2025.”
Treat that 99% as ENS Labs’ own measurement over the year to early 2026, not a universal benchmark — but the direction is what matters for anyone building on the protocol. Cheaper registrations lower the barrier, and staying on mainnet means simpler integrations and no split across chains.
ENSv2 itself is more than a cost tweak. Per the ENSv2 overview, it’s a ground-up rewrite that introduces hierarchical registries (each name can run its own registry for subnames), a role-based permissions model that folds in Name Wrapper functionality, native cross-chain resolution, and per-name resolver infrastructure via contract factories.
One more precision, on governance. The protocol is governed by the ENS DAO, whose $ENS token launched in November 2021 with a 100-million supply, 25% airdropped to more than 137,000 early .eth holders. ENS Labs is a separate development organization that builds much of the ecosystem. The DAO’s remit covers the treasury, key parameters, and certain protocol decisions — not every technical change is a direct token-holder vote — which is a big part of why partners trust it as neutral infrastructure.
How to Resolve ENS Names in Your App
If you’re a developer, the question is how to turn a name into an address in your product. Resolving a name means reading data from Ethereum — that Registry-then-resolver lookup from earlier — so your app needs a reliable connection to Ethereum.
Rather than run that backend yourself, most teams connect through a provider. With NOWNodes, you sign up, generate an API key, and send requests to https://eth.nownodes.io with your key in the api-key HTTP header — it goes in the header, not the URL path. The free START plan covers 100,000 requests per month. Here’s a working example in ethers.js v6, where the header must be attached explicitly, since a bare new JsonRpcProvider("https://eth.nownodes.io") won’t authenticate on its own:
js
import { ethers } from "ethers";
// Attach the api-key header to the endpoint
const req = new ethers.FetchRequest("https://eth.nownodes.io");
req.setHeader("api-key", "YOUR_API_KEY");
const provider = new ethers.JsonRpcProvider(req);
const address = await provider.resolveName("alice.eth"); // forward: name -> address
const name = await provider.lookupAddress(address); // reverse: address -> name
Those method names are specific to ethers.js — viem uses getEnsAddress / getEnsName, and web3.py uses w3.ens.address() / w3.ens.name(). Two caveats apply. First, resolution isn’t zero-config: the provider must be on a network where ENS contracts are deployed and the library supports them, and reverse resolution also needs a correctly set primary name plus forward-resolution verification. Second, standard .eth resolution is anchored on Ethereum — Layer 2 primary names and cross-chain records may need Universal Resolver support and chain-specific handling.
Conclusion
ENS answers a problem every crypto user hits early: raw addresses are hard to read, easy to mis-paste, and unforgiving when wrong. By mapping alice.eth to an address — plus other-chain addresses, websites, avatars, and social records — the Ethereum Name Service turns a fragile 42-character string into a portable identity you control as a renewable, tokenized registration.
The trajectory backs it up: millions of .eth names and app subnames in circulation, deep integrations at Base, Uniswap, and GoDaddy, and a 2026 decision to build ENSv2 directly on a cheaper Ethereum mainnet. Whether you’re claiming your first name or wiring resolution into an app, the barrier is low — and if you’re building, connecting to Ethereum through NOWNodes gets you resolving names quickly, free to start.
FAQ
What is ENS in simple terms?
ENS, the Ethereum Name Service, maps long wallet addresses to readable names like alice.eth. It works like DNS for the web, but points to a wallet address or other records rather than a website’s IP.
Is an ENS name the same as a website domain?
Not quite. A .eth name lives on Ethereum as a token, while domains like .com live in DNS — but you can bring a DNS domain into ENS after proving control via DNSSEC, so the two connect rather than compete.
How much does an ENS domain cost?
Five-plus characters cost $5 per year, four characters $160, and three characters $640 — denominated in USD but paid in ETH at registration, plus a variable gas fee. The minimum length is three characters, and recently expired names carry a temporary premium.
Do I own my ENS name or rent it?
It’s closer to a renewable registration than permanent ownership. You control the tokenized registration for as long as it stays registered and renewed, and can transfer or sell it — but it expires if you stop renewing.
What can I use an ENS name for?
Receiving crypto in supporting wallets, signing in to Web3 apps, hosting a decentralized website, and presenting one identity — avatar, social handles, multiple address records — where apps and networks support them. Businesses also issue subnames like alice.company.eth to staff or customers.
How do businesses use ENS?
Companies use it to simplify crypto payments, signal that they’re crypto-native, and give customers or employees branded subnames under a name like company.eth. Platforms including Base (Basenames), Uniswap (uni.eth), and GoDaddy have built it into their products.
How do I resolve an ENS name in my own application?
Use a library like ethers.js, viem, or web3.py, but you’ll need a connection to Ethereum to read the data. With NOWNodes, send requests to https://eth.nownodes.io with your key in the api-key header; the free plan covers 100,000 requests per month.
What is ENSv2, and what happened to Namechain?
ENSv2 is a ground-up rewrite of the ENS protocol featuring hierarchical registries, a role-based permissions model, and native cross-chain resolution. Namechain was a planned Layer 2 for ENS that ENS Labs discontinued on February 6, 2026, choosing to deploy ENSv2 directly on Ethereum mainnet instead.



