grokzilla.shop / try

{ try it }

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

"token-risk": { Token Risk (Base) $0.005 Heuristic risk checks for a Base ERC-20: contract code, metadata, proxy, owner/renounced, mint/blacklist/pause/fee selectors, deepest Uniswap/Aerodrome pool, and simulated sell/buy transfers with measured tax. Read-only public RPC. Not financial advice.
"method": "POST", "content_type": "application/json",
"price_usd": 0.005, // 5000 atomic USDC (6 decimals)
"network": "eip155:8453", // Base mainnet
"asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", // USDC
"payTo": "0xc22f9CAEBAc37fE72D5142f35f21f6696Ea9Ef69",
"docs": "/docs/token-risk",
"you_provide": { // JSON body fields
required string ERC-20 contract address on Base mainnet (0x + 40 hex). Required · string Example: "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913"
optional string Only "base" (Base mainnet) for now. Optional · string one of "base" · default "base" Example: "base"
},
"request_body": // live, from your inputs
{
  "token": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
  "chain": "base"
}
"you_get": { // HTTP 200 application/json after payment
"output_schema":
{
  "type": "object",
  "properties": {
    "skill": {
      "type": "string"
    },
    "ok": {
      "type": "boolean"
    },
    "token": {
      "type": "string"
    },
    "chain": {
      "type": "string"
    },
    "chain_id": {
      "type": "integer"
    },
    "block": {
      "type": "integer"
    },
    "symbol": {
      "type": "string"
    },
    "risk_level": {
      "type": "string"
    },
    "reasons": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "checks": {
      "type": "object",
      "properties": {
        "contract_code": {
          "type": "object",
          "properties": {
            "result": {
              "type": "string"
            },
            "evidence": {
              "type": "object"
            }
          }
        },
        "erc20_metadata": {
          "type": "object",
          "properties": {
            "result": {
              "type": "string"
            },
            "evidence": {
              "type": "object"
            }
          }
        },
        "proxy": {
          "type": "object",
          "properties": {
            "result": {
              "type": "string"
            },
            "evidence": {
              "type": "object"
            }
          }
        },
        "ownership": {
          "type": "object",
          "properties": {
            "result": {
              "type": "string"
            },
            "evidence": {
              "type": "object"
            }
          }
        },
        "privileged_functions": {
          "type": "object",
          "properties": {
            "result": {
              "type": "string"
            },
            "evidence": {
              "type": "object"
            }
          }
        },
        "liquidity_pool": {
          "type": "object",
          "properties": {
            "result": {
              "type": "string"
            },
            "evidence": {
              "type": "object"
            }
          }
        },
        "sell_simulation": {
          "type": "object",
          "properties": {
            "result": {
              "type": "string"
            },
            "evidence": {
              "type": "object"
            }
          }
        },
        "buy_simulation": {
          "type": "object",
          "properties": {
            "result": {
              "type": "string"
            },
            "evidence": {
              "type": "object"
            }
          }
        },
        "transfer_tax": {
          "type": "object",
          "properties": {
            "result": {
              "type": "string"
            },
            "evidence": {
              "type": "object"
            }
          }
        }
      }
    },
    "rpc": {
      "type": "string"
    },
    "disclaimer": {
      "type": "string"
    }
  },
  "required": [
    "ok",
    "skill"
  ]
}
"example":
{
  "skill": "token_risk",
  "ok": true,
  "token": "0x833589fcd6edb6e08f4c7c32d4f71b54bda02913",
  "chain": "base",
  "chain_id": 8453,
  "block": 52494540,
  "symbol": "USDC",
  "risk_level": "medium",
  "reasons": [
    "proxy: warn",
    "ownership: warn",
    "privileged_functions: warn"
  ],
  "checks": {
    "contract_code": {
      "result": "pass",
      "evidence": {
        "bytecode_bytes": 1852,
        "block": 52494540
      }
    },
    "erc20_metadata": {
      "result": "pass",
      "evidence": {
        "name": "USD Coin",
        "symbol": "USDC",
        "decimals": 6,
        "total_supply": "4419304031200909",
        "missing": []
      }
    },
    "proxy": {
      "result": "warn",
      "evidence": {
        "standard": "zeppelinos (legacy unstructured storage)",
        "implementation": "0x2ce6311ddae708829bc0784c967b7d77d19fd779",
        "admin": "0x4fc7850364958d97b4d3f5a08f79db2493f8ca44",
        "note": "upgradeable: whoever controls the proxy can replace the token's code"
      }
    },
    "ownership": {
      "result": "warn",
      "evidence": {
        "function": "owner()",
        "owner": "0x3abd6f64a422225e61e435bae41db12096106df7",
        "renounced": false
      }
    },
    "privileged_functions": {
      "result": "warn",
      "evidence": {
        "found": {
          "mint": [
            "configureMinter(address,uint256)",
            "mint(address,uint256)"
          ],
          "blacklist": [
            "blacklist(address)",
            "isBlacklisted(address)"
          ],
          "pause": [
            "pause()",
            "unpause()"
          ]
        },
        "scanned": [
          "token",
          "implementation"
        ],
        "note": "selector presence only; who may call them is not checked"
      }
    },
    "liquidity_pool": {
      "result": "pass",
      "evidence": {
        "dex": "uniswap_v3",
        "variant": "fee 3000",
        "pool": "0x6c561b446416e1a00e8e93e221854d6ea4171372",
        "quote_token": "WETH",
        "token_balance": "76072526114911",
        "quote_balance": "29060996929756341666149",
        "thin_liquidity": false,
        "pools_found": 7
      }
    },
    "sell_simulation": {
      "result": "pass",
      "evidence": {
        "pool": "0x6c561b446416e1a00e8e93e221854d6ea4171372",
        "amount": "76072526114",
        "balance_slot": "solidity:9",
        "method": "eth_simulateV1 transfer leg",
        "received": "76072526114"
      }
    },
    "buy_simulation": {
      "result": "pass",
      "evidence": {
        "pool": "0x6c561b446416e1a00e8e93e221854d6ea4171372",
        "amount": "76072526114",
        "balance_slot": "solidity:9",
        "method": "eth_simulateV1 transfer leg",
        "received": "76072526114"
      }
    },
    "transfer_tax": {
      "result": "pass",
      "evidence": {
        "sell_tax_pct": 0.0,
        "buy_tax_pct": 0.0,
        "note": "token-side transfer tax only; AMM/pool fees are not included"
      }
    }
  },
  "rpc": "mainnet.base.org",
  "disclaimer": "Informational only, not financial advice. These are automated heuristics from public on-chain reads and simulations at a single block. They can miss risks (owner actions after this block, time-, amount- or wallet-specific traps, off-chain controls, other pools) and can flag legitimate tokens (for example regulated stablecoins with blacklist and pause functions). Do your own research."
}
},
"flow": [
  1. POST https://grokzilla.shop/api/skills/token-risk 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: "5000", payTo}]} (same JSON in the body)
  3. your x402 client checks amount ≤ $0.005 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/token-risk on this host and decodes the 402. Never pays.
}