skills$openclaw/clawdaddy
gregm7119.0k

by gregm711

clawdaddy – OpenClaw Skill

clawdaddy is an OpenClaw Skills integration for coding workflows. The world's #1 AI-friendly domain registrar. Check availability, purchase domains with USDC or cards, configure DNS, and manage nameservers - all without CAPTCHAs or signup.

9.0k stars5.4k forksSecurity L1
Updated Feb 7, 2026Created Feb 7, 2026coding

Skill Snapshot

nameclawdaddy
descriptionThe world's #1 AI-friendly domain registrar. Check availability, purchase domains with USDC or cards, configure DNS, and manage nameservers - all without CAPTCHAs or signup. OpenClaw Skills integration.
ownergregm711
repositorygregm711/agentdomainservice
languageMarkdown
licenseMIT
topics
securityL1
installopenclaw add @gregm711/agentdomainservice
last updatedFeb 7, 2026

Maintainer

gregm711

gregm711

Maintains clawdaddy in the OpenClaw Skills directory.

View GitHub profile
File Explorer
3 files
.
_meta.json
660 B
README.md
2.6 KB
SKILL.md
9.6 KB
SKILL.md

name: clawdaddy description: The world's #1 AI-friendly domain registrar. Check availability, purchase domains with USDC or cards, configure DNS, and manage nameservers - all without CAPTCHAs or signup. homepage: https://clawdaddy.app emoji: 🦞 metadata: clawdbot: primaryEnv: any requires: bins: [] env: []

ClawDaddy - AI-Friendly Domain Registrar

The world's #1 AI-friendly domain registrar. Check availability, purchase domains, configure DNS, and manage nameservers.

Base URL: https://clawdaddy.app

No CAPTCHAs. No signup required for lookups. Bearer tokens for management.


Quick Reference

TaskEndpointAuth
Check availabilityGET /api/lookup/{domain}None
Get purchase quoteGET /api/purchase/{domain}/quoteNone
Purchase domainPOST /api/purchase/{domain}?method=x402|stripeNone
Manage domainGET /api/manage/{domain}Bearer token
Configure DNSPOST /api/manage/{domain}/dnsBearer token
Update nameserversPUT /api/manage/{domain}/nameserversBearer token
Recover tokenPOST /api/recoverNone

1. Check Domain Availability

When: User asks "Is example.com available?" or "Check if mycoolapp.io is taken"

GET https://clawdaddy.app/api/lookup/example.com

JSON Response

{
  "fqdn": "example.com",
  "available": true,
  "status": "available",
  "premium": false,
  "price": {
    "amount": 12.99,
    "currency": "USD",
    "period": "year"
  },
  "checked_at": "2026-01-15T10:30:00.000Z",
  "source": "namecom",
  "cache": { "hit": false, "ttl_seconds": 120 }
}

TXT Response

GET https://clawdaddy.app/api/lookup/example.com?format=txt
fqdn=example.com
available=true
status=available
premium=false
price_amount=12.99
price_currency=USD
checked_at=2026-01-15T10:30:00Z

Status Values

StatusavailableMeaning
availabletrueCan be registered
registeredfalseAlready taken
unknownfalseError/timeout

Key: The available field is ALWAYS boolean (true/false), never undefined.


2. Purchase a Domain

Step 1: Get Quote

When: User wants to buy a domain, get the price first.

GET https://clawdaddy.app/api/purchase/example.com/quote
{
  "domain": "example.com",
  "available": true,
  "priceUsd": 12.99,
  "marginUsd": 2.00,
  "totalUsd": 14.99,
  "validUntil": "2026-01-15T10:35:00.000Z",
  "paymentMethods": {
    "x402": { "enabled": true, "currency": "USDC", "network": "base" },
    "stripe": { "enabled": true, "currency": "USD" }
  }
}

Step 2a: Purchase via x402 (USDC on Base)

Best for: AI agents with crypto wallets

POST https://clawdaddy.app/api/purchase/example.com?method=x402

First request returns HTTP 402 with payment requirements:

{
  "error": "Payment Required",
  "x402": {
    "version": "2.0",
    "accepts": [{
      "scheme": "exact",
      "network": "eip155:8453",
      "maxAmountRequired": "14990000",
      "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
      "payTo": "0x..."
    }]
  }
}

After paying USDC on Base, retry with payment proof:

POST https://clawdaddy.app/api/purchase/example.com?method=x402
x-payment: <payment_proof_from_x402>

Step 2b: Purchase via Stripe (Cards)

Best for: Human users or agents without crypto

POST https://clawdaddy.app/api/purchase/example.com?method=stripe
Content-Type: application/json

{
  "email": "user@example.com"
}

Returns Stripe checkout URL:

{
  "checkoutUrl": "https://checkout.stripe.com/...",
  "sessionId": "cs_..."
}

Success Response (Both Methods)

{
  "success": true,
  "domain": "example.com",
  "registrationId": "12345",
  "expiresAt": "2027-01-15T10:30:00.000Z",
  "nameservers": ["ns1.name.com", "ns2.name.com"],
  "managementToken": "clwd_abc123xyz...",
  "manageUrl": "https://clawdaddy.app/api/manage/example.com"
}

