Introduction to ENS Name Discovery
The Ethereum Name Service (ENS) transforms complex hexadecimal wallet addresses into human-readable names like alice.eth. However, finding an available, memorable name that hasn't already been registered requires more than blind guessing. The ENS suggestion tool solves this by algorithmically generating candidate names based on user input, checking availability against the ENS registry, and presenting only registrable options. This article explains the tool's internal mechanics, the criteria it uses to rank suggestions, and how you can use it to secure your preferred ENS domain without manual trial-and-error.
ENS domains follow a strict naming convention: they must be at least three characters long, cannot include spaces, and may contain letters (a-z), digits (0-9), and hyphens. The suggestion tool operates within these constraints while also considering memorability, length, and semantic relevance. The underlying algorithm combines string generation with real-time registry queries to eliminate the friction of checking individual names one by one. To understand the full workflow, we will examine the suggestion engine, availability checking logic, ranking mechanism, and practical usage patterns.
Core Algorithm: How Suggestions Are Generated
The ENS suggestion tool uses a multi-stage pipeline to produce candidate names. The process can be broken down into four distinct steps:
- Input Parsing and Normalization: The user's search term (e.g., "alice", "ethwallet", "defi2025") is normalized to lowercase and stripped of non-alphanumeric characters. Hyphens are preserved but treated as separators. The tool also strips any appended ".eth" suffix since it is implied.
- Variation Engine: Based on the normalized root, the engine generates variants using:
- Synonym substitution (e.g., "wallet" → "wallet", "walletz", "wallet_io")
- Prefix/suffix addition (e.g., "my", "the", "official", "eth", "123")
- Numerical suffixes (e.g., "alice1", "alice123", "alice2025")
- Character replacement with common look-alikes (e.g., "a" → "4", "e" → "3", "o" → "0")
- Length Filtering: ENS domains must be at least 3 characters. The tool filters out any variant shorter than 3 characters. Additionally, very long names (typically over 20 characters) are deprioritized because they are harder to type and remember.
- Availability Check: Each surviving candidate is sent to the ENS registry smart contract via an RPC call (typically using a public Ethereum node like Infura or Alchemy). The tool checks if the name's hash is present in the registry. Only unregistered names (status: "available") proceed to the ranking stage.
From a performance perspective, the suggestion tool must balance thoroughness with speed. Checking availability against the Ethereum mainnet is a blockchain read operation that takes approximately 200-500 milliseconds per name. To avoid excessive latency, the tool typically limits the initial suggestion pool to 100-200 candidates before hitting the chain. This means the user's input quality directly affects the output relevance — a specific term like "defiwallet" yields far more usable suggestions than a generic term like "hello".
If you want to test the tool with your own search terms, you can try ens for free and observe how different inputs affect the suggestion list.
Ranking and Filtering Criteria
Raw availability is not enough — the tool must present the most useful names first. The ranking algorithm uses a weighted score based on several quantitative and qualitative factors:
- Length (weight: 35%): Shorter names are prioritized. Names with 3-6 characters receive the highest score. Names 7-10 characters are considered medium. Names over 10 characters score low unless they have high semantic relevance.
- Semantic Relevance (weight: 30%): The tool calculates Levenshtein distance between the user's input and each candidate. Names within 1-2 character edits of the original term are ranked higher. Exact matches (if available) are ranked first.
- Memorability (weight: 20%): Names composed of common words or recognizable patterns (e.g., "alicewallet", "cryptoking") score higher than random letter combinations. The tool uses a small dictionary of 5,000 common English words to boost names containing at least one dictionary word.
- Character Variety (weight: 10%): Names that mix letters and numbers (e.g., "alice2025") score higher than purely numeric or purely alphabetic names of equal length, because mixed case reduces collision risk with existing trademarks.
- Hyphen Usage (weight: 5%): Hyphenated names (e.g., "alice-wallet") are slightly penalized because they are harder to communicate verbally. However, this penalty is less than many users expect — the tool recognizes that hyphens are sometimes necessary to create readable names when the root term is already taken.
These weights are configurable depending on the version of the suggestion tool. Some implementations allow users to sort by "shortest first", "relevance first", or "alphabetical". The default ordering attempts to minimize the user's cognitive load by placing the most likely desirable names at the top of the list.
It is worth noting that the suggestion tool does NOT check trademark databases or existing social media handles. Its filtering is purely technical: availability on the ENS registry. Users should perform their own due diligence before registering names that may infringe on trademarks.
Integration with the ENS Manager Dapp
The suggestion tool is most useful when integrated with an ENS manager dapp — a web application that allows users to register, configure, and manage their ENS domains directly from their browser wallet. The workflow typically follows this sequence:
- User connects their wallet (e.g., MetaMask, WalletConnect, or a hardware wallet via browser extension).
- The user enters a search term in the suggestion tool interface.
- The tool displays a ranked list of available names, each with its registration cost in ETH (which includes the ENS registry fee plus a gas fee).
- The user clicks "Register" on a selected name, which triggers a transaction to the ENS registrar contract.
- After two transactions (commit and reveal), the domain is owned by the user's wallet.
The integration between the suggestion tool and the dapp is seamless: the availability check uses the same RPC endpoint as the registration flow. This eliminates the common problem where a name appears free in the suggestion tool but becomes registered by the time the user clicks "Register". The dapp can optionally perform a second availability check at the moment of registration to prevent race conditions.
For managing multiple domains or checking availability in bulk, the ENS manager dapp provides a dedicated interface where you can paste a list of names, check them all at once, and register the available ones directly. This is particularly useful for brand protection — many organizations register variations of their brand name to prevent typo-squatting.
Practical Limitations and Performance Tradeoffs
While the ENS suggestion tool is remarkably efficient for a decentralized system, there are inherent limitations that users should understand:
- Ethereum RPC Latency: Each availability check is a separate call to the blockchain. For 100 candidates, this means 100 sequential RPC calls. Since Ethereum nodes rate-limit public requests, the tool may take 30-60 seconds to return results. Some implementations batch requests using multicall contracts, which reduces the number of HTTP requests but increases the payload size.
- Gas Estimation: The suggestion tool does not calculate exact registration costs because the gas price fluctuates with network congestion. Instead, it displays a range (e.g., "0.01-0.05 ETH") based on the current gas oracle. Users should always confirm the actual cost in the dapp before signing the transaction.
- Name Expiry and Renewals: The tool checks the ENS registry's current state, but it cannot predict whether a currently registered name will expire soon. Some names (especially those with 2024 or 2025 in their suffix) may become available after their registration period ends, but the tool does not support future availability predictions.
- Spelling Variants: The suggestion engine does not handle misspellings or homophones. If you type "receive" but intend "receive", the tool will not suggest "recieve". It treats the input literally. For this reason, it is advisable to try multiple spelling variants manually if your preferred name is taken.
Despite these limitations, the ENS suggestion tool dramatically reduces the time required to find an available domain. Without it, a user would need to query the ENS registry manually for each candidate — a process that is both slow and error-prone. The tool's algorithmic generation also surfaces names that a human might not think of (e.g., "alice_eth" or "alice.crypto") while filtering out the vast majority of occupied options.
Best Practices for Using the Suggestion Tool
To maximize the tool's effectiveness, follow these technical best practices:
- Use Specific, Multi-Word Inputs: Instead of a single generic word like "music", use a more specific phrase like "musicproducer2025". Specific inputs generate fewer but more relevant candidates, which speeds up availability checks.
- Check for Hyphenated Alternatives: If "alicewallet" is taken, try "alice-wallet" or "alicewalletapp". The suggestion tool already includes hyphenated variants, but you can explicitly enter them to see if the algorithm missed any.
- Leverage Numerical Suffixes: Adding a year (2024, 2025) or a meaningful number often unlocks available names that are structurally identical to the original but unregistered. The tool typically generates up to 10 numerical variants per root.
- Re-run After Major Events: If a high-profile ENS domain expires, it may become available for registration. The suggestion tool does not have a "watch" feature, so manually re-running your search periodically is worthwhile.
For advanced users, the suggestion tool's API (available in some dapps) allows programmatic access to the generation and availability-checking pipeline. This enables batch operations, integration with domain monitoring services, or automated registration of newly expired names. However, such usage requires careful management of Ethereum RPC endpoints to avoid rate-limiting.
In summary, the ENS suggestion tool is a practical utility that combines string generation, blockchain queries, and intelligent ranking to deliver a curated list of registrable ENS domains. Its design prioritizes speed and relevance while operating within the constraints of decentralized infrastructure. Whether you are registering your first ENS name or managing a portfolio of domains, understanding how the suggestion tool works enables you to use it more effectively and avoid common pitfalls.