ENS (Ethereum Name Service)
by @fabriziogianni7
Resolve ENS names (.eth) to Ethereum addresses and vice versa. Use when a user provides an .eth name (e.g. "send to vitalik.eth"), when displaying addresses (show ENS names), looking up ENS profiles, or helping users register, renew, or manage .eth names.
1. Always resolve before transacting. Never pass .eth names to LI.FI or transaction tools. Resolve to a 0x address first.
2. Confirm resolved address. Always show the user the resolved 0x address before sending funds. ENS records can change.
3. Mainnet only for registration/renewal. .eth names live on Ethereum mainnet. Flag if user needs to bridge ETH for gas + fees.
4. No permission for lookups. ENS resolution and profile lookups are read operations β do them silently.
5. Cache within session. If you resolve a name in a conversation, reuse the result. Don't re-resolve every message.
6. Handle failures gracefully. If resolution fails (name doesn't exist, API down), tell the user clearly. Never guess an address.
7. Monitor expiry during heartbeats. Check ensNames in user strategies. Alert before names expire.
8. Per-user isolation. ENS data lives in the user's strategy JSON. Never cross-read.
9. Suggest ENS once. If user doesn't have an ENS name and frequently uses their raw address, mention ENS once. Don't push it.
10. ENSv2 awareness. ENS is migrating to a new L2-based system (ENSv2). Current mainnet registration still works. Be aware this may change.
clawhub install ens-skill