# Send NadName Agent to your agent
Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.
## Fast path
- Download the package from Yavira.
- Extract it into a folder your agent can access.
- Paste one of the prompts below and point your agent at the extracted folder.
## Suggested prompts
### New install

```text
I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Then review README.md for any prerequisites, environment setup, or post-install checks. Tell me what you changed and call out any manual steps you could not complete.
```
### Upgrade existing

```text
I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Then review README.md for any prerequisites, environment setup, or post-install checks. Summarize what changed and any follow-up checks I should run.
```
## Machine-readable fields
```json
{
  "schemaVersion": "1.0",
  "item": {
    "slug": "nadname-agent",
    "name": "NadName Agent",
    "source": "tencent",
    "type": "skill",
    "category": "开发工具",
    "sourceUrl": "https://clawhub.ai/dAAAb/nadname-agent",
    "canonicalUrl": "https://clawhub.ai/dAAAb/nadname-agent",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadUrl": "/downloads/nadname-agent",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=nadname-agent",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "packageFormat": "ZIP package",
    "primaryDoc": "SKILL.md",
    "includedAssets": [
      "README.md",
      "SKILL.md",
      "package.json",
      "scripts/check-name.js",
      "scripts/my-names.js",
      "scripts/register-name.js"
    ],
    "downloadMode": "redirect",
    "sourceHealth": {
      "source": "tencent",
      "slug": "nadname-agent",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-05-06T00:14:40.118Z",
      "expiresAt": "2026-05-13T00:14:40.118Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=nadname-agent",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=nadname-agent",
        "contentDisposition": "attachment; filename=\"nadname-agent-2.0.0.zip\"",
        "redirectLocation": null,
        "bodySnippet": null,
        "slug": "nadname-agent"
      },
      "scope": "item",
      "summary": "Item download looks usable.",
      "detail": "Yavira can redirect you to the upstream package for this item.",
      "primaryActionLabel": "Download for OpenClaw",
      "primaryActionHref": "/downloads/nadname-agent"
    },
    "validation": {
      "installChecklist": [
        "Use the Yavira download entry.",
        "Review SKILL.md after the package is downloaded.",
        "Confirm the extracted package contains the expected setup assets."
      ],
      "postInstallChecks": [
        "Confirm the extracted package includes the expected docs or setup files.",
        "Validate the skill or prompts are available in your target agent workspace.",
        "Capture any manual follow-up steps the agent could not complete."
      ]
    }
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/nadname-agent",
    "downloadUrl": "https://openagent3.xyz/downloads/nadname-agent",
    "agentUrl": "https://openagent3.xyz/skills/nadname-agent/agent",
    "manifestUrl": "https://openagent3.xyz/skills/nadname-agent/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/nadname-agent/agent.md"
  }
}
```
## Documentation

### 🌐 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

### 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

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

### 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 Keycheck-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

### 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

### 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.

### 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
## Trust
- Source: tencent
- Verification: Indexed source record
- Publisher: dAAAb
- Version: 2.0.0
## Source health
- Status: healthy
- Item download looks usable.
- Yavira can redirect you to the upstream package for this item.
- Health scope: item
- Reason: direct_download_ok
- Checked at: 2026-05-06T00:14:40.118Z
- Expires at: 2026-05-13T00:14:40.118Z
- Recommended action: Download for OpenClaw
## Links
- [Detail page](https://openagent3.xyz/skills/nadname-agent)
- [Send to Agent page](https://openagent3.xyz/skills/nadname-agent/agent)
- [JSON manifest](https://openagent3.xyz/skills/nadname-agent/agent.json)
- [Markdown brief](https://openagent3.xyz/skills/nadname-agent/agent.md)
- [Download page](https://openagent3.xyz/downloads/nadname-agent)