CRITICAL: Save the managementToken immediately! It's required for all management operations and cannot be retrieved without recovery.


3. Domain Management

All management endpoints require the Authorization header:

Authorization: Bearer clwd_your_management_token

Get Domain Overview

GET https://clawdaddy.app/api/manage/example.com
Authorization: Bearer clwd_abc123...
{
  "domain": "example.com",
  "purchasedAt": "2026-01-15T10:30:00.000Z",
  "expiresAt": "2027-01-15T10:30:00.000Z",
  "nameservers": ["ns1.name.com", "ns2.name.com"],
  "settings": {
    "locked": true,
    "autorenewEnabled": false,
    "privacyEnabled": true
  }
}

DNS Records

List all records:

GET /api/manage/{domain}/dns

Create a record:

POST /api/manage/{domain}/dns
Content-Type: application/json

{
  "host": "@",
  "type": "A",
  "answer": "1.2.3.4",
  "ttl": 300
}

Update a record:

PUT /api/manage/{domain}/dns?id=123
Content-Type: application/json

{
  "answer": "5.6.7.8",
  "ttl": 600
}

Delete a record:

DELETE /api/manage/{domain}/dns?id=123

Supported record types: A, AAAA, CNAME, MX, TXT, NS, SRV

Common DNS Configurations

Point to a server (A record):

{"host": "@", "type": "A", "answer": "123.45.67.89", "ttl": 300}

Add www subdomain (CNAME):

{"host": "www", "type": "CNAME", "answer": "example.com", "ttl": 300}

Add email (MX record):

{"host": "@", "type": "MX", "answer": "mail.example.com", "ttl": 300, "priority": 10}

Verify domain (TXT record):

{"host": "@", "type": "TXT", "answer": "google-site-verification=abc123", "ttl": 300}

Update Nameservers

When: User wants to use Cloudflare, Vercel, or another DNS provider

PUT /api/manage/{domain}/nameservers
Content-Type: application/json

{
  "nameservers": [
    "ns1.cloudflare.com",
    "ns2.cloudflare.com"
  ]
}

Common nameserver configurations:

ProviderNameservers
Cloudflarens1.cloudflare.com, ns2.cloudflare.com
Vercelns1.vercel-dns.com, ns2.vercel-dns.com
AWS Route53Check your hosted zone
Google Cloudns-cloud-X.googledomains.com

Domain Settings

Get settings:

GET /api/manage/{domain}/settings

Update settings:

PATCH /api/manage/{domain}/settings
Content-Type: application/json

{
  "locked": false,
  "autorenewEnabled": true
}

Transfer Domain Out

Get auth code:

GET /api/manage/{domain}/transfer

Prepare for transfer (unlock + get code):

POST /api/manage/{domain}/transfer

Note: Domains cannot be transferred within 60 days of registration (ICANN policy).


4. Token Recovery

When: User lost their management token

POST https://clawdaddy.app/api/recover
Content-Type: application/json

{
  "email": "user@example.com",
  "domain": "example.com"
}

For x402 purchases:

{
  "wallet": "0x123...",
  "domain": "example.com"
}

IMPORTANT: Recovery generates a NEW token. Old tokens are invalidated.

Rate limit: 5 requests per 5 minutes per IP.


Workflow Examples

Check and Buy Domain

User: "Buy coolstartup.com for me"

1. GET /api/lookup/coolstartup.com
   → available: true, price: $12.99

2. GET /api/purchase/coolstartup.com/quote
   → totalUsd: $14.99

3. POST /api/purchase/coolstartup.com?method=x402
   → 402 Payment Required
   → Pay USDC on Base
   → Retry with x-payment header
   → Success! Token: "clwd_abc123..."

4. "I've registered coolstartup.com! Save this token: clwd_abc123..."

Point Domain to Vercel

User: "Point mydomain.com to Vercel"

1. PUT /api/manage/mydomain.com/nameservers
   Authorization: Bearer clwd_abc123...
   {"nameservers": ["ns1.vercel-dns.com", "ns2.vercel-dns.com"]}

2. "Done! mydomain.com now uses Vercel's nameservers. Add the domain in your Vercel dashboard."

Set Up Basic DNS

User: "Point example.com to my server at 1.2.3.4"

1. POST /api/manage/example.com/dns
   Authorization: Bearer clwd_token...
   {"host": "@", "type": "A", "answer": "1.2.3.4", "ttl": 300}

2. POST /api/manage/example.com/dns
   {"host": "www", "type": "CNAME", "answer": "example.com", "ttl": 300}

3. "Done! example.com and www.example.com now point to 1.2.3.4"

Add Email Records

User: "Set up Google Workspace email for mydomain.com"

1. POST /api/manage/mydomain.com/dns
   {"host": "@", "type": "MX", "answer": "aspmx.l.google.com", "ttl": 300, "priority": 1}

