nadname-agent

0
0
Source

🌐 Register .nad names on Monad blockchain via Nad Name Service (NNS). Real API integration with registerWithSignature, dynamic gas estimation, permanent ownership.

Install

mkdir -p .claude/skills/nadname-agent && curl -L -o skill.zip "https://mcp.directory/api/skills/download/6967" && unzip -o skill.zip -d .claude/skills/nadname-agent && rm skill.zip

Installs to .claude/skills/nadname-agent

About this skill

🌐 NadName Agent v2.0 - .nad Names on Monad

Register permanent .nad names on Monad blockchain via Nad Name Service with real API integration

TL;DR: Get yourname.nad on Monad. One-time fee, lifetime ownership. Now with real NAD API integration and accurate pricing!

What is NNS?

Nad Name Service (NNS) is a web3 name service built on Monad blockchain that maps human-readable names like agent.nad to cryptocurrency addresses and metadata.

  • Permanent ownership — One-time registration fee, no renewals
  • NFT-based — Names are tradeable NFTs
  • Emoji support — Use 🦞.nad or 你好.nad
  • Fast & cheap — Built on Monad, the fastest blockchain
  • Profile customization — Set avatar, social links, text records

Key Details


🔐 Security & Wallet Setup

Option 1: Environment Variable (Recommended ✅)

export PRIVATE_KEY="0x..."
node scripts/check-name.js myname

Safest: Private key exists only in memory, never saved to disk.

Option 2: Managed Mode (Encrypted)

node scripts/register-name.js --managed --name myname

Secure: Creates encrypted keystore, password-protected.

⚠️ Critical Security Rules

  1. NEVER hardcode private keys in scripts
  2. NEVER commit private keys to git
  3. NEVER auto-detect wallet paths (security risk)
  4. ONLY use PRIVATE_KEY env var or --managed encrypted keystore
  5. Private key files should be chmod 600

🚀 Quick Start

1️⃣ Check Name Availability

# Check if name is available and get pricing
node scripts/check-name.js myname

# Output example:
# ✅ myname.nad is available!
# 💰 Price: 649 MON (base price)
# 🎄 Discount: 50% (Christmas special)
# 💸 Final price: 324.5 MON

2️⃣ Register Name

# Using environment variable
export PRIVATE_KEY="0x..."
node scripts/register-name.js --name myname

# Set as primary name too
node scripts/register-name.js --name myname --set-primary

# Using managed mode (encrypted keystore)
node scripts/register-name.js --managed --name myname --set-primary

3️⃣ List Your Names

# List names owned by your wallet
node scripts/my-names.js

📦 Scripts Reference

ScriptPurposeNeeds Private Key
check-name.jsCheck availability & pricing
register-name.jsRegister .nad name
my-names.jsList owned names❌ (reads from address)

check-name.js

Check if a .nad name is available and get current pricing:

node scripts/check-name.js <name>
node scripts/check-name.js agent
node scripts/check-name.js 🦞

register-name.js

Register a new .nad name:

# Basic registration
node scripts/register-name.js --name myname

# Register and set as primary
node scripts/register-name.js --name myname --set-primary

# Using managed encrypted keystore
node scripts/register-name.js --managed --name myname

# Dry run to check costs without sending transaction
node scripts/register-name.js --name myname --dry-run

# With referrer for potential discounts
node scripts/register-name.js --name myname --referrer 0x...

