grokzilla.shop / try

{ try it }

"skills": 33, // 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 33 skills

"ip-intel": { IP & CIDR Intel $0.0033 One public IP or CIDR in: normalized network, size, membership checks, plus holder, abuse contact and origin ASN from RIR RDAP and RIPEstat, and country from DB-IP Lite (CC BY 4.0, attributed). Private ranges refused before payment. Not charged if registries fail.
"method": "POST", "content_type": "application/json",
"price_usd": 0.0033, // 3300 atomic USDC (6 decimals)
"network": "eip155:8453", // Base mainnet
"asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", // USDC
"payTo": "0xc22f9CAEBAc37fE72D5142f35f21f6696Ea9Ef69",
"docs": "/docs/ip-intel",
"you_provide": { // JSON body fields
required string A public IPv4/IPv6 address or CIDR, e.g. 8.8.8.8 or 1.1.1.0/24. Private ranges are refused. Required · string min length 2 · max length 64 Example: "8.8.8.8"
optional array of string Optional JSON array of IPs to test for membership, e.g. ["1.1.1.1"]. Optional · array of string
optional string Value for `request_id`. Optional · string min length 1 · max length 64
},
"request_body": // live, from your inputs
{
  "query": "8.8.8.8"
}
"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": {
        "network": {
          "type": "object",
          "properties": {
            "query": {
              "type": "string"
            },
            "version": {
              "type": "integer"
            },
            "network": {
              "type": "string"
            },
            "prefix_length": {
              "type": "integer"
            },
            "num_addresses": {
              "type": "string"
            },
            "first": {
              "type": "string"
            },
            "last": {
              "type": "string"
            },
            "is_single_address": {
              "type": "boolean"
            },
            "is_global": {
              "type": "boolean"
            },
            "reverse_pointer": {
              "type": "string"
            }
          }
        },
        "registry": {
          "type": "object",
          "properties": {
            "handle": {
              "type": "string"
            },
            "name": {
              "type": "string"
            },
            "holder": {
              "type": "string"
            },
            "type": {
              "type": "string"
            },
            "start_address": {
              "type": "string"
            },
            "end_address": {
              "type": "string"
            },
            "cidrs": {
              "type": "array"
            },
            "registry_country": {
              "type": "null"
            },
            "abuse_email": {
              "type": "string"
            },
            "registered": {
              "type": "string"
            },
            "last_changed": {
              "type": "string"
            },
            "origin_asns_registered": {
              "type": "null"
            }
          }
        },
        "routing": {
          "type": "object",
          "properties": {
            "asns": {
              "type": "array"
            },
            "routed_prefix": {
              "type": "string"
            },
            "as_holder": {
              "type": "string"
            }
          }
        },
        "geo": {
          "type": "object",
          "properties": {
            "country": {
              "type": "string"
            },
            "countries_at_edges": {
              "type": "array"
            },
            "dataset": {
              "type": "string"
            },
            "attribution": {
              "type": "object"
            }
          }
        }
      }
    },
    "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",
      "items": {
        "type": "string"
      }
    },
    "next": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "attribution": {
      "type": "object",
      "properties": {
        "text": {
          "type": "string"
        },
        "url": {
          "type": "string"
        },
        "license": {
          "type": "string"
        }
      }
    }
  },
  "required": [
    "ok",
    "skill"
  ]
}
"example":
{
  "ok": true,
  "skill": "ip_intel",
  "service": "ip_intel",
  "version": "1.0.0",
  "summary": "8.8.8.8/32: AS15169 GOOGLE - Google LLC, Google LLC, US",
  "data": {
    "network": {
      "query": "8.8.8.8",
      "version": 4,
      "network": "8.8.8.8/32",
      "prefix_length": 32,
      "num_addresses": "1",
      "first": "8.8.8.8",
      "last": "8.8.8.8",
      "is_single_address": true,
      "is_global": true,
      "reverse_pointer": "8.8.8.8.in-addr.arpa"
    },
    "registry": {
      "handle": "NET-8-8-8-0-2",
      "name": "GOGL",
      "holder": "Google LLC",
      "type": "DIRECT ALLOCATION",
      "start_address": "8.8.8.0",
      "end_address": "8.8.8.255",
      "cidrs": [
        "8.8.8.0/24"
      ],
      "registry_country": null,
      "abuse_email": "network-abuse@google.com",
      "registered": "2023-12-28T17:24:33-05:00",
      "last_changed": "2023-12-28T17:24:56-05:00",
      "origin_asns_registered": null
    },
    "routing": {
      "asns": [
        15169
      ],
      "routed_prefix": "8.8.8.0/24",
      "as_holder": "GOOGLE - Google LLC"
    },
    "geo": {
      "country": "US",
      "countries_at_edges": [
        "US"
      ],
      "dataset": "DB-IP IP-to-Country Lite 2026-10",
      "attribution": {
        "text": "IP Geolocation by DB-IP",
        "url": "https://db-ip.com",
        "license": "CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/)"
      }
    }
  },
  "confidence": 0.9,
  "sources": [
    {
      "name": "RIR RDAP (via rdap.org bootstrap)",
      "url": "https://rdap.arin.net/registry/ip/8.8.8.8",
      "fetched_at": "2026-10-17T11:12:56Z"
    },
    {
      "name": "RIPEstat network-info / as-overview",
      "url": "https://stat.ripe.net/data/network-info/data.json?resource=8.8.8.8",
      "fetched_at": "2026-10-17T11:12:56Z"
    },
    {
      "name": "IP Geolocation by DB-IP",
      "url": "https://db-ip.com",
      "fetched_at": "2026-10-17T11:12:56Z",
      "dataset_month": "2026-10",
      "license": "CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/)"
    }
  ],
  "generated_at": "2026-10-17T11:12:56Z",
  "data_as_of": "2026-10-17T11:12:56Z",
  "charged": true,
  "warnings": [
    "country is DB-IP Lite geolocation (country-level, monthly); it can differ from the registry country"
  ],
  "next": [
    "email_check"
  ],
  "attribution": {
    "text": "IP Geolocation by DB-IP",
    "url": "https://db-ip.com",
    "license": "CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/)"
  }
}
},
"flow": [
  1. POST https://grokzilla.shop/api/skills/ip-intel 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: "3300", payTo}]} (same JSON in the body)
  3. your x402 client checks amount ≤ $0.0033 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/ip-intel on this host and decodes the 402. Never pays.
}