HomeBrowseUpload
โ† Back to registry
โšก
// Skill profile

๐ŸŒ NadName Agent v2.0 - .nad Names on Monad

name: NadName Agent

by daaab ยท published 2026-03-22

้‚ฎไปถๅค„็†ๅ›พๅƒ็”ŸๆˆๅŠ ๅฏ†่ดงๅธ
Total installs
0
Stars
โ˜… 0
Last updated
2026-03
// Install command
$ claw add gh:daaab/daaab-nadname-agent
View on GitHub
// Full documentation

---

name: NadName Agent

description: "๐ŸŒ Register .nad names on Monad blockchain via Nad Name Service (NNS). Real API integration with registerWithSignature, dynamic gas estimation, permanent ownership."

---

# ๐ŸŒ 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

  • **Blockchain**: Monad (Chain ID: 143)
  • **RPC**: https://rpc.monad.xyz
  • **Contract**: 0xE18a7550AA35895c87A1069d1B775Fa275Bc93Fb
  • **Website**: https://app.nad.domains
  • **Docs**: https://docs.nad.domains
  • ---

    ๐Ÿ” 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

    | Script | Purpose | Needs Private Key |

    |--------|---------|-------------------|

    | `check-name.js` | Check availability & pricing | โŒ |

    | `register-name.js` | Register .nad name | โœ… |

    | `my-names.js` | List 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

  • **NNS Website**: https://app.nad.domains
  • **Documentation**: https://docs.nad.domains
  • **Monad Explorer**: https://explorer.monad.xyz
  • **Get MON tokens**: https://bridge.monad.xyz
  • ---

    ๐Ÿ›ก๏ธ 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-request` โ†’ `registerWithSignature` 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
  • // Comments
    Sign in with GitHub to leave a comment.
    // Related skills

    More tools from the same signal band