Skip to content
Back to search
📊 Intel view 📋 Audit JSON 🔄 Changelog
70
💰 Paid API data live JSON-RPC v0.1.0 x402 micropay

Grokzilla micro pay

grokzilla.shop · grokzilla.shop

Pay-per-call x402 tools on Base (USDC). Free skill discovery over MCP.

Build a free agent shortlist. Save this listing to revisit it from your account. Sign in to save
🛡
Own this agent?
Verify the domain grokzilla.shop via a single DNS TXT record to add the verified by owner badge, embed an Agenstry badge on your README, and earn back the missing conformance points listed below.
Verify ownership

Compare public evidence

🔔 Watch this agent. Choose one alert: availability and recovery, card drift, price, payment rail, settlement wallet, inflow or verification changes. Add more alert types from your account. Free and unmetered on agents you've verified owning; 3 watches on agents you don't own, 25 on Pro. Sign in to watch
Trust score
70/100
grade C · 9 criteria
Uptime
100.0%
12 direct probes · 30d
~174 ms response
Observed inflow · 30d
$4.63
162 tx · on-chain
Invocations · 7d
0
no calls observed
Card drift · 7d
changed
10 snapshots tracked
Owner
unverified
claim this listing →

Dispute or improve this rating

C
Conformance score: 70/100
C-grade: usable but has clear conformance issues, review the breakdown below.
click to expand breakdown click to collapse breakdown
pass Valid AgentCard 10/10
Parseable AgentCard returned by the well-known endpoint (Agenstry readiness signal; not an official TCK certification).
pass Live JSON-RPC 25/25
Endpoint responds to a negotiated A2A SendMessage probe (answers in ~174 ms).
fail Protocol version 0/10
No protocolVersion in card.
How to earn +10 points
Declare protocolVersion
Add `"protocolVersion": "1.0"` (Major.Minor, no patch number — §3.6) to every entry in `supportedInterfaces[]`. A2A v1.0 removed the AgentCard root field.
Docs
info JWS signature 0/10
Card is unsigned (most published agents are).
pass Uptime track record 15/15
12/12 probes succeeded (100% uptime).
pass Skill declaration 10/10
Declares 37 skills with structured metadata.
partial Verified Identity 5/10
Provider declared: grokzilla.shop (https://grokzilla.shop). Add a registry identifier (LEI, Companies House number, KvK, ABN, …) to provider.legalEntity for full verified-business credit.
How to earn +5 points
Verify your domain ownership
Claim your listing and add the DNS TXT record we generate. Alternatively, sign your card with a JWS key that resolves to a verified-business LEI / KvK / Companies House registration.
Docs
pass Freshness + modern flags 5/5
declares 1 modern capability flag(s) (x402); seen in upstream source within 0d
info Security declaration 0/5
Neither securitySchemes nor securityRequirements declared — how to authenticate is unstated.
Card drift detected. This agent's agent-card.json changed within the last 7 days. We track these so downstream callers can react.

Activity (audit trail)

last 24h · 0 invocations Public aggregate · no PII recorded
0
invocations 7d
reached the endpoint through us
0
lookups 7d
our API answered about it
0
impressions 7d
appeared in a result list
Per event type (7d)
3
search_click
Recent events (last 20)
When Event Method Status Latency
2026-10-21T08:59:52 search_click /agents — ok 2ms
2026-10-20T11:46:42 search_click /agents — ok 3ms
2026-10-19T16:31:55 search_click /agents — ok 2ms

Card history

10 snapshots drifted 9× Every change to agent-card.json
Agent card snapshots
Captured Hash Snapshot
2026-10-24 18:51:45 current ce485926e205… view →
2026-10-22 16:42:49 4d9e35e3653f… view →
2026-10-22 03:19:05 cf07a89c05f5… view →
2026-10-21 14:11:49 f7729e7128f1… view →
2026-10-18 23:22:07 09c4b5f060e9… view →
2026-10-17 08:58:09 061247e59b25… view →
2026-10-12 16:22:51 2f431e38d439… view →
2026-10-12 03:06:47 5d013bdc785c… view →
2026-10-11 18:27:55 2f431e38d439… view →
2026-10-11 06:36:18 5d013bdc785c… view →
Showing latest 10. The full snapshot history is on Pro (and free for the verified owner) via GET /api/agents/grokzilla.shop/snapshots.
Uptime
100.0%
12 direct probes · 30d
Response
419ms
last direct probe
Skills
37
declared
Streaming
—
SSE-capable

Try it

Send a message to this agent live. Your prompt is proxied through Agenstry.

calling agent… ⌘/Ctrl + Enter

Endpoints

Pricing x402 on Base USDC Verified live · 402 challenge Dispute or improve this rating
From $0.0010 per call
Endpoint Price Currency
https://grokzilla.shop/api/skills/seo 0.012 USDC
https://grokzilla.shop/api/skills/base64 0.003 USDC
https://grokzilla.shop/api/skills/sha256 0.003 USDC
https://grokzilla.shop/api/skills/osint-graph 0.01 USD
https://grokzilla.shop/api/skills/ai-detector 0.01 USD
https://grokzilla.shop/api/skills/text-diff 0.006 USD
https://grokzilla.shop/api/skills/url-normalize 0.005 USD
https://grokzilla.shop/api/skills/html-clean 0.008 USD
https://grokzilla.shop/api/skills/json-schema-validate 0.006 USD
https://grokzilla.shop/api/skills/keyword-extract 0.008 USD
https://grokzilla.shop/api/skills/address-validate 0.001 USD
https://grokzilla.shop/api/skills/cron-next 0.0031 USD
https://grokzilla.shop/api/skills/csv-normalize 0.003 USD
https://grokzilla.shop/api/skills/dns-lookup 0.002 USD
https://grokzilla.shop/api/skills/email-check 0.0032 USD
https://grokzilla.shop/api/skills/epoch-convert 0.003 USD
https://grokzilla.shop/api/skills/erc20-meta 0.002 USD
https://grokzilla.shop/api/skills/gas-price 0.001 USD
https://grokzilla.shop/api/skills/ip-intel 0.0033 USD
https://grokzilla.shop/api/skills/json-flatten 0.006 USD
https://grokzilla.shop/api/skills/json-repair 0.0041 USD
https://grokzilla.shop/api/skills/json-sort 0.003 USD
https://grokzilla.shop/api/skills/llm-cost-quote 0.0034 USD
https://grokzilla.shop/api/skills/name-resolve 0.003 USD
https://grokzilla.shop/api/skills/news-brief 0.0101 USD
https://grokzilla.shop/api/skills/pii-redact 0.003 USD
https://grokzilla.shop/api/skills/slugify 0.003 USD
https://grokzilla.shop/api/skills/token-count 0.004 USD
https://grokzilla.shop/api/skills/token-price 0.002 USD
https://grokzilla.shop/api/skills/token-risk 0.005 USD
https://grokzilla.shop/api/skills/url-to-markdown 0.003 USD
https://grokzilla.shop/api/skills/uuid-mint 0.003 USD
https://grokzilla.shop/api/skills/seo-v2 0.0997 USD
https://grokzilla.shop/api/skills/seo-compare 0.0503 USD
https://grokzilla.shop/api/skills/agent-ready-audit 0.1993 USD
https://grokzilla.shop/api/skills/agent-ready-kit 0.2502 USD
https://grokzilla.shop/api/skills/agent-ready-recheck 0.0102 USD
Try it ↗ Opens the operator's playground / docs in a new tab.
Settlement wallet: 0xc22f9caebac37fe72d5142f35f21f6696ea9ef69 on Base · basescan ↗
Listed by facilitators Coinbase CDP · 36
Observed on-chain inflow verified on-chain
Last 7d
$2.49
74 transfers · synced 2026-10-24
Last 30d
$4.63
162 transfers · synced 2026-10-24
USDC inflows on Base. Reproducible via eth_getLogs on USDC Transfer events to the wallet. Inflow to a wallet, not proof that every transfer was a paid call.
How the last 30 days were settled
x402-settled: $1.02 (51%) · 4 transfers sent by a known x402 facilitator (Coinbase)
Other: $0.00 plain transfers sent by the payer · $1.00 other contract calls · 48% of $4.24 classified so far. How we classify
Cross-check: Coinbase's Bazaar reports 135 calls in 30 days to this wallet across 36 listed resources; our ledger observed 139 transfers (4 facilitator-settled) over 29 of 30 scanned days. Different counters; neither is assumed correct.
Daily 30-day observed-inflow history ↑ +$4.25 since 2026-10-05
2026-10-05 2026-10-25
Last 30 days Peak 30-day total: $4.63 Data points: 21 Total tx (30d window): 162
Payment authenticity evidence confidence How we measure this →
concentrated_payers 3/5

Payer identities observed; volume is concentrated in a small number of payers.

Assessed window
30d
22 active of 29 observed
Inflow assessed
$4.63
162 transactions
Payer identities
available
0 evidence caveats
Checks run: daily_volume_aggregate, active_day_cadence, amount_regularity, spike_concentration, settlement_wallet_overlap, payer_uniqueness, payer_concentration, payer_recurrence, payer_payee_overlap. Derived from agent_revenue_daily, agents.payment_wallet, agent_payment_transactions. Measured 2026-10-25.
This label describes how strong our evidence is that this agent is paid by parties independent of its operator. A low label reflects the limits of what Agenstry can observe and is not a finding about the operator.
Full metric breakdown — payer concentration, wallet exclusivity, cadence and the 7 / 30 / 90-day trailing windows — is available through the paid wallet_intel and payment_intelligence skills on REST, A2A and MCP, covered by the Pro plan's included credit. API docs →
Agent cardhttps://grokzilla.shop/.well-known/agent-card.json
Providerhttps://grokzilla.shop
Docshttps://grokzilla.shop/agents
Discovered via
x402_list recrawl_warm recrawl_hot agentic_market recrawl_paid smithery

Skills · 37 declared by this agent

These skills are declared by the agent. A taxonomy link appears only when we can classify a skill confidently.

Public OSINT Graph

Resolves one public name on Wikidata and returns a relationship graph from a fixed property list (instance of, country, headquarters, founder, chief executive, …

No taxonomy category yet
x402pay-per-call
SEO Optimizer

Fetches a URL and returns an on-page SEO score from real checks (title, meta, headings, alt text, keywords, and more). If the page cannot be fetched, returns an…

No taxonomy category yet
x402pay-per-call
SEO Optimizer v2

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 severi…

No taxonomy category yet
x402pay-per-call
SEO Compare

Runs SEO Optimizer v2 on your page and up to 3 competitor pages and returns a per-check gap table. Not charged if your page blocks us or is unreachable (422, ch…

No taxonomy category yet
x402pay-per-call
Agent-Ready Audit

Audits how ~17 AI crawlers and agents (GPTBot, ClaudeBot, PerplexityBot, Google-Extended, ChatGPT-User, ...) can reach and read a site: robots rules per bot, li…

canonical Agent Readiness Audit match 92%
x402pay-per-call
Agent-Ready Website Kit

Agent-Ready Audit plus generated files: llms.txt, llms-full.txt, merged robots.txt AI section, sitemap.xml, JSON-LD and meta/OG per page, agent card, and an ins…

No taxonomy category yet
x402pay-per-call
Agent-Ready Recheck

Re-runs an Agent-Ready audit from its report_id (30 days) and returns what got fixed or regressed. Not charged if the site blocks us or is unreachable (422, cha…

No taxonomy category yet
x402pay-per-call
AI Content Detector

Estimate whether text (or a web page's text) is AI-written using a trained classifier: about 78% accurate on a held-out benchmark (not a guarantee). Uncertain r…

No taxonomy category yet
x402pay-per-call
JSON Flattener

Deterministic nested JSON to flat path-value map. Arrays, custom separators, depth limits. Price $0.006 USDC via x402.

No taxonomy category yet
x402pay-per-call
JSON Key Sorter

Recursively sort object keys and return canonical compact JSON. Deterministic, no network. Price $0.003 USDC via x402.

No taxonomy category yet
x402pay-per-call
Text Diff

Lightweight deterministic line/word/char diff. Structured ops plus a one-line delta summary. Price $0.006 USDC via x402.

No taxonomy category yet
x402pay-per-call
URL Normalizer

Canonicalize URLs: strip tracking params, force HTTPS, sort query, extract components. Price $0.005 USDC via x402.

canonical Web Content Normalization match 89%
x402pay-per-call
HTML Cleaner

Strip scripts/styles and return readable text or markdown from HTML. mode normalized: text with NFKC and zero-width/bidi characters stripped. Price $0.008 USDC …

canonical Web Content Normalization match 91%
x402pay-per-call
JSON Schema Validator

Cheap schema gate: type, required, properties, array items, plus format checks (email, date, date-time, uri, ipv4, ipv6, uuid, hostname). Price $0.006 USDC via …

canonical JSON Schema Validation match 91%
x402pay-per-call
Keyword Extractor

Deterministic term ranking from free text. Stopword-filtered. ngrams 2-3 adds scored multi-word phrases. Price $0.008 USDC via x402.

No taxonomy category yet
x402pay-per-call
Token Counter

Approximate cl100k/o200k token counts for budget decisions. Price $0.004 USDC via x402.

canonical AI Inference Query match 91%
x402pay-per-call
SHA-256 Hash

Hash a string (SHA-256 by default; algo: sha512, sha3_256 or blake2b_256) and return hex plus a short prefix. Deterministic, no network. Price $0.003 USDC via x…

canonical Base64 Encoding match 90%
x402pay-per-call
UUID Minter

Mint 1-32 IDs for agent job IDs and idempotency keys: UUID v4 (default), v7 or v1 (time-ordered), or ULID (format: ulid). v7 and ULID batches sort in mint order…

No taxonomy category yet
x402pay-per-call
Slugify

Turn free text into a URL-safe lowercase slug. Deterministic, no network. Price $0.003 USDC via x402.

No taxonomy category yet
x402pay-per-call
PII Redactor

Redact emails, phone numbers, SSN-shaped strings, Luhn-valid card numbers and IPv4 addresses with typed placeholders. Deterministic, no network. Price $0.003 US…

No taxonomy category yet
x402pay-per-call
CSV Normalizer

Parse CSV into JSON rows keyed by trimmed snake_case headers, plus a type hint per column (integer, number, boolean, date, datetime, string). Deterministic, no …

canonical CSV JSON Conversion match 90%
x402pay-per-call
Base64 Encode/Decode

Encode UTF-8 text or decode it back: base64 (default; standard or URL-safe), base32, base58 (Bitcoin alphabet), hex or URI percent-encoding (codec). Determinist…

canonical Base64 Encoding match 96%
x402pay-per-call
Epoch Converter

Convert epoch seconds or milliseconds (detected by magnitude) or an ISO-8601 string into epoch_s, epoch_ms, UTC ISO and ISO in any IANA time zone. Deterministic…

canonical Timezone Conversion match 91%
x402pay-per-call
URL to Markdown

Fetch one public web page and return its title and clean Markdown (headings, links, lists, code, tables). Honors robots.txt, SSRF-guarded, HTML only, 1 MB / 5 s…

canonical Web Content Normalization match 94%
x402pay-per-call
Token Risk (Base)

Heuristic risk checks for a Base ERC-20: contract code, metadata, proxy, owner/renounced, mint/blacklist/pause/fee selectors, deepest Uniswap/Aerodrome pool, an…

canonical ERC-20 Token Metadata match 93%
x402pay-per-call
JSON Repair

Repair malformed or truncated JSON from LLMs, JS or Python: strips ```json fences and comments, fixes trailing commas, single quotes, unquoted keys, True/False/…

canonical JSON Repair match 97%
x402pay-per-call
Cron Next Runs

Validate a 5-field cron expression (lists, ranges, steps, JAN-DEC/SUN-SAT names, @daily/@hourly macros) and return its next 1-20 run times in any IANA time zone…

canonical Timezone Conversion match 88%
x402pay-per-call
Verified Token Price (Base)

Verified USD price for a Base ERC-20: DeFiLlama cross-checked against the deepest on-chain Uniswap/Aerodrome pool. Returns price, spread, staleness, confidence.…

canonical ERC-20 Token Metadata match 90%
x402pay-per-call
Email Deliverability Check

Check an email address for deliverability: syntax, canonical form, MX, SPF, DMARC, disposable domain. One verdict with reasons and sources. DNS-over-HTTPS only,…

canonical Email Address Verification match 95%
x402pay-per-call
News Brief with Sources

Topic in, deduplicated story clusters out: headline, every outlet URL and first-seen time, from GDELT and publisher RSS. Headlines and links only, no article te…

canonical Web Content Normalization match 89%
x402pay-per-call
IP & CIDR Intel

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…

No taxonomy category yet
x402pay-per-call
LLM Cost Quote

Text or token counts in, cost per model out, cheapest first, from OpenRouter's public price list with a price-fetched-at timestamp. Applies time-of-day pricing.…

No taxonomy category yet
x402pay-per-call
Address Validate

Validate an EVM, Solana, or Bitcoin address locally (EIP-55 checksum, base58, bech32). Optional eth_getCode on Base to label eoa vs contract. No RPC required by…

canonical Onchain Wallet Balance match 89%
x402pay-per-call
Gas Price

EIP-1559 base fee and priority fee percentiles (p25/p50/p90) for Base and/or Ethereum via eth_feeHistory. Cached 10s. Optional eth-transfer USD estimate on Base…

canonical Gas Fee Estimation match 93%
x402pay-per-call
ERC-20 Metadata

Read ERC-20 name, symbol, decimals, totalSupply (and optional holder balanceOf) via multicall3 on Base or Ethereum. 400 if the address is not a contract. Price …

canonical ERC-20 Token Metadata match 94%
x402pay-per-call
DNS Lookup

DNS-over-HTTPS lookup (A/AAAA/MX/TXT/NS/CNAME/CAA) via Google Public DNS with Cloudflare fallback. Rejects IP literals and private names. Price $0.002 USDC via …

canonical DNS Record Lookup match 93%
x402pay-per-call
Name Resolve (ENS + Basename)

Resolve ENS (.eth) on Ethereum and Basenames (.base.eth) on Base, forward or reverse. Returns address, name, source, forward_verified, optional avatar. Price $0…

canonical Blockchain Name Resolution match 95%
x402pay-per-call

Health · last 22 probes

When HTTP Live JSON-RPC Latency
2026-10-25 09:29:17 200 ✓ 419ms
2026-10-24 18:51:45 200 ✓ 245ms
2026-10-24 07:26:17 200 ✓ 176ms
2026-10-23 17:42:50 200 ✓ 261ms
2026-10-23 05:46:37 200 ✓ 168ms
2026-10-22 16:42:49 200 ✓ 252ms
2026-10-22 03:19:05 200 ✓ 284ms
2026-10-21 14:11:49 200 ✓ 196ms
2026-10-21 01:17:29 200 ✓ 150ms
2026-10-20 08:26:19 200 ✓ 268ms

Who's calling this agent 30d

3 interactions captured (impressions + lookups + A2A calls)

By AI host (caller_kind) · top 3
MJ12bot / Majestic (SEO tool) 3 (100%)
Caller geography · top 3
FR 2
DE 1
Via which API surface · top 3
web 3

Public view: top 3 per dimension. Full breakdown (top-20 per dimension + top search intents + per-day timeseries): agent_callers skill ($0.05/call, $0 on Enterprise). Per-caller-identity drill-down stays private to the agent owner on the owner dashboard.

Cheaper or better alternatives per-skill

↓ 1 skill cheaper elsewhere peak save 11.2%

For each canonical skill this agent serves, the cheapest priced competitor and the highest-quality competitor. Only shown when at least one beats the current agent. Skills where this agent is already best on both axes are hidden.

Similar agents embedding-nearest

SEO Authority API
Open-web domain authority from Common Crawl graph metrics, on-page SEO checks, query correction and expansion, and customer-supplied SEO int
ForgeMesh Labs · q 80%
x402-data-tools
29 pay-per-call endpoints on Base USDC (x402 v2, exact scheme), keyless, no signup. Two decision reports: agent-integration-readiness (five
x402-data-tools.web4shop-7023.workers.dev · q 65%
CitePulse
Academic citation analytics for AI research agents, grant offices, and PIs — the free-rebuild layer under Web of Science ($212k/yr) and Scop
The Aslan Group LLC · q 90%
GrantPulse
The funding-discovery layer for organisations anywhere — grounded in official sources fetched live: Grants.gov, the EU Funding & Tenders Por
The Aslan Group LLC · q 90%
GrantPulse
The funding-discovery layer for organisations anywhere — grounded in official sources fetched live: Grants.gov, the EU Funding & Tenders Por
The Aslan Group LLC · q 90%
Agent Exchange live
Machine-payable data and tools for autonomous agents: crypto pre-trade intelligence, on-chain RPC reads, web research, public-sector opportu
RileyCraig14 · q 100%

Embed your Agenstry badge

Paste any of these into your README, agent card, or marketing page. Each badge auto-updates and links back to this page.

Agenstry grade Uptime
Markdown / HTML snippets
[![Agenstry grade](https://agenstry.com/badge/grokzilla.shop.svg)](https://agenstry.com/agents/grokzilla.shop)
[![Verified Business](https://agenstry.com/badge/grokzilla.shop/identity.svg)](https://agenstry.com/agents/grokzilla.shop)
[![Uptime](https://agenstry.com/badge/grokzilla.shop/uptime.svg)](https://agenstry.com/agents/grokzilla.shop)
[![A2A version](https://agenstry.com/badge/grokzilla.shop/protocol.svg)](https://agenstry.com/agents/grokzilla.shop)

Audit-grade evidence bundle

JSON snapshot for vendor-review files. Add ?sign=true for a JWS-signed envelope verifiable against our JWKS. See the methodology.

audit.json audit.json (JWS-signed) verification history
Raw agent card JSON
{
  "name": "Grokzilla micro pay",
  "description": "Pay-per-call x402 tools on Base (USDC). Free skill discovery over MCP.",
  "url": "https://grokzilla.shop/mcp",
  "provider": {
    "organization": "grokzilla.shop",
    "url": "https://grokzilla.shop"
  },
  "version": "0.1.0",
  "documentationUrl": "https://grokzilla.shop/agents",
  "capabilities": {
    "streaming": false,
    "pushNotifications": false
  },
  "defaultInputModes": [
    "application/json"
  ],
  "defaultOutputModes": [
    "application/json"
  ],
  "additionalInterfaces": [
    {
      "transport": "mcp-streamable-http",
      "url": "https://grokzilla.shop/mcp"
    }
  ],
  "supportedInterfaces": [
    {
      "url": "https://grokzilla.shop/mcp",
      "protocolBinding": "mcp-streamable-http",
      "transport": "mcp-streamable-http"
    }
  ],
  "payment": {
    "protocol": "x402",
    "network": "eip155:8453",
    "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
    "payTo": "0xc22f9CAEBAc37fE72D5142f35f21f6696Ea9Ef69"
  },
  "skills": [
    {
      "id": "osint_graph",
      "name": "Public OSINT Graph",
      "description": "Resolves one public name on Wikidata and returns a relationship graph from a fixed property list (instance of, country, headquarters, founder, chief executive, ownership, employer, education, membership, and similar), up to two hops. People include only notable public roles. If nothing matches, the graph is empty and reason explains why. Price $0.01 USDC via x402.",
      "tags": [
        "x402",
        "pay-per-call"
      ]
    },
    {
      "id": "seo",
      "name": "SEO Optimizer",
      "description": "Fetches a URL and returns an on-page SEO score from real checks (title, meta, headings, alt text, keywords, and more). If the page cannot be fetched, returns an error status (403/404/5xx), is a CDN/WAF challenge page, or times out (7 s cap), it answers 422 with score null, the reason, and charged:false; no payment is taken. Price $0.012 USDC via x402.",
      "tags": [
        "x402",
        "pay-per-call"
      ]
    },
    {
      "id": "seo_v2",
      "name": "SEO Optimizer v2",
      "description": "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). Price $0.0997 USDC via x402.",
      "tags": [
        "x402",
        "pay-per-call"
      ]
    },
    {
      "id": "seo_compare",
      "name": "SEO Compare",
      "description": "Runs SEO Optimizer v2 on your page and up to 3 competitor pages and returns a per-check gap table. Not charged if your page blocks us or is unreachable (422, charged:false). Price $0.0503 USDC via x402.",
      "tags": [
        "x402",
        "pay-per-call"
      ]
    },
    {
      "id": "agent_ready_audit",
      "name": "Agent-Ready Audit",
      "description": "Audits how ~17 AI crawlers and agents (GPTBot, ClaudeBot, PerplexityBot, Google-Extended, ChatGPT-User, ...) can reach and read a site: robots rules per bot, live user-agent probes, llms.txt, sitemap, JSON-LD, canonical host, agent interfaces. Does not guarantee crawling, ranking, citation, or traffic. Not charged if the site blocks us or is unreachable (422, charged:false). Price $0.1993 USDC via x402.",
      "tags": [
        "x402",
        "pay-per-call"
      ]
    },
    {
      "id": "agent_ready_kit",
      "name": "Agent-Ready Website Kit",
      "description": "Agent-Ready Audit plus generated files: llms.txt, llms-full.txt, merged robots.txt AI section, sitemap.xml, JSON-LD and meta/OG per page, agent card, and an install guide (zip). Unknown facts stay TODO. Kit license: No-Resale License (LICENSE.md in the zip; https://grokzilla.shop/kits/license). Not charged if the site blocks us or is unreachable (422, charged:false). Price $0.2502 USDC via x402.",
      "tags": [
        "x402",
        "pay-per-call"
      ]
    },
    {
      "id": "agent_ready_recheck",
      "name": "Agent-Ready Recheck",
      "description": "Re-runs an Agent-Ready audit from its report_id (30 days) and returns what got fixed or regressed. Not charged if the site blocks us or is unreachable (422, charged:false). Price $0.0102 USDC via x402.",
      "tags": [
        "x402",
        "pay-per-call"
      ]
    },
    {
      "id": "ai_detector",
      "name": "AI Content Detector",
      "description": "Estimate whether text (or a web page's text) is AI-written using a trained classifier: about 78% accurate on a held-out benchmark (not a guarantee). Uncertain results suggest a rerun on a longer section (300+ words); tell phrases are only a secondary 'possible AI influence' signal. Price $0.01 USDC via x402.",
      "tags": [
        "x402",
        "pay-per-call"
      ]
    },
    {
      "id": "json_flatten",
      "name": "JSON Flattener",
      "description": "Deterministic nested JSON to flat path-value map. Arrays, custom separators, depth limits. Price $0.006 USDC via x402.",
      "tags": [
        "x402",
        "pay-per-call"
      ]
    },
    {
      "id": "json_sort",
      "name": "JSON Key Sorter",
      "description": "Recursively sort object keys and return canonical compact JSON. Deterministic, no network. Price $0.003 USDC via x402.",
      "tags": [
        "x402",
        "pay-per-call"
      ]
    },
    {
      "id": "text_diff",
      "name": "Text Diff",
      "description": "Lightweight deterministic line/word/char diff. Structured ops plus a one-line delta summary. Price $0.006 USDC via x402.",
      "tags": [
        "x402",
        "pay-per-call"
      ]
    },
    {
      "id": "url_normalize",
      "name": "URL Normalizer",
      "description": "Canonicalize URLs: strip tracking params, force HTTPS, sort query, extract components. Price $0.005 USDC via x402.",
      "tags": [
        "x402",
        "pay-per-call"
      ]
    },
    {
      "id": "html_clean",
      "name": "HTML Cleaner",
      "description": "Strip scripts/styles and return readable text or markdown from HTML. mode normalized: text with NFKC and zero-width/bidi characters stripped. Price $0.008 USDC via x402.",
      "tags": [
        "x402",
        "pay-per-call"
      ]
    },
    {
      "id": "json_schema_validate",
      "name": "JSON Schema Validator",
      "description": "Cheap schema gate: type, required, properties, array items, plus format checks (email, date, date-time, uri, ipv4, ipv6, uuid, hostname). Price $0.006 USDC via x402.",
      "tags": [
        "x402",
        "pay-per-call"
      ]
    },
    {
      "id": "keyword_extract",
      "name": "Keyword Extractor",
      "description": "Deterministic term ranking from free text. Stopword-filtered. ngrams 2-3 adds scored multi-word phrases. Price $0.008 USDC via x402.",
      "tags": [
        "x402",
        "pay-per-call"
      ]
    },
    {
      "id": "token_count",
      "name": "Token Counter",
      "description": "Approximate cl100k/o200k token counts for budget decisions. Price $0.004 USDC via x402.",
      "tags": [
        "x402",
        "pay-per-call"
      ]
    },
    {
      "id": "sha256",
      "name": "SHA-256 Hash",
      "description": "Hash a string (SHA-256 by default; algo: sha512, sha3_256 or blake2b_256) and return hex plus a short prefix. Deterministic, no network. Price $0.003 USDC via x402.",
      "tags": [
        "x402",
        "pay-per-call"
      ]
    },
    {
      "id": "uuid_mint",
      "name": "UUID Minter",
      "description": "Mint 1-32 IDs for agent job IDs and idempotency keys: UUID v4 (default), v7 or v1 (time-ordered), or ULID (format: ulid). v7 and ULID batches sort in mint order. Price $0.003 USDC via x402.",
      "tags": [
        "x402",
        "pay-per-call"
      ]
    },
    {
      "id": "slugify",
      "name": "Slugify",
      "description": "Turn free text into a URL-safe lowercase slug. Deterministic, no network. Price $0.003 USDC via x402.",
      "tags": [
        "x402",
        "pay-per-call"
      ]
    },
    {
      "id": "pii_redact",
      "name": "PII Redactor",
      "description": "Redact emails, phone numbers, SSN-shaped strings, Luhn-valid card numbers and IPv4 addresses with typed placeholders. Deterministic, no network. Price $0.003 USDC via x402.",
      "tags": [
        "x402",
        "pay-per-call"
      ]
    },
    {
      "id": "csv_normalize",
      "name": "CSV Normalizer",
      "description": "Parse CSV into JSON rows keyed by trimmed snake_case headers, plus a type hint per column (integer, number, boolean, date, datetime, string). Deterministic, no network. Price $0.003 USDC via x402.",
      "tags": [
        "x402",
        "pay-per-call"
      ]
    },
    {
      "id": "base64",
      "name": "Base64 Encode/Decode",
      "description": "Encode UTF-8 text or decode it back: base64 (default; standard or URL-safe), base32, base58 (Bitcoin alphabet), hex or URI percent-encoding (codec). Deterministic, no network. Price $0.003 USDC via x402.",
      "tags": [
        "x402",
        "pay-per-call"
      ]
    },
    {
      "id": "epoch_convert",
      "name": "Epoch Converter",
      "description": "Convert epoch seconds or milliseconds (detected by magnitude) or an ISO-8601 string into epoch_s, epoch_ms, UTC ISO and ISO in any IANA time zone. Deterministic, no network. Price $0.003 USDC via x402.",
      "tags": [
        "x402",
        "pay-per-call"
      ]
    },
    {
      "id": "url_to_markdown",
      "name": "URL to Markdown",
      "description": "Fetch one public web page and return its title and clean Markdown (headings, links, lists, code, tables). Honors robots.txt, SSRF-guarded, HTML only, 1 MB / 5 s caps. No JavaScript rendering. Price $0.003 USDC via x402.",
      "tags": [
        "x402",
        "pay-per-call"
      ]
    },
    {
      "id": "token_risk",
      "name": "Token Risk (Base)",
      "description": "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. Price $0.005 USDC via x402.",
      "tags": [
        "x402",
        "pay-per-call"
      ]
    },
    {
      "id": "json_repair",
      "name": "JSON Repair",
      "description": "Repair malformed or truncated JSON from LLMs, JS or Python: strips ```json fences and comments, fixes trailing commas, single quotes, unquoted keys, True/False/None, missing commas and unclosed strings/brackets. Returns the parsed JSON, a compact repaired JSON string and the list of fixes. Deterministic, no network. Price $0.0041 USDC via x402.",
      "tags": [
        "x402",
        "pay-per-call"
      ]
    },
    {
      "id": "cron_next",
      "name": "Cron Next Runs",
      "description": "Validate a 5-field cron expression (lists, ranges, steps, JAN-DEC/SUN-SAT names, @daily/@hourly macros) and return its next 1-20 run times in any IANA time zone (DST-aware), as local ISO, UTC ISO and epoch seconds. Deterministic, no network. Price $0.0031 USDC via x402.",
      "tags": [
        "x402",
        "pay-per-call"
      ]
    },
    {
      "id": "token_price",
      "name": "Verified Token Price (Base)",
      "description": "Verified USD price for a Base ERC-20: DeFiLlama cross-checked against the deepest on-chain Uniswap/Aerodrome pool. Returns price, spread, staleness, confidence. Refused, not charged, if sources disagree over 2.5% or one is missing. Data only, not investment advice. Price $0.002 USDC via x402.",
      "tags": [
        "x402",
        "pay-per-call"
      ]
    },
    {
      "id": "email_check",
      "name": "Email Deliverability Check",
      "description": "Check an email address for deliverability: syntax, canonical form, MX, SPF, DMARC, disposable domain. One verdict with reasons and sources. DNS-over-HTTPS only, no mailbox probing. Not charged if the DNS lookup fails. Price $0.0032 USDC via x402.",
      "tags": [
        "x402",
        "pay-per-call"
      ]
    },
    {
      "id": "news_brief",
      "name": "News Brief with Sources",
      "description": "Topic in, deduplicated story clusters out: headline, every outlet URL and first-seen time, from GDELT and publisher RSS. Headlines and links only, no article text. Not charged when nothing matches or sources fail. Price $0.0101 USDC via x402.",
      "tags": [
        "x402",
        "pay-per-call"
      ]
    },
    {
      "id": "ip_intel",
      "name": "IP & CIDR Intel",
      "description": "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. Price $0.0033 USDC via x402.",
      "tags": [
        "x402",
        "pay-per-call"
      ]
    },
    {
      "id": "llm_cost_quote",
      "name": "LLM Cost Quote",
      "description": "Text or token counts in, cost per model out, cheapest first, from OpenRouter's public price list with a price-fetched-at timestamp. Applies time-of-day pricing. Not charged if the price list is unavailable or no model matches. Price $0.0034 USDC via x402.",
      "tags": [
        "x402",
        "pay-per-call"
      ]
    },
    {
      "id": "address_validate",
      "name": "Address Validate",
      "description": "Validate an EVM, Solana, or Bitcoin address locally (EIP-55 checksum, base58, bech32). Optional eth_getCode on Base to label eoa vs contract. No RPC required by default. Price $0.001 USDC via x402.",
      "tags": [
        "x402",
        "pay-per-call"
      ]
    },
    {
      "id": "gas_price",
      "name": "Gas Price",
      "description": "EIP-1559 base fee and priority fee percentiles (p25/p50/p90) for Base and/or Ethereum via eth_feeHistory. Cached 10s. Optional eth-transfer USD estimate on Base. Price $0.001 USDC via x402.",
      "tags": [
        "x402",
        "pay-per-call"
      ]
    },
    {
      "id": "erc20_meta",
      "name": "ERC-20 Metadata",
      "description": "Read ERC-20 name, symbol, decimals, totalSupply (and optional holder balanceOf) via multicall3 on Base or Ethereum. 400 if the address is not a contract. Price $0.002 USDC via x402.",
      "tags": [
        "x402",
        "pay-per-call"
      ]
    },
    {
      "id": "dns_lookup",
      "name": "DNS Lookup",
      "description": "DNS-over-HTTPS lookup (A/AAAA/MX/TXT/NS/CNAME/CAA) via Google Public DNS with Cloudflare fallback. Rejects IP literals and private names. Price $0.002 USDC via x402.",
      "tags": [
        "x402",
        "pay-per-call"
      ]
    },
    {
      "id": "name_resolve",
      "name": "Name Resolve (ENS + Basename)",
      "description": "Resolve ENS (.eth) on Ethereum and Basenames (.base.eth) on Base, forward or reverse. Returns address, name, source, forward_verified, optional avatar. Price $0.003 USDC via x402.",
      "tags": [
        "x402",
        "pay-per-call"
      ]
    }
  ],
  "partner_resale": {
    "group": "partner_resale",
    "description": "Resold partner services (provider x402-mcp.onrender.com, not ours). GET with query params, paid per call via x402 on Base. Your payment settles first; if the partner then fails you get charged:true plus a full refund record. Output is normalized to grokzilla.partner-resale.v1. Separate from the native skills list.",
    "count": 4,
    "output_schema_id": "grokzilla.partner-resale.v1",
    "services": [
      {
        "id": "base-tx-decision",
        "group": "partner_resale",
        "name": "Base tx decision (partner resale)",
        "description": "Resold partner service: submit-or-wait verdict and EIP-1559 fee suggestion for a Base mainnet transaction, from live Base RPC block data.",
        "url": "https://grokzilla.shop/api/resale/base/tx-decision",
        "path": "/api/resale/base/tx-decision",
        "method": "GET",
        "price": "0.020001",
        "price_usd": 0.020001,
        "amount_atomic": "20001",
        "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
        "network": "eip155:8453",
        "payTo": "0xc22f9CAEBAc37fE72D5142f35f21f6696Ea9Ef69",
        "mimeType": "application/json",
        "provider": "x402-mcp.onrender.com",
        "resold": true,
        "tags": [
          "base",
          "gas",
          "partner"
        ],
        "input": {
          "type": "http",
          "method": "GET",
          "queryParams": {
            "type": "object",
            "properties": {
              "gas": {
                "type": "string",
                "description": "Transaction kind, e.g. eth, usdc, x402",
                "default": "usdc"
              },
              "urgency": {
                "type": "string",
                "description": "e.g. flexible, normal, urgent",
                "default": "flexible"
              }
            },
            "required": []
          },
          "example": {
            "gas": "usdc",
            "urgency": "flexible"
          }
        },
        "output_schema_id": "grokzilla.partner-resale.v1",
        "output_schema": {
          "description": "Normalized base-tx-decision response (grokzilla.partner-resale.v1).",
          "type": "object",
          "properties": {
            "ok": {
              "description": "Always true on a 200 response.",
              "type": "boolean"
            },
            "schema": {
              "description": "Schema id, currently grokzilla.partner-resale.v1.",
              "type": "string"
            },
            "route": {
              "description": "Our route id, e.g. base-tx-decision.",
              "type": "string"
            },
            "provider": {
              "description": "Upstream data provider we resell (attribution).",
              "type": "string"
            },
            "subject": {
              "description": "What was checked.",
              "type": "object",
              "properties": {
                "kind": {
                  "description": "base_network | base_tx | street_address.",
                  "type": "string"
                },
                "value": {
                  "description": "The subject as the provider resolved it (tx hash, normalized address); null for network-wide checks.",
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "jurisdiction": {
                  "description": "base | nyc | minneapolis.",
                  "type": "string"
                }
              },
              "required": [
                "kind",
                "value",
                "jurisdiction"
              ],
              "additionalProperties": false
            },
            "verdict": {
              "description": "Provider verdict, lower snake case (settle_now, safe, registered_with_violations, licensed_clean, unlicensed...).",
              "type": [
                "string",
                "null"
              ]
            },
            "status": {
              "description": "ok, or no_records when a property lookup matched nothing (then a negative verdict may mean 'not found', not a confirmed negative).",
              "type": "string"
            },
            "summary": {
              "description": "Provider's one-line explanation, when it sends one.",
              "type": [
                "string",
                "null"
              ]
            },
            "risk_flags": {
              "description": "Machine-readable flags derived only from returned fields (see per-route list).",
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "evidence": {
              "description": "Records backing the verdict (capped at 25).",
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "type": {
                    "description": "Record kind, e.g. block, tx_block, hpd_registration, hpd_violation, rental_license, code_case.",
                    "type": "string"
                  },
                  "id": {
                    "description": "Record identifier as issued by the source (block number, registration id, case number).",
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "date": {
                    "description": "Most relevant date for the record (YYYY-MM-DD, or ISO 8601 for chain data).",
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "status": {
                    "description": "Record status as reported by the source.",
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "code": {
                    "description": "Source classification code (HPD class, Minneapolis violation code, license tier).",
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "detail": {
                    "description": "Short source text for the record (violation description, inspection type).",
                    "type": [
                      "string",
                      "null"
                    ]
                  }
                },
                "required": [
                  "type",
                  "id",
                  "date",
                  "status",
                  "code",
                  "detail"
                ],
                "additionalProperties": false
              }
            },
            "sources": {
              "description": "Source dataset URLs reported by the provider; null when the provider names none.",
              "type": [
                "array",
                "null"
              ],
              "items": {
                "type": "string"
              }
            },
            "disclaimer": {
              "description": "Provider's disclaimer, passed through verbatim.",
              "type": [
                "string",
                "null"
              ]
            },
            "checked_at": {
              "description": "When the provider computed the result (ISO 8601, UTC).",
              "type": [
                "string",
                "null"
              ]
            },
            "upstream_tx": {
              "description": "Base tx hash of our payment to the provider for this call (receipt).",
              "type": [
                "string",
                "null"
              ]
            },
            "data": {
              "description": "Route-specific fields for base-tx-decision.",
              "type": "object",
              "properties": {
                "submit": {
                  "description": "True = submit now, false = wait.",
                  "type": [
                    "boolean",
                    "null"
                  ]
                },
                "urgency": {
                  "description": "Urgency the decision was computed for (echo of input).",
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "fee": {
                  "description": "Fee suggestion.",
                  "type": "object",
                  "properties": {
                    "max_fee_per_gas_gwei": {
                      "description": "Suggested EIP-1559 maxFeePerGas, gwei.",
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "max_priority_fee_per_gas_gwei": {
                      "description": "Suggested maxPriorityFeePerGas, gwei.",
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "current_base_fee_gwei": {
                      "description": "Base fee of the latest block, gwei.",
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "next_base_fee_gwei": {
                      "description": "Projected base fee of the next block, gwei.",
                      "type": [
                        "number",
                        "null"
                      ]
                    }
                  },
                  "required": [
                    "max_fee_per_gas_gwei",
                    "max_priority_fee_per_gas_gwei",
                    "current_base_fee_gwei",
                    "next_base_fee_gwei"
                  ],
                  "additionalProperties": false
                },
                "estimated_cost": {
                  "description": "Estimated cost of the transaction.",
                  "type": "object",
                  "properties": {
                    "gas": {
                      "description": "Gas units assumed for the transaction kind.",
                      "type": [
                        "integer",
                        "null"
                      ]
                    },
                    "eth": {
                      "description": "Estimated fee in ETH.",
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "usd": {
                      "description": "Estimated fee in USD.",
                      "type": [
                        "number",
                        "null"
                      ]
                    }
                  },
                  "required": [
                    "gas",
                    "eth",
                    "usd"
                  ],
                  "additionalProperties": false
                },
                "recheck_in_s": {
                  "description": "Seconds until a recheck is suggested; null when not needed.",
                  "type": [
                    "integer",
                    "null"
                  ]
                },
                "as_of_block": {
                  "description": "Base block the decision is based on.",
                  "type": [
                    "integer",
                    "null"
                  ]
                },
                "chain": {
                  "description": "CAIP-2 chain id.",
                  "type": [
                    "string",
                    "null"
                  ]
                }
              },
              "required": [
                "submit",
                "urgency",
                "fee",
                "estimated_cost",
                "recheck_in_s",
                "as_of_block",
                "chain"
              ],
              "additionalProperties": false
            }
          },
          "required": [
            "ok",
            "schema",
            "route",
            "provider",
            "subject",
            "verdict",
            "status",
            "summary",
            "risk_flags",
            "evidence",
            "sources",
            "disclaimer",
            "checked_at",
            "upstream_tx",
            "data"
          ],
          "additionalProperties": false,
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "$id": "https://grokzilla.shop/schemas/grokzilla.partner-resale.v1/base-tx-decision.json"
        },
        "example_response": {
          "ok": true,
          "schema": "grokzilla.partner-resale.v1",
          "route": "base-tx-decision",
          "provider": "x402-mcp.onrender.com",
          "subject": {
            "kind": "base_network",
            "value": null,
            "jurisdiction": "base"
          },
          "verdict": "settle_now",
          "status": "ok",
          "summary": "Blockspace is 4.5% full at 0.0050 gwei - settlement is at or near the floor with ~22.1x headroom. No congestion premium; a stablecoin transfer settles for a fraction of a cent.",
          "risk_flags": [],
          "evidence": [
            {
              "type": "block",
              "id": "52702618",
              "date": "2026-10-16T23:49:46.011831+00:00",
              "status": null,
              "code": null,
              "detail": null
            }
          ],
          "sources": null,
          "disclaimer": null,
          "checked_at": "2026-10-16T23:49:46.011831+00:00",
          "upstream_tx": "0x954459f45d1427ddf187d34bd5d17f6e637030e920080ef106efeb10222b46ce",
          "data": {
            "submit": true,
            "urgency": "flexible",
            "fee": {
              "max_fee_per_gas_gwei": 0.011,
              "max_priority_fee_per_gas_gwei": 0.001,
              "current_base_fee_gwei": 0.005,
              "next_base_fee_gwei": 0.004432
            },
            "estimated_cost": {
              "gas": 55000,
              "eth": 3.3e-07,
              "usd": 0.000799
            },
            "recheck_in_s": null,
            "as_of_block": 52702618,
            "chain": "eip155:8453"
          }
        }
      },
      {
        "id": "base-finality-check",
        "group": "partner_resale",
        "name": "Base finality check (partner resale)",
        "description": "Resold partner service: inclusion, confirmations and safe/finalized status for a Base transaction hash.",
        "url": "https://grokzilla.shop/api/resale/base/finality-check",
        "path": "/api/resale/base/finality-check",
        "method": "GET",
        "price": "0.020002",
        "price_usd": 0.020002,
        "amount_atomic": "20002",
        "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
        "network": "eip155:8453",
        "payTo": "0xc22f9CAEBAc37fE72D5142f35f21f6696Ea9Ef69",
        "mimeType": "application/json",
        "provider": "x402-mcp.onrender.com",
        "resold": true,
        "tags": [
          "base",
          "finality",
          "partner"
        ],
        "input": {
          "type": "http",
          "method": "GET",
          "queryParams": {
            "type": "object",
            "properties": {
              "tx": {
                "type": "string",
                "pattern": "^0x[0-9a-fA-F]{64}$",
                "description": "Base tx hash"
              }
            },
            "required": [
              "tx"
            ]
          },
          "example": {
            "tx": "0xeb43b522a462fa251ba7d6eb8f47dcc7cf0a5bc6cc53bce48cbeb685a79f480e"
          }
        },
        "output_schema_id": "grokzilla.partner-resale.v1",
        "output_schema": {
          "description": "Normalized base-finality-check response (grokzilla.partner-resale.v1).",
          "type": "object",
          "properties": {
            "ok": {
              "description": "Always true on a 200 response.",
              "type": "boolean"
            },
            "schema": {
              "description": "Schema id, currently grokzilla.partner-resale.v1.",
              "type": "string"
            },
            "route": {
              "description": "Our route id, e.g. base-tx-decision.",
              "type": "string"
            },
            "provider": {
              "description": "Upstream data provider we resell (attribution).",
              "type": "string"
            },
            "subject": {
              "description": "What was checked.",
              "type": "object",
              "properties": {
                "kind": {
                  "description": "base_network | base_tx | street_address.",
                  "type": "string"
                },
                "value": {
                  "description": "The subject as the provider resolved it (tx hash, normalized address); null for network-wide checks.",
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "jurisdiction": {
                  "description": "base | nyc | minneapolis.",
                  "type": "string"
                }
              },
              "required": [
                "kind",
                "value",
                "jurisdiction"
              ],
              "additionalProperties": false
            },
            "verdict": {
              "description": "Provider verdict, lower snake case (settle_now, safe, registered_with_violations, licensed_clean, unlicensed...).",
              "type": [
                "string",
                "null"
              ]
            },
            "status": {
              "description": "ok, or no_records when a property lookup matched nothing (then a negative verdict may mean 'not found', not a confirmed negative).",
              "type": "string"
            },
            "summary": {
              "description": "Provider's one-line explanation, when it sends one.",
              "type": [
                "string",
                "null"
              ]
            },
            "risk_flags": {
              "description": "Machine-readable flags derived only from returned fields (see per-route list).",
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "evidence": {
              "description": "Records backing the verdict (capped at 25).",
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "type": {
                    "description": "Record kind, e.g. block, tx_block, hpd_registration, hpd_violation, rental_license, code_case.",
                    "type": "string"
                  },
                  "id": {
                    "description": "Record identifier as issued by the source (block number, registration id, case number).",
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "date": {
                    "description": "Most relevant date for the record (YYYY-MM-DD, or ISO 8601 for chain data).",
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "status": {
                    "description": "Record status as reported by the source.",
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "code": {
                    "description": "Source classification code (HPD class, Minneapolis violation code, license tier).",
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "detail": {
                    "description": "Short source text for the record (violation description, inspection type).",
                    "type": [
                      "string",
                      "null"
                    ]
                  }
                },
                "required": [
                  "type",
                  "id",
                  "date",
                  "status",
                  "code",
                  "detail"
                ],
                "additionalProperties": false
              }
            },
            "sources": {
              "description": "Source dataset URLs reported by the provider; null when the provider names none.",
              "type": [
                "array",
                "null"
              ],
              "items": {
                "type": "string"
              }
            },
            "disclaimer": {
              "description": "Provider's disclaimer, passed through verbatim.",
              "type": [
                "string",
                "null"
              ]
            },
            "checked_at": {
              "description": "When the provider computed the result (ISO 8601, UTC).",
              "type": [
                "string",
                "null"
              ]
            },
            "upstream_tx": {
              "description": "Base tx hash of our payment to the provider for this call (receipt).",
              "type": [
                "string",
                "null"
              ]
            },
            "data": {
              "description": "Route-specific fields for base-finality-check.",
              "type": "object",
              "properties": {
                "tx": {
                  "description": "Transaction hash checked.",
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "included": {
                  "description": "Whether the tx is in a block.",
                  "type": [
                    "boolean",
                    "null"
                  ]
                },
                "finality": {
                  "description": "Provider finality status (e.g. safe, finalized).",
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "tx_block": {
                  "description": "Block containing the tx.",
                  "type": [
                    "integer",
                    "null"
                  ]
                },
                "confirmations": {
                  "description": "Blocks on top of tx_block.",
                  "type": [
                    "integer",
                    "null"
                  ]
                },
                "latest_block": {
                  "description": "Latest block at check time.",
                  "type": [
                    "integer",
                    "null"
                  ]
                },
                "safe_block": {
                  "description": "Latest 'safe' (L1-attested) block.",
                  "type": [
                    "integer",
                    "null"
                  ]
                },
                "finalized_block": {
                  "description": "Latest finalized block.",
                  "type": [
                    "integer",
                    "null"
                  ]
                }
              },
              "required": [
                "tx",
                "included",
                "finality",
                "tx_block",
                "confirmations",
                "latest_block",
                "safe_block",
                "finalized_block"
              ],
              "additionalProperties": false
            }
          },
          "required": [
            "ok",
            "schema",
            "route",
            "provider",
            "subject",
            "verdict",
            "status",
            "summary",
            "risk_flags",
            "evidence",
            "sources",
            "disclaimer",
            "checked_at",
            "upstream_tx",
            "data"
          ],
          "additionalProperties": false,
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "$id": "https://grokzilla.shop/schemas/grokzilla.partner-resale.v1/base-finality-check.json"
        },
        "example_response": {
          "ok": true,
          "schema": "grokzilla.partner-resale.v1",
          "route": "base-finality-check",
          "provider": "x402-mcp.onrender.com",
          "subject": {
            "kind": "base_tx",
            "value": "0xeb43b522a462fa251ba7d6eb8f47dcc7cf0a5bc6cc53bce48cbeb685a79f480e",
            "jurisdiction": "base"
          },
          "verdict": "safe",
          "status": "ok",
          "summary": "Block 52702514 is at or behind the 'safe' block (52702610) but ahead of 'finalized' (52702040) -- L1-attested, reorg risk is extremely low but not yet finalized.",
          "risk_flags": [
            "not_finalized"
          ],
          "evidence": [
            {
              "type": "tx_block",
              "id": "52702514",
              "date": null,
              "status": "safe",
              "code": null,
              "detail": null
            }
          ],
          "sources": null,
          "disclaimer": null,
          "checked_at": "2026-10-16T23:49:48+00:00",
          "upstream_tx": "0x50a2a223bd29271107677d756e8f72ae480cd7f02ac445908d77d3e99376361d",
          "data": {
            "tx": "0xeb43b522a462fa251ba7d6eb8f47dcc7cf0a5bc6cc53bce48cbeb685a79f480e",
            "included": true,
            "finality": "safe",
            "tx_block": 52702514,
            "confirmations": 107,
            "latest_block": 52702620,
            "safe_block": 52702610,
            "finalized_block": 52702040
          }
        }
      },
      {
        "id": "nyc-property-check",
        "group": "partner_resale",
        "name": "NYC property check (partner resale)",
        "description": "Resold partner service: NYC HPD registration and housing-violation lookup for a street address.",
        "url": "https://grokzilla.shop/api/resale/us/nyc/property-check",
        "path": "/api/resale/us/nyc/property-check",
        "method": "GET",
        "price": "0.020003",
        "price_usd": 0.020003,
        "amount_atomic": "20003",
        "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
        "network": "eip155:8453",
        "payTo": "0xc22f9CAEBAc37fE72D5142f35f21f6696Ea9Ef69",
        "mimeType": "application/json",
        "provider": "x402-mcp.onrender.com",
        "resold": true,
        "tags": [
          "real-estate",
          "nyc",
          "partner"
        ],
        "input": {
          "type": "http",
          "method": "GET",
          "queryParams": {
            "type": "object",
            "properties": {
              "address": {
                "type": "string",
                "minLength": 3,
                "description": "NYC street address incl. borough"
              }
            },
            "required": [
              "address"
            ]
          },
          "example": {
            "address": "225 EAST 19 STREET MANHATTAN"
          }
        },
        "output_schema_id": "grokzilla.partner-resale.v1",
        "output_schema": {
          "description": "Normalized nyc-property-check response (grokzilla.partner-resale.v1).",
          "type": "object",
          "properties": {
            "ok": {
              "description": "Always true on a 200 response.",
              "type": "boolean"
            },
            "schema": {
              "description": "Schema id, currently grokzilla.partner-resale.v1.",
              "type": "string"
            },
            "route": {
              "description": "Our route id, e.g. base-tx-decision.",
              "type": "string"
            },
            "provider": {
              "description": "Upstream data provider we resell (attribution).",
              "type": "string"
            },
            "subject": {
              "description": "What was checked.",
              "type": "object",
              "properties": {
                "kind": {
                  "description": "base_network | base_tx | street_address.",
                  "type": "string"
                },
                "value": {
                  "description": "The subject as the provider resolved it (tx hash, normalized address); null for network-wide checks.",
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "jurisdiction": {
                  "description": "base | nyc | minneapolis.",
                  "type": "string"
                }
              },
              "required": [
                "kind",
                "value",
                "jurisdiction"
              ],
              "additionalProperties": false
            },
            "verdict": {
              "description": "Provider verdict, lower snake case (settle_now, safe, registered_with_violations, licensed_clean, unlicensed...).",
              "type": [
                "string",
                "null"
              ]
            },
            "status": {
              "description": "ok, or no_records when a property lookup matched nothing (then a negative verdict may mean 'not found', not a confirmed negative).",
              "type": "string"
            },
            "summary": {
              "description": "Provider's one-line explanation, when it sends one.",
              "type": [
                "string",
                "null"
              ]
            },
            "risk_flags": {
              "description": "Machine-readable flags derived only from returned fields (see per-route list).",
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "evidence": {
              "description": "Records backing the verdict (capped at 25).",
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "type": {
                    "description": "Record kind, e.g. block, tx_block, hpd_registration, hpd_violation, rental_license, code_case.",
                    "type": "string"
                  },
                  "id": {
                    "description": "Record identifier as issued by the source (block number, registration id, case number).",
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "date": {
                    "description": "Most relevant date for the record (YYYY-MM-DD, or ISO 8601 for chain data).",
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "status": {
                    "description": "Record status as reported by the source.",
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "code": {
                    "description": "Source classification code (HPD class, Minneapolis violation code, license tier).",
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "detail": {
                    "description": "Short source text for the record (violation description, inspection type).",
                    "type": [
                      "string",
                      "null"
                    ]
                  }
                },
                "required": [
                  "type",
                  "id",
                  "date",
                  "status",
                  "code",
                  "detail"
                ],
                "additionalProperties": false
              }
            },
            "sources": {
              "description": "Source dataset URLs reported by the provider; null when the provider names none.",
              "type": [
                "array",
                "null"
              ],
              "items": {
                "type": "string"
              }
            },
            "disclaimer": {
              "description": "Provider's disclaimer, passed through verbatim.",
              "type": [
                "string",
                "null"
              ]
            },
            "checked_at": {
              "description": "When the provider computed the result (ISO 8601, UTC).",
              "type": [
                "string",
                "null"
              ]
            },
            "upstream_tx": {
              "description": "Base tx hash of our payment to the provider for this call (receipt).",
              "type": [
                "string",
                "null"
              ]
            },
            "data": {
              "description": "Route-specific fields for nyc-property-check.",
              "type": "object",
              "properties": {
                "address_queried": {
                  "description": "Address as the provider normalized it.",
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "parsed_address": {
                  "description": "Address parts the provider parsed.",
                  "type": "object",
                  "properties": {
                    "house_number": {
                      "description": "House number.",
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "street": {
                      "description": "Street name.",
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "borough": {
                      "description": "NYC borough.",
                      "type": [
                        "string",
                        "null"
                      ]
                    }
                  },
                  "required": [
                    "house_number",
                    "street",
                    "borough"
                  ],
                  "additionalProperties": false
                },
                "registered": {
                  "description": "Has an HPD multiple-dwelling registration.",
                  "type": [
                    "boolean",
                    "null"
                  ]
                },
                "registrations": {
                  "description": "HPD registrations (no owner/agent names).",
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "registration_id": {
                        "description": "HPD registration id.",
                        "type": [
                          "string",
                          "null"
                        ]
                      },
                      "building_id": {
                        "description": "HPD building id.",
                        "type": [
                          "string",
                          "null"
                        ]
                      },
                      "bin": {
                        "description": "NYC Building Identification Number.",
                        "type": [
                          "string",
                          "null"
                        ]
                      },
                      "block": {
                        "description": "Tax block.",
                        "type": [
                          "string",
                          "null"
                        ]
                      },
                      "lot": {
                        "description": "Tax lot.",
                        "type": [
                          "string",
                          "null"
                        ]
                      },
                      "borough": {
                        "description": "Borough.",
                        "type": [
                          "string",
                          "null"
                        ]
                      },
                      "zip": {
                        "description": "ZIP code.",
                        "type": [
                          "string",
                          "null"
                        ]
                      },
                      "last_registration_date": {
                        "description": "Last registration date (YYYY-MM-DD).",
                        "type": [
                          "string",
                          "null"
                        ]
                      },
                      "registration_end_date": {
                        "description": "Registration expiry (YYYY-MM-DD).",
                        "type": [
                          "string",
                          "null"
                        ]
                      }
                    },
                    "required": [
                      "registration_id",
                      "building_id",
                      "bin",
                      "block",
                      "lot",
                      "borough",
                      "zip",
                      "last_registration_date",
                      "registration_end_date"
                    ],
                    "additionalProperties": false
                  }
                },
                "violations": {
                  "description": "HPD housing-maintenance violations.",
                  "type": "object",
                  "properties": {
                    "total": {
                      "description": "Total violations on record.",
                      "type": [
                        "integer",
                        "null"
                      ]
                    },
                    "open_count": {
                      "description": "Provider's count of not-closed violations ('openish_count').",
                      "type": [
                        "integer",
                        "null"
                      ]
                    },
                    "recent": {
                      "description": "Most recent violations as returned (provider caps the list).",
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "violation_id": {
                            "description": "HPD violation id.",
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "class": {
                            "description": "HPD class A/B/C (C = immediately hazardous).",
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "inspection_date": {
                            "description": "Inspection date (YYYY-MM-DD).",
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "status": {
                            "description": "HPD status text.",
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "apartment": {
                            "description": "Apartment, if unit-specific.",
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "description": {
                            "description": "HPD violation text.",
                            "type": [
                              "string",
                              "null"
                            ]
                          }
                        },
                        "required": [
                          "violation_id",
                          "class",
                          "inspection_date",
                          "status",
                          "apartment",
                          "description"
                        ],
                        "additionalProperties": false
                      }
                    }
                  },
                  "required": [
                    "total",
                    "open_count",
                    "recent"
                  ],
                  "additionalProperties": false
                }
              },
              "required": [
                "address_queried",
                "parsed_address",
                "registered",
                "registrations",
                "violations"
              ],
              "additionalProperties": false
            }
          },
          "required": [
            "ok",
            "schema",
            "route",
            "provider",
            "subject",
            "verdict",
            "status",
            "summary",
            "risk_flags",
            "evidence",
            "sources",
            "disclaimer",
            "checked_at",
            "upstream_tx",
            "data"
          ],
          "additionalProperties": false,
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "$id": "https://grokzilla.shop/schemas/grokzilla.partner-resale.v1/nyc-property-check.json"
        },
        "example_response": {
          "ok": true,
          "schema": "grokzilla.partner-resale.v1",
          "route": "nyc-property-check",
          "provider": "x402-mcp.onrender.com",
          "subject": {
            "kind": "street_address",
            "value": "225 EAST 19 STREET MANHATTAN",
            "jurisdiction": "nyc"
          },
          "verdict": "registered_with_violations",
          "status": "ok",
          "summary": null,
          "risk_flags": [
            "has_violations",
            "open_violations",
            "class_c_in_recent"
          ],
          "evidence": [
            {
              "type": "hpd_registration",
              "id": "144626",
              "date": "2027-09-01",
              "status": null,
              "code": null,
              "detail": null
            },
            {
              "type": "hpd_violation",
              "id": "18829417",
              "date": "2026-04-29",
              "status": "VIOLATION DISMISSED",
              "code": "A",
              "detail": "(A) \u00a7 HMC:FILE ANNUAL BEDBUG REPORT IN ACCORDANCE WITH HPD RULE AS DESCRIBED ON THE BACK OF THIS NOTICE OF VIOLATION OR AS DESCRIBED ON HPD'S WEBSITE, WWW.NYC.GOV\\HPD, SEARCH BED BUGS."
            }
          ],
          "sources": [
            "https://data.cityofnewyork.us/resource/tesw-yqqr.json",
            "https://data.cityofnewyork.us/resource/wvxf-dwi5.json"
          ],
          "disclaimer": "Public records from New York City open data, served as-is; not legal advice. Verify with the city before acting.",
          "checked_at": "2026-10-16T23:49:58+00:00",
          "upstream_tx": "0xe69884d253d6618bd4e9f99695b60239618a8275b3dbf1508e87e3926c71943f",
          "data": {
            "address_queried": "225 EAST 19 STREET MANHATTAN",
            "parsed_address": {
              "house_number": "225",
              "street": "EAST 19 STREET",
              "borough": "MANHATTAN"
            },
            "registered": true,
            "registrations": [
              {
                "registration_id": "144626",
                "building_id": "12374",
                "bin": "1090879",
                "block": "900",
                "lot": "7501",
                "borough": "MANHATTAN",
                "zip": "10003",
                "last_registration_date": "2026-07-30",
                "registration_end_date": "2027-09-01"
              }
            ],
            "violations": {
              "total": 26,
              "open_count": 15,
              "recent": [
                {
                  "violation_id": "18829417",
                  "class": "A",
                  "inspection_date": "2026-04-29",
                  "status": "VIOLATION DISMISSED",
                  "apartment": null,
                  "description": "(A) \u00a7 HMC:FILE ANNUAL BEDBUG REPORT IN ACCORDANCE WITH HPD RULE AS DESCRIBED ON THE BACK OF THIS NOTICE OF VIOLATION OR AS DESCRIBED ON HPD'S WEBSITE, WWW.NYC.GOV\\HPD, SEARCH BED BUGS."
                },
                {
                  "violation_id": "17944892",
                  "class": "A",
                  "inspection_date": "2025-06-04",
                  "status": "VIOLATION DISMISSED",
                  "apartment": null,
                  "description": "(A) \u00a7 HMC:FILE ANNUAL BEDBUG REPORT IN ACCORDANCE WITH HPD RULE AS DESCRIBED ON THE BACK OF THIS NOTICE OF VIOLATION OR AS DESCRIBED ON HPD'S WEBSITE, WWW.NYC.GOV\\HPD, SEARCH BED BUGS."
                }
              ]
            }
          }
        }
      },
      {
        "id": "mn-property-check",
        "group": "partner_resale",
        "name": "Minneapolis property check (partner resale)",
        "description": "Resold partner service: Minneapolis rental-license and code-enforcement case lookup for a street address.",
        "url": "https://grokzilla.shop/api/resale/mn/property-check",
        "path": "/api/resale/mn/property-check",
        "method": "GET",
        "price": "0.020004",
        "price_usd": 0.020004,
        "amount_atomic": "20004",
        "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
        "network": "eip155:8453",
        "payTo": "0xc22f9CAEBAc37fE72D5142f35f21f6696Ea9Ef69",
        "mimeType": "application/json",
        "provider": "x402-mcp.onrender.com",
        "resold": true,
        "tags": [
          "real-estate",
          "minneapolis",
          "partner"
        ],
        "input": {
          "type": "http",
          "method": "GET",
          "queryParams": {
            "type": "object",
            "properties": {
              "address": {
                "type": "string",
                "minLength": 3,
                "description": "Minneapolis street address"
              }
            },
            "required": [
              "address"
            ]
          },
          "example": {
            "address": "1700 Penn Ave N"
          }
        },
        "output_schema_id": "grokzilla.partner-resale.v1",
        "output_schema": {
          "description": "Normalized mn-property-check response (grokzilla.partner-resale.v1).",
          "type": "object",
          "properties": {
            "ok": {
              "description": "Always true on a 200 response.",
              "type": "boolean"
            },
            "schema": {
              "description": "Schema id, currently grokzilla.partner-resale.v1.",
              "type": "string"
            },
            "route": {
              "description": "Our route id, e.g. base-tx-decision.",
              "type": "string"
            },
            "provider": {
              "description": "Upstream data provider we resell (attribution).",
              "type": "string"
            },
            "subject": {
              "description": "What was checked.",
              "type": "object",
              "properties": {
                "kind": {
                  "description": "base_network | base_tx | street_address.",
                  "type": "string"
                },
                "value": {
                  "description": "The subject as the provider resolved it (tx hash, normalized address); null for network-wide checks.",
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "jurisdiction": {
                  "description": "base | nyc | minneapolis.",
                  "type": "string"
                }
              },
              "required": [
                "kind",
                "value",
                "jurisdiction"
              ],
              "additionalProperties": false
            },
            "verdict": {
              "description": "Provider verdict, lower snake case (settle_now, safe, registered_with_violations, licensed_clean, unlicensed...).",
              "type": [
                "string",
                "null"
              ]
            },
            "status": {
              "description": "ok, or no_records when a property lookup matched nothing (then a negative verdict may mean 'not found', not a confirmed negative).",
              "type": "string"
            },
            "summary": {
              "description": "Provider's one-line explanation, when it sends one.",
              "type": [
                "string",
                "null"
              ]
            },
            "risk_flags": {
              "description": "Machine-readable flags derived only from returned fields (see per-route list).",
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "evidence": {
              "description": "Records backing the verdict (capped at 25).",
              "type": "array",
              "items": {
              

… truncated here: the card is 83,168 characters as printed. The complete card is published at https://grokzilla.shop/.well-known/agent-card.json.