1. Understanding Web3 Naming Convention Standards
Web3 naming systems replace traditional DNS with decentralised, human-readable addresses. A domain like "alice.crypto" or "bob.eth" maps to a long hexadecimal wallet address. The core idea is trustless resolution — no central authority decides which address a name points to.
To master these naming protocols, many developers turn to the Web3 Naming Service Specification.
What makes a naming convention "Web3"?
- Decentralised: No single registrar can seize or censor your name.
- On-chain: All records live on a blockchain (often Ethereum or a layer-2).
- Composable: Names can hold subdomains and attach records (ETH address, BTC address, IPFS hash).
- Self-sovereign: You hold the private keys — no renewal fees (in some standards).
2. The Most Important Standard: ERC-721 and Name Wrapping
Most Web3 naming services (like ENS) treat each domain as an NFT (ERC-721). However, newer standards allow "name wrapping" — attaching records directly to the NFT without changing ownership. This is crucial for subdomain management.
A wrapped name can store multiple record types: addr (EVM address), contenthash (IPFS), and even custom text records like "twitter" or "status".
Common record types you must know
addr— Standard EVM address (20 bytes).text— Freeform key-value pairs (e.g., "BTC": "bc1...").contenthash— IPFS or Swarm content identifier.subdomain— Nested names like "pay.domain.eth".- Reverse record — Allows address → name lookup.
3. Reverse Resolution: Mapping Addresses Back to Names
Reverse resolution is the process of converting a wallet address (0x123...) back to a human-readable name. Without it, dApps can only show gibberish hex addresses.
To enable reverse on a standard, a specific contract stores a "primary name" per address. Popular libraries automatically query this record. The most reliable patterns are defined in the ens name service explained package — it implements reverse resolution with minimal overhead.
How reverse resolution works
- Your address calls a resolver contract to claim a name.
- The resolver stores name for that address.
- Any dApp can query
reverseRegistry.name(addr)to get the name. - If unset, queries return
null.
Many exchanges now show reverse-resolved names inside transaction receipts. This boosts usability.
4. Cross-Chain Naming: Multi-Chain Address Storage
Web3 naming is not limited to Ethereum. Standards allow storing addresses from Bitcoin (BTC), BNB Chain (BSC), Polygon (MATIC), Solana (SOL), and dozens of other chains within a single name record.
The conventional solution is to use "chain-agnostic" text records (e.g., text: "btc_mainnet" : "bc1..."). However, a newer approach uses chain ID mapping:
addr[1]— Ethereum addressaddr[56]— BSC addressaddr[137]— Polygon address
Each chain has a CAIP-10 identifier. The resolver can return the right address for whatever chain the dApp requests. This eliminates storing duplicate names per chain.
Best practice for multi-chain naming
Use a single naming standard that supports cross-chain records natively. Avoid multiple TLD-rooted (top-level domain) registrations. With the Web3 Naming Service Specification, one domain can serve seven chains simultaneously.
5. Metadata and Updating Records
Beyond minting a name, you need frequent updates: changing your wallet address, adding a new blockchain, or updating contact info.
Standard update functions:
- setAddr(node, coinType, address) — Sets a multi-chain address. CoinType = SLIP-44 index (e.g., 0 for BTC, 60 for ETH).
- setText(node, key, value) — Arbitrary text records (up to 256 chars by default).
- setContenthash(node, hash) — IPFS hash for single-file websites hosted on Ethereum.
- setResolver(node, resolverAddr) — Migrate to a newer resolver for new features (e.g., bandwidth savings).
All these are signed with the domain's owner key. There is NO central admin who can edit your name if you hold the private key.
Off-chain resolution: Handle uncertainty
Sometimes a resolver is unreachable for decentralised apps. Standards define off-chain resolution using DNS-over-HTTPS or ethers.js fallbacks. The wallet tries to call the resolver -- if it times out (blocked or slow), the app reverts to a stored default address or informs the user.
Most UI libraries (RainbowKit, Web3Modal) already implement this using the Web3 Naming Service Specification.
6. Security Considerations in Naming Conventions
Web3 naming eliminates single-signatory trust but introduces new attack surfaces:
- Front-running: A scammer watches the mempool and registers your desired name just before you. Mitigation: commit-reveal schemes or name blinding.
- Name squatting: Price-based artificial floors (like standard DNS) — modern standards use both up-front bidding and annual rent to disincentivise hoarding.
- Resolver replacement: An attacker with your private key can point your name to a fraudulent address. Solution: multisig ownership or renaming trustlessly.
- Data inconsistency: Updating a name across 5 chains might succeed on 4 chains and fail on the 5th. Standardised vector access avoids partial states.
What devs forget most often
Always set a reverse record. If some app queries and finds no name primary for your address, it defaults to hex. This breaks UX. Enable reverse resolution right after minting.
7. Common Pitfalls in Implementing Naming Standards
Mistake #1: Hardcoding one chain's records for all dApps. Modern names must support multi-chain natively. Your subdomain registrar should handle coinType parameter from day one.
Mistake #2: Ignoring uppercase names. EVM names are case-insensitive (isCaseSensitive flag). Library writers often forget canonical normalization — aLEX.eth should resolve to alex.eth with lower case for most standards, but upper for others. Call namehash(name) after applying the correct normaliser.
Mistake #3: Using the same resolver for every TLD. Some chains require specific resolver versions. Using universal resolver from v3 resolves for all chains.
For a battle-tested toolkit that avoids these mistakes, be sure to review the Web3 Naming Service Specification. It itemises each edge-case carefully.
8. The Future of Web3 Naming Convention Standards
Expect these advances in 2025:
- L2 record abstraction: Resolver data stored on Optimism or Arbitrum — cheaper gas for updates with same security guarantee.
- Name zones: Combine multiple naming roots (e.g., .eth + .sol) into one global registry transparent to dApps.
- Off-chain verification for lightweight clients: Verifiable credentials paired with naming records - meaning a name can prove ownership of a service without blockchain lookups.
- SVG/rich metadata per name: Avatar and background image kept on chain (pure SVG) — cross-badge collections attached to names.
- DOMAIN as DAO governance unit: One key ⟶ one vote, customisable voting via
multisig subdomains.
Summary & First Steps
Web3 naming conventions rest on a solid, audited foundation: ERC-721 unification, chain-ID multi-address, reverse resolution, and composable subnames. Integrate these standard components to offer seamless user experiences — where everyone is named, not numbered.
Start coding: test your reverse resolver workflow, validate ENS normalisation, handle all coin types. When you need a reliable reference implementation, return to ENS text records — the repo includes example contracts and test scripts covering Edge cases often missed by general documentation.
Adopt these standards now, and future-proof your dApp for the multi-chain naming era we have already entered.