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

"seo-v2": { SEO Optimizer v2 $0.0997 On-page SEO + AEO audit with paste-ready fixes: 0-100 score across technical, content, metadata, structured data and AI-answer readiness, ~25 checks with severity, and generated title/meta, canonical, Open Graph/Twitter and a JSON-LD skeleton. Scores reflect technical checks only; no ranking or citation is guaranteed. Not charged if the site blocks us or is unreachable (422, charged:false).
"method": "POST", "content_type": "application/json",
"price_usd": 0.0997, // 99700 atomic USDC (6 decimals)
"network": "eip155:8453", // Base mainnet
"asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", // USDC
"payTo": "0xc22f9CAEBAc37fE72D5142f35f21f6696Ea9Ef69",
"docs": "/docs/seo-v2",
"you_provide": { // JSON body fields
// no fields: send {}
},
"request_body": // live, from your inputs
{
  "url": "https://www.python.org/",
  "keywords": [
    "python"
  ]
}
"you_get": { // HTTP 200 application/json after payment
"output_schema":
{
  "type": "object",
  "properties": {
    "skill": {
      "type": "string"
    },
    "version": {
      "type": "string"
    },
    "url": {
      "type": "string"
    },
    "final_url": {
      "type": "string"
    },
    "score": {
      "type": "number"
    },
    "grade": {
      "type": "string"
    },
    "subscores": {
      "type": "object",
      "properties": {
        "technical": {
          "type": "integer"
        },
        "content": {
          "type": "integer"
        },
        "metadata": {
          "type": "integer"
        },
        "structured_data": {
          "type": "integer"
        },
        "aeo": {
          "type": "integer"
        }
      }
    },
    "checks": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "category": {
            "type": "string"
          },
          "pass": {
            "type": "boolean"
          },
          "severity": {
            "type": "string"
          },
          "points": {
            "type": "number"
          },
          "max": {
            "type": "integer"
          },
          "evidence": {
            "type": "string"
          },
          "fix": {
            "type": "object"
          }
        }
      }
    },
    "top_fixes": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "check_id": {
            "type": "string"
          },
          "impact_points": {
            "type": "number"
          },
          "summary": {
            "type": "string"
          }
        }
      }
    },
    "generated": {
      "type": "object",
      "properties": {
        "meta_tags_html": {
          "type": "string"
        }
      }
    },
    "reason": {
      "type": "null"
    },
    "disclaimer": {
      "type": "string"
    }
  },
  "required": [
    "skill"
  ]
}
"example":
{
  "skill": "seo_v2",
  "version": "2.0",
  "url": "https://www.python.org/",
  "final_url": "https://www.python.org/",
  "score": 77.7,
  "grade": "C",
  "subscores": {
    "technical": 80,
    "content": 90,
    "metadata": 62,
    "structured_data": 83,
    "aeo": 72
  },
  "checks": [
    {
      "id": "canonical",
      "category": "technical",
      "pass": false,
      "severity": "medium",
      "points": 0.0,
      "max": 5,
      "evidence": "no rel=canonical",
      "fix": {
        "summary": "Use exactly one absolute, self-referencing canonical on the same host.",
        "snippet": "<link rel=\"canonical\" href=\"https://www.python.org/\">",
        "snippet_lang": "html",
        "effort": "S"
      }
    },
    {
      "id": "h1",
      "category": "content",
      "pass": false,
      "severity": "medium",
      "points": 3.0,
      "max": 5,
      "evidence": "5 H1 elements",
      "fix": {
        "summary": "Use exactly one H1 that states the page topic in the same words as the title.",
        "snippet": "<h1>Functions Defined</h1>",
        "snippet_lang": "html",
        "effort": "S"
      }
    },
    {
      "id": "title",
      "category": "metadata",
      "pass": false,
      "severity": "medium",
      "points": 3.0,
      "max": 6,
      "evidence": "title 21 chars: 'Welcome to Python.org'",
      "fix": {
        "summary": "Use one <title> of 30-60 characters that names the page topic.",
        "snippet": "<title>Welcome to</title>",
        "snippet_lang": "html",
        "effort": "S"
      }
    }
  ],
  "top_fixes": [
    {
      "check_id": "canonical",
      "impact_points": 5.0,
      "summary": "Use exactly one absolute, self-referencing canonical on the same host."
    },
    {
      "check_id": "title",
      "impact_points": 3.0,
      "summary": "Use one <title> of 30-60 characters that names the page topic."
    },
    {
      "check_id": "meta_description",
      "impact_points": 2.5,
      "summary": "Write a 70-160 character meta description from the page's own text."
    }
  ],
  "generated": {
    "meta_tags_html": "<title>Welcome to</title>\n<meta name=\"description\" content=\"Notice: This page displays a fallback because interactive scripts did not run.\">\n<link rel=\"canonical\" href=\"https://www.python.org/\">"
  },
  "reason": null,
  "disclaimer": "Scores reflect technical checks only; no ranking or citation is guaranteed."
}
},
"flow": [
  1. POST https://grokzilla.shop/api/skills/seo-v2 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: "99700", payTo}]} (same JSON in the body)
  3. your x402 client checks amount ≤ $0.0997 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/seo-v2 on this host and decodes the 402. Never pays.
}