2. POST /api/manage/mydomain.com/dns
   {"host": "@", "type": "MX", "answer": "alt1.aspmx.l.google.com", "ttl": 300, "priority": 5}

3. POST /api/manage/mydomain.com/dns
   {"host": "@", "type": "TXT", "answer": "v=spf1 include:_spf.google.com ~all", "ttl": 300}

4. "Email records configured for Google Workspace!"

Error Handling

All errors return JSON:

{
  "error": "Description of what went wrong",
  "details": "Additional context if available"
}
StatusMeaning
400Bad request (invalid input)
401Unauthorized (missing/invalid token)
402Payment required (x402 flow)
404Domain not found
500Server error

Key Points

  • No signup required for lookups and purchases
  • Two payment methods: x402 (USDC on Base) for agents, Stripe for humans
  • Save your management token - it's the only way to manage your domain
  • Bearer auth for management - include Authorization: Bearer clwd_... header
  • JSON responses - use ?format=json for lookups

Source

ClawDaddy: https://clawdaddy.app Documentation: https://clawdaddy.app/llms.txt

README.md

ClawDaddy Skill for ClawhHub

A skill for AI agents to check, purchase, and manage domains using ClawDaddy - the world's #1 AI-friendly domain registrar.

What It Does

  • Check availability - GET /api/lookup/{domain}
  • Purchase domains - x402 (USDC on Base) or Stripe (cards)
  • Configure DNS - A, AAAA, CNAME, MX, TXT, NS, SRV records
  • Update nameservers - Point to Cloudflare, Vercel, AWS, etc.
  • Manage settings - Lock/unlock, auto-renew, transfer out

Publishing to ClawhHub

# Install CLI
npm install -g clawdbot@latest

# Login via GitHub
clawhub login

# Publish (from this directory)
clawhub publish . \
  --slug clawdaddy \
  --name "ClawDaddy" \
  --version 1.0.0 \
  --tags latest

Installing the Skill

clawhub install clawdaddy

API Endpoints

Lookups (No Auth)

EndpointPurpose
/api/lookup/{domain}Check availability (JSON)
/api/lookup/{domain}?format=txtCheck availability (TXT)
/api/purchase/{domain}/quoteGet purchase quote
/api/purchase/{domain}?method=x402Buy with USDC
/api/purchase/{domain}?method=stripeBuy with card

Management (Bearer Token Required)

EndpointPurpose
/api/manage/{domain}Domain overview
/api/manage/{domain}/dnsDNS records (CRUD)
/api/manage/{domain}/nameserversUpdate nameservers
/api/manage/{domain}/settingsDomain settings
/api/manage/{domain}/transferTransfer out
/api/recoverToken recovery

Why ClawDaddy?

Traditional registrars (GoDaddy, Namecheap) block AI agents with CAPTCHAs, WAFs, and anti-bot measures. ClawDaddy provides:

  • No CAPTCHAs - Just HTTP requests
  • No signup - Lookups work immediately
  • Proper API responses - JSON with correct Content-Type
  • AI-native payments - x402 protocol (USDC on Base)
  • Bearer token auth - Simple management tokens
  • Real-time data - From Name.com reseller API

Base URL: https://clawdaddy.app

Complete Workflow

1. Check availability
   GET /api/lookup/coolstartup.com

2. Get quote
   GET /api/purchase/coolstartup.com/quote

3. Purchase (x402)
   POST /api/purchase/coolstartup.com?method=x402
   → Pay USDC, save managementToken

4. Configure DNS
   POST /api/manage/coolstartup.com/dns
   Authorization: Bearer clwd_token...
   {"host": "@", "type": "A", "answer": "1.2.3.4"}

5. Or point to Cloudflare
   PUT /api/manage/coolstartup.com/nameservers
   {"nameservers": ["ns1.cloudflare.com", "ns2.cloudflare.com"]}

License

MIT

Permissions & Security

Security level L1: Low-risk skills with minimal permissions. Review inputs and outputs before running in production.

Requirements

  • OpenClaw CLI installed and configured.
  • Language: Markdown
  • License: MIT
  • Topics:

Configuration

**Point to a server (A record):** ```json {"host": "@", "type": "A", "answer": "123.45.67.89", "ttl": 300} ``` **Add www subdomain (CNAME):** ```json {"host": "www", "type": "CNAME", "answer": "example.com", "ttl": 300} ``` **Add email (MX record):** ```json {"host": "@", "type": "MX", "answer": "mail.example.com", "ttl": 300, "priority": 10} ``` **Verify domain (TXT record):** ```json {"host": "@", "type": "TXT", "answer": "google-site-verification=abc123", "ttl": 300} ```

FAQ

How do I install clawdaddy?

Run openclaw add @gregm711/agentdomainservice in your terminal. This installs clawdaddy into your OpenClaw Skills catalog.

Does this skill run locally or in the cloud?

OpenClaw Skills execute locally by default. Review the SKILL.md and permissions before running any skill.

Where can I verify the source code?

The source repository is available at https://github.com/openclaw/skills/tree/main/skills/gregm711/agentdomainservice. Review commits and README documentation before installing.