Skip to content
Back to skills

Agentdomainservice

ASecurity

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.

  • 10 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added May 30, 2026
businessgoawsapidocumentation

Works with

  • api

Security analysis

A100/100

Pro scans all 3 files and shows the line behind each finding

Scanned May 30, 2026

npx -y skills add Demerzels-lab/elsamultiskillagent --skill agentdomainservice --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Agentdomainservice?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Agentdomainservice
[![Security: A β€” Skills Directory](https://www.skillsdirectory.com/api/skills/demerzels-lab-agentdomainservice/badge)](https://www.skillsdirectory.com/skills/demerzels-lab-agentdomainservice)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
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

| Task | Endpoint | Auth |
|------|----------|------|
| Check availability | `GET /api/lookup/{domain}` | None |
| Get purchase quote | `GET /api/purchase/{domain}/quote` | None |
| Purchase domain | `POST /api/purchase/{domain}?method=x402\|stripe` | None |
| Manage domain | `GET /api/manage/{domain}` | Bearer token |
| Configure DNS | `POST /api/manage/{domain}/dns` | Bearer token |
| Update nameservers | `PUT /api/manage/{domain}/nameservers` | Bearer token |
| Recover token | `POST /api/recover` | None |

---

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

```json
{
  "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

| Status | `available` | Meaning |
|--------|-------------|---------|
| `available` | `true` | Can be registered |
| `registered` | `false` | Already taken |
| `unknown` | `false` | Error/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
```

```json
{
  "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:

```json
{
  "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:

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

### Success Response (Both Methods)

```json
{
  "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...
```

```json
{
  "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):**
```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}
```

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

| Provider | Nameservers |
|----------|-------------|
| Cloudflare | `ns1.cloudflare.com`, `ns2.cloudflare.com` |
| Vercel | `ns1.vercel-dns.com`, `ns2.vercel-dns.com` |
| AWS Route53 | Check your hosted zone |
| Google Cloud | `ns-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:
```json
{
  "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:
```json
{
  "error": "Description of what went wrong",
  "details": "Additional context if available"
}
```

| Status | Meaning |
|--------|---------|
| `400` | Bad request (invalid input) |
| `401` | Unauthorized (missing/invalid token) |
| `402` | Payment required (x402 flow) |
| `404` | Domain not found |
| `500` | Server 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

Files in this skill

  • README.md2.6 KB
  • SKILL.md9.6 KB
  • _meta.json674 B

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.