Search ENS names using natural language. Supports all query types:
- Filtered search: "4-letter words under 0.1 ETH"
- Concept search: "ocean themed names" (semantic similarity across 3.5M indexed ENS names)
- Creative search: "names for a coffee brand" (AI-generated suggestions)
- Collection search: "crypto terms expiring soon"
- Activity: "what sold recently?"
- Availability check: "is coffee.eth taken?"
- Bulk check: "check apple.eth, banana.eth, cherry.eth"
- Collection/club floor: "999 club floor", "cheapest 10k club names" (returns real listings sorted by price)
- Sorted pattern list: "3-letter numbers sorted by name", "4-letter words by registration date" (sorts by name, price, length, expiry or registration date)
Returns structured results with name, price, owner, tags, and availability info.
It searches the NAME database by pattern/length/price/club/vibe — it does NOT know who real-world people, teams, brands, athletes, musicians, or films are. For "find me NBA players / pop stars / Pixar films / presidents" use enumerate_entities instead (it returns correctly-spelled labels). Use this for "floor of <club>" / "cheapest in <collection>" (find_alpha can't — it has no collection param). For lifecycle-window lists — "which names are in premium / Dutch auction", "names in grace period", "expiring soon" — use get_expiring_names instead: its grace/premium statuses are on-chain-validated and premium rows carry live pricing. That hand-off needs a lifecycle WORD in the query. A plain pattern/length/digit list — "3-letter numbers sorted by name", "4-letter words", "5-digit names" — stays HERE even though it asks for a list with filters and a sort order; routing it to get_expiring_names answers a question the user never asked (a grace/premium dump instead of the names).
Connector