{"version":"1.4","origin":"penniless-json-repair.sjaman.workers.dev","display_name":"Penniless Data Utilities","description":"Nine deterministic data and lookup utilities for AI agents, paid per call over x402 v2 or native MPP; no API key or signup required.","payout_address":"0x3D98800c64C345950E1eAaa076D88C12d1BF5F37","payments":{"x402":{"networks":[{"network":"base","asset":"USDC","contract":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","facilitator":"https://facilitator.payai.network"}]}},"intents":[{"name":"repair_json","description":"Repairs malformed LLM JSON: strips Markdown fences and prose wrappers, fixes trailing commas, converts Python literals (True/False/None) and single/unquoted keys, removes comments, recovers balanced JSON from truncated output. Body {input} -> {ok, repaired, applied}.","endpoint":"/repair/json","method":"POST","parameters":{"input":{"type":"string","required":true,"description":"Malformed JSON text"}},"price":{"amount":0.001,"currency":"USDC","model":"per_call","network":"base"},"payments":{"x402":{"direct_price":0.001,"description":"Pay 0.001000 USDC per successful call via x402 v2 on Base."}}},{"name":"yaml_to_json","description":"Converts a YAML subset (block maps, sequences, nested indentation, scalars, comments) into JSON with no runtime dependency. Body {input} -> {ok, value, warnings}.","endpoint":"/yaml/tojson","method":"POST","parameters":{"input":{"type":"string","required":true,"description":"YAML document text"}},"price":{"amount":0.001,"currency":"USDC","model":"per_call","network":"base"},"payments":{"x402":{"direct_price":0.001,"description":"Pay 0.001000 USDC per successful call via x402 v2 on Base."}}},{"name":"cron_next_run","description":"Computes the next UTC fire time for a 5-field cron expression (supports steps, ranges, lists, and month/weekday names). Body {expr, after?} -> {ok, next, epochMs}.","endpoint":"/cron/nextrun","method":"POST","parameters":{"expr":{"type":"string","required":true,"description":"5-field cron expression"},"after":{"type":"string","required":false,"description":"ISO timestamp to search after (default now)"}},"price":{"amount":0.001,"currency":"USDC","model":"per_call","network":"base"},"payments":{"x402":{"direct_price":0.001,"description":"Pay 0.001000 USDC per successful call via x402 v2 on Base."}}},{"name":"text_diff","description":"Produces a unified diff plus added/removed counts between two texts (LCS line diff, configurable context lines). Body {old, new, context?} -> {ok, identical, added, removed, hunks, unified}.","endpoint":"/diff","method":"POST","parameters":{"old":{"type":"string","required":true,"description":"Original text"},"new":{"type":"string","required":true,"description":"Changed text"},"context":{"type":"number","required":false,"description":"Context lines per hunk (default 3)"}},"price":{"amount":0.001,"currency":"USDC","model":"per_call","network":"base"},"payments":{"x402":{"direct_price":0.001,"description":"Pay 0.001000 USDC per successful call via x402 v2 on Base."}}},{"name":"text_extract","description":"Extracts clean text, title, headings, links, URLs, and emails from HTML or plain text. Body {input, numbers?, codeBlocks?} -> {ok, source, title, headings, links, urls, emails, text}.","endpoint":"/text/extract","method":"POST","parameters":{"input":{"type":"string","required":true,"description":"HTML or plain text"},"numbers":{"type":"boolean","required":false,"description":"Keep numeric strings in text output"},"codeBlocks":{"type":"boolean","required":false,"description":"Keep pre/code blocks"}},"price":{"amount":0.001,"currency":"USDC","model":"per_call","network":"base"},"payments":{"x402":{"direct_price":0.001,"description":"Pay 0.001000 USDC per successful call via x402 v2 on Base."}}},{"name":"domain_whois","description":"Structured WHOIS via RDAP for any domain: registrar, IANA id, statuses, expiry/registration dates, nameservers, DNSSEC. Body {domain} -> {ok, found, domain, registrar, status[], events{}, nameservers[], dnssec}.","endpoint":"/domain/whois","method":"POST","parameters":{"domain":{"type":"string","required":true,"description":"Domain name, no scheme"}},"price":{"amount":0.001,"currency":"USDC","model":"per_call","network":"base"},"payments":{"x402":{"direct_price":0.001,"description":"Pay 0.001000 USDC per successful call via x402 v2 on Base."}}},{"name":"dns_lookup","description":"JSON DNS-over-HTTPS lookup for A, AAAA, CNAME, MX, TXT, NS, SOA, PTR, SRV, CAA. Body {domain, type?} -> {ok, domain, type, status, answers[]}.","endpoint":"/dns/lookup","method":"POST","parameters":{"domain":{"type":"string","required":true,"description":"Hostname to resolve"},"type":{"type":"string","required":false,"description":"Record type (default A)","enum":["A","AAAA","CNAME","MX","TXT","NS","SOA","PTR","SRV","CAA"]}},"price":{"amount":0.001,"currency":"USDC","model":"per_call","network":"base"},"payments":{"x402":{"direct_price":0.001,"description":"Pay 0.001000 USDC per successful call via x402 v2 on Base."}}},{"name":"github_repo_stats","description":"Popularity and metadata for any public GitHub repo: stars, forks, open issues, watchers, language, license, topics, last push. Body {repo} -> {ok, found, stars, forks, openIssues, language, license, pushedAt}.","endpoint":"/github/repo-stats","method":"POST","parameters":{"repo":{"type":"string","required":true,"description":"owner/name"}},"price":{"amount":0.001,"currency":"USDC","model":"per_call","network":"base"},"payments":{"x402":{"direct_price":0.001,"description":"Pay 0.001000 USDC per successful call via x402 v2 on Base."}}},{"name":"email_validate","description":"Email deliverability check: RFC-style syntax plus live MX probe of the domain. Body {email} -> {ok, valid, formatValid, domainHasMx, mx[]}.","endpoint":"/email/validate","method":"POST","parameters":{"email":{"type":"string","required":true,"description":"Email address"}},"price":{"amount":0.001,"currency":"USDC","model":"per_call","network":"base"},"payments":{"x402":{"direct_price":0.001,"description":"Pay 0.001000 USDC per successful call via x402 v2 on Base."}}}]}
