grokzilla.shop / try

{ try it }

"skills": 36, // pay-per-call, no account, no API key
"protocol": "x402 v2 · scheme exact",
"network": "eip155:8453", // Base mainnet
"this_page_pays": false // "Send unpaid request" only shows the 402 challenge. Paying stays with your own wallet or agent.
optional · prompt only The Base address your agent pays from. It is only written into the copyable agent prompt so your agent knows which wallet to use. It is never sent to the server and nothing is signed here.

← all 36 skills

"dns-lookup": { DNS Lookup $0.002 DNS-over-HTTPS lookup (A/AAAA/MX/TXT/NS/CNAME/CAA) via Google Public DNS with Cloudflare fallback. Rejects IP literals and private names.
"method": "POST", "content_type": "application/json",
"price_usd": 0.002, // 2000 atomic USDC (6 decimals)
"network": "eip155:8453", // Base mainnet
"asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", // USDC
"payTo": "0xc22f9CAEBAc37fE72D5142f35f21f6696Ea9Ef69",
"docs": "/docs/dns-lookup",
"you_provide": { // JSON body fields
required string Value for `name`. Required · string min length 1 · max length 253 Example: "example.com"
optional array of string Value for `types`. Optional · array of string default ["A", "AAAA", "MX", "TXT"]
optional string Value for `request_id`. Optional · string min length 1 · max length 64
},
"request_body": // live, from your inputs
{
  "name": "example.com"
}
"you_get": { // HTTP 200 application/json after payment
"output_schema":
{
  "type": "object",
  "properties": {
    "ok": {
      "type": "boolean"
    },
    "skill": {
      "type": "string"
    },
    "service": {
      "type": "string"
    },
    "version": {
      "type": "string"
    },
    "summary": {
      "type": "string"
    },
    "data": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string"
        },
        "records": {
          "type": "object",
          "properties": {
            "A": {
              "type": "array"
            },
            "AAAA": {
              "type": "array"
            },
            "MX": {
              "type": "array"
            },
            "TXT": {
              "type": "array"
            }
          }
        },
        "dnssec": {
          "type": "boolean"
        },
        "resolver": {
          "type": "string"
        },
        "ttl_min": {
          "type": "integer"
        },
        "as_of": {
          "type": "string"
        }
      }
    },
    "confidence": {
      "type": "number"
    },
    "sources": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "url": {
            "type": "string"
          },
          "fetched_at": {
            "type": "string"
          }
        }
      }
    },
    "generated_at": {
      "type": "string"
    },
    "data_as_of": {
      "type": "string"
    },
    "charged": {
      "type": "boolean"
    },
    "warnings": {
      "type": "array"
    },
    "next": {
      "type": "array",
      "items": {
        "type": "string"
      }
    }
  },
  "required": [
    "ok",
    "skill"
  ]
}
"example":
{
  "ok": true,
  "skill": "dns_lookup",
  "service": "dns_lookup",
  "version": "1.0.0",
  "summary": "example.com via dns.google (A:1, AAAA:1, MX:1, TXT:2)",
  "data": {
    "name": "example.com",
    "records": {
      "A": [
        "93.184.215.14"
      ],
      "AAAA": [
        "2606:2800:21f:cb07:6820:80da:af6b:8b2c"
      ],
      "MX": [
        {
          "priority": 0,
          "host": ""
        }
      ],
      "TXT": [
        "v=spf1 -all"
      ]
    },
    "dnssec": true,
    "resolver": "dns.google",
    "ttl_min": 300,
    "as_of": "2026-10-24T14:00:00Z"
  },
  "confidence": 0.95,
  "sources": [
    {
      "name": "dns.google DoH",
      "url": "https://dns.google/resolve",
      "fetched_at": "2026-10-24T14:00:00Z"
    }
  ],
  "generated_at": "2026-10-24T14:00:00Z",
  "data_as_of": "2026-10-24T14:00:00Z",
  "charged": true,
  "warnings": [],
  "next": [
    "email_check",
    "ip_intel"
  ]
}
},
"flow": [
  1. POST https://grokzilla.shop/api/skills/dns-lookup with the JSON body, no payment header
  2. ← 402 Payment Required + PAYMENT-REQUIRED header: base64 JSON {x402Version: 2, accepts: [{scheme: "exact", network: "eip155:8453", asset: USDC, amount: "2000", payTo}]} (same JSON in the body)
  3. your x402 client checks amount ≤ $0.002 and signs a USDC transfer authorization to payTo with your wallet
  4. retry the same POST with PAYMENT-SIGNATURE: <base64> (x402 v2) or X-PAYMENT (v1 clients)
  5. ← 200 OK with the result JSON + PAYMENT-RESPONSE header (base64 settlement receipt, tx hash on Base)
],
"copy": { // fills in from your inputs as you type
"agent_prompt"

        
"curl" // unpaid: shows the 402

        
"agentcash" // pays from your AgentCash wallet

        
},
"try": // POSTs unpaid to /api/skills/dns-lookup on this host and decodes the 402. Never pays.
}