Where are ENS names stored?
As explained in Design & Implementation: How Does ENS Work, the ENS Registry, .eth Registrar, and Resolvers are all smart contracts on the Ethereum network.
Smart contracts store data in a permanent memory area on Ethereum's blockchain—that's where your ENS name and its records live. These contracts provide methods that apps and wallets use to lookup your ENS records.
Lookup Example
Let’s go through an example with the name ens.eth. You can follow along here on Etherscan: https://Etherscan.io/address/0x00000000000c2e074ec69a0dfb2997ba6c7d2e1e#readContract
The node (or namehash) for ens.eth is 0x4e34d3a81dc3a20f71bbdf2160492ddaa17ee7e5523757d47153379c13cb46df.
See Manager
Enter that node into the owner method to see who manages this name:
See Resolver
Enter the same node into the Resolver method to see which resolver handles this name:
See Records
Now check the Resolver contract to see the actual records stored for this name:
See ETH Address
Enter the node into the addr method to see which Ethereum address this name points/resolves to:
See URL Text
Finally, we can try looking up a text record from the resolver.
If you enter the node into the text method (use “url” for the key) and click on Query, it should return the URL text record that the name resolves to:
Summing up
Smart contracts expose these methods so apps, wallets, and other contracts can read and write your ENS data.
When any app or wallet looks up your ENS name, it follows these same steps to retrieve your records from the blockchain.
The ENS App performs these same steps to return records:
app.ens.domains





