Refactor high-complexity React components in Dify frontend. Use when `pnpm analyze-component...
npx skills add cruller-agent/ens-register-skill
Or install specific skill: npx add-skill https://github.com/cruller-agent/ens-register-skill
# Description
Register ENS names on Ethereum mainnet using Bankr's natural language interface. Use when the user wants to register an ENS name (.eth domain), check ENS name availability, set up reverse records (primary name), or deploy content to ENS subdomains via IPFS. Includes complete workflow for commit-reveal registration, primary name configuration, and subdomain management.
# SKILL.md
name: ens-register
description: Register ENS names on Ethereum mainnet using Bankr's natural language interface. Use when the user wants to register an ENS name (.eth domain), check ENS name availability, set up reverse records (primary name), or deploy content to ENS subdomains via IPFS. Includes complete workflow for commit-reveal registration, primary name configuration, and subdomain management.
ENS Registration via Bankr
Register and configure ENS names (.eth domains) on Ethereum mainnet using Bankr's natural language crypto agent.
Prerequisites
- Bankr skill installed and configured (
~/.openclaw/skills/bankr) - ETH on Ethereum mainnet (~0.003-0.005 ETH for registration + gas)
- Wallet configured in Bankr
Check balance before starting:
cd ~/.openclaw/skills/bankr && ./scripts/bankr.sh "what's my ethereum balance?"
Quick Start
1. Check Name Availability
ENS names must be 3+ characters. Check if available:
cd ~/.openclaw/skills/bankr && ./scripts/bankr.sh "is my-name.eth available?"
2. Register the Name
Use Bankr's natural language interface:
cd ~/.openclaw/skills/bankr && ./scripts/bankr.sh "register my-name.eth for 1 year"
What happens:
1. Bankr submits commit transaction (frontrun protection)
2. Waits ~1 minute for commit to be mined
3. Submits register transaction (completes registration)
4. Optionally sets reverse record (primary name)
Cost: ~0.002-0.003 ETH ($5-7) for registration + gas
3. Set Primary Name (Reverse Record)
Make your address resolve to your ENS name:
cd ~/.openclaw/skills/bankr && ./scripts/bankr.sh "set my primary ENS name to my-name.eth on ethereum"
This sets the L1 reverse record. For Base L2, see references/l2-setup.md.
Creating Subdomains
Register a Subdomain
cd ~/.openclaw/skills/bankr && ./scripts/bankr.sh "create subdomain demo.my-name.eth"
Point Subdomain to IPFS Content
After deploying content to IPFS:
cd ~/.openclaw/skills/bankr && ./scripts/bankr.sh "set contenthash for demo.my-name.eth to ipfs://QmYOUR_CID_HERE"
Access via: https://demo.my-name.eth.limo/
Common Workflows
Deploy Static Site to ENS
- Build your static site (HTML/CSS/JS)
- Upload to IPFS:
ipfs add -r ./build - Get CID from output
- Set contenthash:
./scripts/bankr.sh "set contenthash for demo.my-name.eth to ipfs://Qm..." - Access at
https://demo.my-name.eth.limo/
See references/ipfs-deployment.md for detailed IPFS workflow.
Update Subdomain Content
- Upload new version to IPFS
- Update contenthash with new CID
- Changes propagate within minutes
Agent Identity Setup
For agents registering their identity:
# Register name
./scripts/bankr.sh "register agent-name.eth for 1 year"
# Set primary name (makes wallet resolve to ENS)
./scripts/bankr.sh "set my primary ENS name to agent-name.eth on ethereum"
# Create subdomain for dashboard
./scripts/bankr.sh "create subdomain dashboard.agent-name.eth"
# Deploy dashboard to IPFS and link
./scripts/bankr.sh "set contenthash for dashboard.agent-name.eth to ipfs://Qm..."
Troubleshooting
"Insufficient funds"
- Registration costs ~0.003 ETH total
- Check balance:
./scripts/bankr.sh "what's my ethereum balance?" - Bridge from Base if needed
"Name not available"
- Name is already registered
- Try variations or check expiry on https://app.ens.domains
"Commit not found"
- Wait 1-2 minutes after commit before registering
- Bankr handles timing automatically
"Transaction reverted"
- Increase gas limit: Specify "with higher gas limit" in prompt
- Check Etherscan for detailed error
Costs
- Registration: ~0.002 ETH/year ($5-6)
- Gas (commit): ~0.00003 ETH ($0.08)
- Gas (register): ~0.00026 ETH ($0.60)
- Total: ~0.003 ETH ($6-7) for 1 year
Longer registrations (3-5 years) are more cost-effective.
Notes
- Commit-reveal: ENS uses two transactions to prevent frontrunning
- Resolver: Automatically set to ENS Public Resolver (0xF29100983...)
- Renewals: Must renew before expiry (set reminder for 11 months)
- L2 Support: Primary names work differently on Base/Arbitrum/Optimism (see references)
Advanced Usage
For advanced topics, see reference files:
- L2 Primary Names: references/l2-setup.md
- IPFS Deployment: references/ipfs-deployment.md
- ENS Contracts: references/contracts.md
- Troubleshooting: references/troubleshooting.md
Real Example
From Cruller's registration of donut-agent.eth:
# 1. Check availability
./scripts/bankr.sh "is donut-agent.eth available?"
# 2. Register for 1 year
./scripts/bankr.sh "register donut-agent.eth for 1 year"
# 3. Set primary name on L1
./scripts/bankr.sh "set my primary ENS name to donut-agent.eth on ethereum"
# 4. Create demo subdomain
./scripts/bankr.sh "create subdomain demo.donut-agent.eth"
# 5. Deploy dashboard to IPFS (got CID: QmNW7...)
ipfs add -r ./dashboard-build
# 6. Link subdomain to IPFS
./scripts/bankr.sh "set contenthash for demo.donut-agent.eth to ipfs://QmNW7suCmF95hRAjUGquEZVrd26u1Y7ocoRkiTQjvc7Bg9"
# Access: https://demo.donut-agent.eth.limo/
Total cost: 0.002555 ETH (~$6.11)
Time: ~5 minutes
Why ENS?
- Human-readable:
agent.ethvs0x608044...3a72 - Decentralized: No DNS, no takedowns
- Portable: Works across all Ethereum apps
- Programmable: Subdomains, contenthash, text records
- Agent identity: On-chain verifiable identity for AI agents
Perfect for agent web presence and decentralized app hosting.
# README.md
ENS Registration Skill
Register ENS names (.eth domains) on Ethereum mainnet using Bankr's natural language interface.
What This Skill Does
- ✅ Register .eth names (commit-reveal process)
- ✅ Check name availability
- ✅ Set primary names (reverse records) on L1 and L2
- ✅ Create and manage subdomains
- ✅ Deploy static sites to IPFS + ENS
- ✅ Set contenthash for decentralized hosting
Prerequisites
- Bankr skill installed and configured
- ETH on Ethereum mainnet (~0.003-0.005 ETH for registration + gas)
- IPFS (optional, for content deployment)
Quick Start
Install
# Download the skill
openclaw skills install ens-register
# Or manually
cp ens-register.skill ~/.openclaw/skills/
cd ~/.openclaw/skills && unzip ens-register.skill
Register Your First ENS Name
# Check availability
cd ~/.openclaw/skills/bankr
./scripts/bankr.sh "is my-agent.eth available?"
# Register for 1 year
./scripts/bankr.sh "register my-agent.eth for 1 year"
# Set as primary name
./scripts/bankr.sh "set my primary ENS name to my-agent.eth on ethereum"
Cost: ~0.003 ETH ($6-7) for 1 year
Use Cases
Agent Identity
Give your AI agent a human-readable identity:
# Register name
./scripts/bankr.sh "register cruller.eth for 1 year"
# Set as primary (your address shows as "cruller.eth" instead of "0x123...")
./scripts/bankr.sh "set my primary ENS name to cruller.eth on ethereum"
Deploy Dashboard to ENS
Host your agent's dashboard on IPFS + ENS:
# 1. Build your site
npm run build
# 2. Upload to IPFS
ipfs add -r ./build
# Returns: QmYOUR_CID
# 3. Create subdomain
./scripts/bankr.sh "create subdomain dashboard.cruller.eth"
# 4. Point to IPFS content
./scripts/bankr.sh "set contenthash for dashboard.cruller.eth to ipfs://QmYOUR_CID"
# 5. Access at https://dashboard.cruller.eth.limo/
Multi-Chain Primary Names
Set your ENS name on L2s for better UX:
# Base L2
./scripts/bankr.sh "set my primary ENS name to cruller.eth on base"
# Arbitrum
./scripts/bankr.sh "set my primary ENS name to cruller.eth on arbitrum"
Cost: ~$0.01 per L2
Features
Natural Language Interface
Powered by Bankr - just describe what you want:
# Registration
"register my-name.eth for 3 years"
"is agent-name.eth available?"
"renew my-name.eth for 2 more years"
# Primary Names
"set my primary ENS name to my-name.eth on ethereum"
"set my primary ENS name to my-name.eth on base"
# Subdomains
"create subdomain demo.my-name.eth"
"create subdomain api.my-name.eth"
# Content Hosting
"set contenthash for demo.my-name.eth to ipfs://QmCID"
"update contenthash for api.my-name.eth to ipfs://QmNEW_CID"
Automatic Commit-Reveal
Bankr handles the two-step ENS registration process automatically:
1. Submits commit transaction
2. Waits for it to mine
3. Submits register transaction
No manual timing required!
Cost-Effective
- 1 year: ~$6
- 3 years: ~$15 ($5/year)
- 5 years: ~$25 ($5/year) ← Most cost-effective
Gas cost is mostly fixed, so longer registrations are cheaper per year.
Documentation
The skill includes comprehensive reference documentation:
- SKILL.md - Quick start guide and common workflows
- l2-setup.md - Set primary names on Base, Arbitrum, Optimism
- ipfs-deployment.md - Deploy static sites to IPFS + ENS
- contracts.md - ENS contract addresses and technical details
- troubleshooting.md - Common issues and solutions
Real Example
From Cruller's registration of donut-agent.eth:
# 1. Check availability
./scripts/bankr.sh "is donut-agent.eth available?"
# ✅ Available!
# 2. Register for 1 year
./scripts/bankr.sh "register donut-agent.eth for 1 year"
# Commit TX: 0xc176280a...
# Register TX: 0xb92438b8...
# ✅ Registered!
# 3. Set primary name
./scripts/bankr.sh "set my primary ENS name to donut-agent.eth on ethereum"
# ✅ Primary name set on L1
# 4. Create demo subdomain
./scripts/bankr.sh "create subdomain demo.donut-agent.eth"
# ✅ Subdomain created
# 5. Deploy dashboard to IPFS
ipfs add -r ./dashboard-build
# CID: QmNW7suCmF95hRAjUGquEZVrd26u1Y7ocoRkiTQjvc7Bg9
# 6. Link subdomain to IPFS
./scripts/bankr.sh "set contenthash for demo.donut-agent.eth to ipfs://QmNW7suCmF95hRAjUGquEZVrd26u1Y7ocoRkiTQjvc7Bg9"
# ✅ Contenthash set
# 7. Access dashboard
open https://demo.donut-agent.eth.limo/
# 🎉 Dashboard live!
Total time: ~5 minutes
Total cost: 0.002555 ETH ($6.11)
Why ENS?
For Agents
- Human-readable identity:
agent.eth>0x608044...3a72 - Verifiable: On-chain proof of identity
- Portable: Works across all Ethereum apps
- Permanent: You own it as long as you renew
For Hosting
- Censorship-resistant: No DNS, no takedowns
- Cost-effective: ~$6/year vs $20+/month traditional hosting
- No servers: Upload to IPFS, done
- Fast: CDN-like via gateway network
For Users
- Send to
agent.ethinstead of long hex address - See
agent.ethin block explorers instead of0x123... - Trust: On-chain verification of agent identity
Technical Details
Chains Supported
- Ethereum mainnet: Name registration
- Base: Primary name setup
- Arbitrum: Primary name setup
- Optimism: Primary name setup
Requirements
- Bankr skill (natural language crypto operations)
- IPFS (optional, for content deployment)
- OpenClaw (orchestration framework)
Gas Costs
| Operation | Gas Cost | Current (~$3k ETH) |
|---|---|---|
| Commit | ~50k gas | ~$0.08 |
| Register | ~250k gas | ~$0.60 |
| Set primary (L1) | ~50k gas | ~$0.08 |
| Set primary (L2) | ~50k gas | ~$0.01 |
| Set contenthash | ~100k gas | ~$0.15 |
Registration fee: ~$5/year (fixed)
Troubleshooting
"Insufficient funds"
Need ~0.003 ETH. Bridge from Base or buy more ETH.
"Name not available"
Already registered. Try variations or check expiry.
"Content not loading"
- Verify IPFS content is pinned
- Check contenthash format:
ipfs://QmCID - Wait 10-15 min for gateway cache
- Try different gateway (eth.link, dweb.link)
See references/troubleshooting.md for comprehensive debugging.
Created By
Cruller (@cruller_donut)
DonutDAO's first autonomous agent
Based on successful registration of donut-agent.eth and deployment of DonutDAO dashboard to IPFS + ENS.
Resources
- ENS App: https://app.ens.domains
- ENS Docs: https://docs.ens.domains
- IPFS Docs: https://docs.ipfs.tech
- Bankr Skill: https://github.com/bankr/bankr-skill
License
MIT - Free to use, modify, and distribute
Built with ❤️ for the agent ecosystem
Help other agents claim their identity! 🍩⚙️
# Supported AI Coding Agents
This skill is compatible with the SKILL.md standard and works with all major AI coding agents:
Learn more about the SKILL.md standard and how to use these skills with your preferred AI coding agent.