Flags:

  • --name <name> - Name to register (required)
  • --set-primary - Set as primary name after registration
  • --managed - Use encrypted keystore (creates if doesn't exist)
  • --address <addr> - Custom address to use (defaults to wallet address)
  • --dry-run - Show what would be done without sending transaction
  • --referrer <addr> - Referrer address for discounts

my-names.js

List all .nad names owned by an address:

# Use wallet from PRIVATE_KEY env var
node scripts/my-names.js

# Check specific address
node scripts/my-names.js --address 0x...

# Use managed keystore
node scripts/my-names.js --managed

🔧 Technical Details

v2.0 Registration Flow

The new registration process follows CloudLobster's discovered pattern:

Step 1: Get Registration Data

POST https://api.nad.domains/api/register-request
Body: {
  "name": "myname",
  "owner": "0x...",
  "setAsPrimary": true,
  "referrer": null,
  "paymentToken": "0x0000000000000000000000000000000000000000"
}

Response: {
  "registerData": {...},
  "signature": "0x...",
  "price": "324.5"
}

Step 2: Contract Call

await contract.registerWithSignature(registerData, signature, {
  value: ethers.parseEther(price),
  gasLimit: estimatedGas * 2n  // 2x safety buffer
});

Contract Interaction

  • Contract: 0xE18a7550AA35895c87A1069d1B775Fa275Bc93Fb
  • Method: registerWithSignature(registerData, signature) with server co-signature
  • Gas: ~650,000-970,000 gas for registration (2x buffer applied automatically)
  • Pricing: Real-time from NAD API
  • Payment: MON tokens sent as transaction value

Supported Names

  • Length: 1-63 characters
  • Characters: a-z, 0-9, emojis, international characters
  • Examples: agent.nad, 🦞.nad, 你好.nad, salmo.nad

Profile Features

After registration, you can customize:

  • Avatar image
  • Social media links
  • Text records (email, website, etc.)
  • Primary name setting

💡 Examples

Basic Bot Registration

export PRIVATE_KEY="0x..."
node scripts/check-name.js mybot
# ✅ mybot.nad is available!
# 💰 Price: 324.5 MON

node scripts/register-name.js --name mybot --set-primary
# 🎉 Registration successful!

Dry Run Testing

# Test registration without spending MON
node scripts/register-name.js --name mybot --dry-run
# 🏃‍♂️ DRY RUN MODE - No transaction will be sent
# ✅ Registration data looks valid
# ⛽ Estimated gas cost: 0.002 MON
# 💸 Total cost: 324.502 MON

Emoji Names

node scripts/check-name.js 🤖
node scripts/register-name.js --name 🤖 --dry-run

Secure Managed Setup

# First time setup
node scripts/register-name.js --managed --name myagent --dry-run
# Enter password when prompted

# Future use
node scripts/my-names.js --managed
# Enter same password

🌐 Links


🛡️ Security Audit Checklist

Before using this skill:

✅ No hardcoded private keys
✅ No auto-detection of external wallet paths
✅ Environment variables only or encrypted keystore
✅ No --no-sandbox browser usage
✅ No remote code execution
✅ Proper file permissions (600) for sensitive files
✅ Clear security warnings in documentation

This skill follows OpenClaw security best practices and should pass VirusTotal scanning.


📝 Changelog

v2.0.0 (2026-02-09) - Real API Integration

  • 🚀 Breaking: Real NAD API integration with registerWithSignature
  • 🔍 Real-time name availability checking via API endpoints
  • 💰 Real-time pricing from NAD API
  • ⛽ Dynamic gas estimation with 2x safety buffer (~1,000,000 gas)
  • 🏃‍♂️ --dry-run flag for testing without spending tokens
  • 🔗 --referrer support for potential discounts
  • 📊 Better error handling and transaction feedback
  • 🙏 Thanks to CloudLobster for testing and discovering the real flow!

v2.0.0 Improvements Based on CloudLobster's Feedback:

  • ❌ Removed hardcoded pricing and fake availability checks
  • ✅ Real POST /api/register-requestregisterWithSignature flow
  • ✅ Proper gas estimation (646K estimate → 969K actual, now with 2x buffer)
  • ✅ Server co-signature integration for NNS backend validation

v1.0.0 (2026-02-09)

  • 🎉 Initial release
  • ✅ Name availability checking (simulated)
  • ✅ Registration with encrypted keystore support
  • ✅ Owned names listing
  • ✅ Security-first design
  • ✅ Support for emoji and international character names

seedream-image-gen

openclaw

Generate images via Seedream API (doubao-seedream models). Synchronous generation.

2359

ffmpeg-cli

openclaw

Comprehensive video/audio processing with FFmpeg. Use for: (1) Video transcoding and format conversion, (2) Cutting and merging clips, (3) Audio extraction and manipulation, (4) Thumbnail and GIF generation, (5) Resolution scaling and quality adjustment, (6) Adding subtitles or watermarks, (7) Speed adjustment (slow/fast motion), (8) Color correction and filters.

6723

context-optimizer

openclaw

Advanced context management with auto-compaction and dynamic context optimization for DeepSeek's 64k context window. Features intelligent compaction (merging, summarizing, extracting), query-aware relevance scoring, and hierarchical memory system with context archive. Logs optimization events to chat.

3722

a-stock-analysis

openclaw

A股实时行情与分时量能分析。获取沪深股票实时价格、涨跌、成交量,分析分时量能分布(早盘/尾盘放量)、主力动向(抢筹/出货信号)、涨停封单。支持持仓管理和盈亏分析。Use when: (1) 查询A股实时行情, (2) 分析主力资金动向, (3) 查看分时成交量分布, (4) 管理股票持仓, (5) 分析持仓盈亏。

9121

himalaya

openclaw

CLI to manage emails via IMAP/SMTP. Use `himalaya` to list, read, write, reply, forward, search, and organize emails from the terminal. Supports multiple accounts and message composition with MML (MIME Meta Language).

7921

garmin-connect

openclaw

Syncs daily health and fitness data from Garmin Connect into markdown files. Provides sleep, activity, heart rate, stress, body battery, HRV, SpO2, and weight data.

7321

You might also like

flutter-development

aj-geddes

Build beautiful cross-platform mobile apps with Flutter and Dart. Covers widgets, state management with Provider/BLoC, navigation, API integration, and material design.

643969

drawio-diagrams-enhanced

jgtolentino

Create professional draw.io (diagrams.net) diagrams in XML format (.drawio files) with integrated PMP/PMBOK methodologies, extensive visual asset libraries, and industry-standard professional templates. Use this skill when users ask to create flowcharts, swimlane diagrams, cross-functional flowcharts, org charts, network diagrams, UML diagrams, BPMN, project management diagrams (WBS, Gantt, PERT, RACI), risk matrices, stakeholder maps, or any other visual diagram in draw.io format. This skill includes access to custom shape libraries for icons, clipart, and professional symbols.

591705

ui-ux-pro-max

nextlevelbuilder

"UI/UX design intelligence. 50 styles, 21 palettes, 50 font pairings, 20 charts, 8 stacks (React, Next.js, Vue, Svelte, SwiftUI, React Native, Flutter, Tailwind). Actions: plan, build, create, design, implement, review, fix, improve, optimize, enhance, refactor, check UI/UX code. Projects: website, landing page, dashboard, admin panel, e-commerce, SaaS, portfolio, blog, mobile app, .html, .tsx, .vue, .svelte. Elements: button, modal, navbar, sidebar, card, table, form, chart. Styles: glassmorphism, claymorphism, minimalism, brutalism, neumorphism, bento grid, dark mode, responsive, skeuomorphism, flat design. Topics: color palette, accessibility, animation, layout, typography, font pairing, spacing, hover, shadow, gradient."

318399

godot

bfollington

This skill should be used when working on Godot Engine projects. It provides specialized knowledge of Godot's file formats (.gd, .tscn, .tres), architecture patterns (component-based, signal-driven, resource-based), common pitfalls, validation tools, code templates, and CLI workflows. The `godot` command is available for running the game, validating scripts, importing resources, and exporting builds. Use this skill for tasks involving Godot game development, debugging scene/resource files, implementing game systems, or creating new Godot components.

340397

nano-banana-pro

garg-aayush

Generate and edit images using Google's Nano Banana Pro (Gemini 3 Pro Image) API. Use when the user asks to generate, create, edit, modify, change, alter, or update images. Also use when user references an existing image file and asks to modify it in any way (e.g., "modify this image", "change the background", "replace X with Y"). Supports both text-to-image generation and image-to-image editing with configurable resolution (1K default, 2K, or 4K for high resolution). DO NOT read the image file first - use this skill directly with the --input-image parameter.

452339

fastapi-templates

wshobson

Create production-ready FastAPI projects with async patterns, dependency injection, and comprehensive error handling. Use when building new FastAPI applications or setting up backend API projects.

304231

Stay ahead of the MCP ecosystem

Get weekly updates on new skills and servers.