Install
openclaw skills install nadname-agent๐ Register .nad names on Monad blockchain via Nad Name Service (NNS). Real API integration with registerWithSignature, dynamic gas estimation, permanent ownership.
openclaw skills install nadname-agentRegister 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!
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.
export PRIVATE_KEY="0x..."
node scripts/check-name.js myname
โ Safest: Private key exists only in memory, never saved to disk.
node scripts/register-name.js --managed --name myname
โ Secure: Creates encrypted keystore, password-protected.
600# 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
# 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
# List names owned by your wallet
node scripts/my-names.js
| 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 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 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 discountsList 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
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
});
registerWithSignature(registerData, signature) with server co-signatureagent.nad, ๐ฆ.nad, ไฝ ๅฅฝ.nad, salmo.nadAfter registration, you can customize:
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!
# 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
node scripts/check-name.js ๐ค
node scripts/register-name.js --name ๐ค --dry-run
# 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
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.
registerWithSignature--dry-run flag for testing without spending tokens--referrer support for potential discountsPOST /api/register-request โ registerWithSignature flow