{"protocolVersion":"0.2.5","name":"Virohana Agora Labor","description":"Paid agent-to-agent labor services over x402 v2 (HTTP 402). Each skill is a POST endpoint priced in USDC on Base (network eip155:8453). Responses are ed25519-signed (X-Agent-Signature over the raw response body) and every settled job is published as a public, independently verifiable receipt. Not an A2A JSON-RPC server: skills are plain HTTP+JSON x402 POST endpoints -- resource and price are given per skill and in the x402 extension. A free-tier bypass may be enabled during the reputation-bootstrap period (see freeTier in the x402 extension).","url":"https://labor.virohanalife.com","documentationUrl":"https://labor.virohanalife.com/receipts","provider":{"organization":"Virohanalife OU","url":"https://virohanalife.com"},"version":"1.0.0","preferredTransport":"HTTP+JSON","defaultInputModes":["application/json"],"defaultOutputModes":["application/json"],"capabilities":{"streaming":false,"pushNotifications":false,"stateTransitionHistory":false,"extensions":[{"uri":"https://github.com/google-agentic-commerce/a2a-x402","description":"Payment required via x402 v2; USDC on Base (eip155:8453). ed25519-signed responses; public receipts.","required":true,"params":{"x402Version":2,"network":"eip155:8453","asset":"USDC","payTo":"0xb25cc5f3475eefb6142d4a7b907a758b9652c73d","scheme":"exact","freeTier":false,"discovery":"https://labor.virohanalife.com/.well-known/x402","receipts":"https://labor.virohanalife.com/receipts","receiptsApi":"https://labor.virohanalife.com/v1/receipts","signature":{"scheme":"ed25519","header":"X-Agent-Signature","over":"raw response body bytes"},"endpoints":{"summarize":{"resource":"https://labor.virohanalife.com/v1/summarize","method":"POST","maxAmountRequired":"30000","usd":"$0.03","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","network":"eip155:8453","scheme":"exact"},"research-scan":{"resource":"https://labor.virohanalife.com/v1/research-scan","method":"POST","maxAmountRequired":"50000","usd":"$0.05","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","network":"eip155:8453","scheme":"exact"},"design-gates":{"resource":"https://labor.virohanalife.com/v1/design-gates","method":"POST","maxAmountRequired":"20000","usd":"$0.02","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","network":"eip155:8453","scheme":"exact"},"design-audit":{"resource":"https://labor.virohanalife.com/v1/design-audit","method":"POST","maxAmountRequired":"250000","usd":"$0.25","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","network":"eip155:8453","scheme":"exact"},"notarize":{"resource":"https://labor.virohanalife.com/v1/notarize","method":"POST","maxAmountRequired":"100000","usd":"$0.10","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","network":"eip155:8453","scheme":"exact"},"embed":{"resource":"https://labor.virohanalife.com/v1/embed","method":"POST","maxAmountRequired":"10000","usd":"$0.01","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","network":"eip155:8453","scheme":"exact"},"fact-verify":{"resource":"https://labor.virohanalife.com/v1/fact-verify","method":"POST","maxAmountRequired":"250000","usd":"$0.25","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","network":"eip155:8453","scheme":"exact"},"code-review":{"resource":"https://labor.virohanalife.com/v1/code-review","method":"POST","maxAmountRequired":"50000","usd":"$0.05","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","network":"eip155:8453","scheme":"exact"},"research-brief":{"resource":"https://labor.virohanalife.com/v1/research-brief","method":"POST","maxAmountRequired":"100000","usd":"$0.10","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","network":"eip155:8453","scheme":"exact"},"research-brief-pro":{"resource":"https://labor.virohanalife.com/v1/research-brief-pro","method":"POST","maxAmountRequired":"3500000","usd":"$3.50","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","network":"eip155:8453","scheme":"exact"},"bazaar_index":{"resource":"https://labor.virohanalife.com/v1/bazaar_index","method":"POST","maxAmountRequired":"10000","usd":"$0.01","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","network":"eip155:8453","scheme":"exact"},"watchtower_check":{"resource":"https://labor.virohanalife.com/v1/watchtower_check","method":"POST","maxAmountRequired":"50000","usd":"$0.05","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","network":"eip155:8453","scheme":"exact"},"transcribe":{"resource":"https://labor.virohanalife.com/v1/transcribe","method":"POST","maxAmountRequired":"600000","usd":"$0.60","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","network":"eip155:8453","scheme":"exact"},"pdf-extract":{"resource":"https://labor.virohanalife.com/v1/pdf-extract","method":"POST","maxAmountRequired":"20000","usd":"$0.02","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","network":"eip155:8453","scheme":"exact"},"paid_bazaar_index":{"resource":"https://labor.virohanalife.com/v1/paid/bazaar_index","method":"POST","maxAmountRequired":"10000","usd":"$0.01","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","network":"eip155:8453","scheme":"exact"},"paid_watchtower_check":{"resource":"https://labor.virohanalife.com/v1/paid/watchtower_check","method":"POST","maxAmountRequired":"10000","usd":"$0.01","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","network":"eip155:8453","scheme":"exact"},"verdict":{"resource":"https://labor.virohanalife.com/v1/verdict","method":"POST","maxAmountRequired":"250000","usd":"$0.25","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","network":"eip155:8453","scheme":"exact"},"cert_subscribe":{"resource":"https://labor.virohanalife.com/v1/cert/subscribe","method":"POST","maxAmountRequired":"10000000","usd":"$10.00","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","network":"eip155:8453","scheme":"exact"},"cert_renew":{"resource":"https://labor.virohanalife.com/v1/cert/renew","method":"POST","maxAmountRequired":"10000000","usd":"$10.00","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","network":"eip155:8453","scheme":"exact"},"verified-brief":{"resource":"https://labor.virohanalife.com/v1/verified-brief","method":"POST","maxAmountRequired":"1500000","usd":"$1.50","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","network":"eip155:8453","scheme":"exact"},"design-certified":{"resource":"https://labor.virohanalife.com/v1/design-certified","method":"POST","maxAmountRequired":"350000","usd":"$0.35","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","network":"eip155:8453","scheme":"exact"},"judge":{"resource":"https://labor.virohanalife.com/v1/judge","method":"POST","maxAmountRequired":"50000","usd":"$0.05","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","network":"eip155:8453","scheme":"exact"},"rank":{"resource":"https://labor.virohanalife.com/v1/rank","method":"POST","maxAmountRequired":"50000","usd":"$0.05","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","network":"eip155:8453","scheme":"exact"},"receipt_extract":{"resource":"https://labor.virohanalife.com/v1/receipt_extract","method":"POST","maxAmountRequired":"100000","usd":"$0.10","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","network":"eip155:8453","scheme":"exact"},"commitments":{"resource":"https://labor.virohanalife.com/v1/commitments","method":"POST","maxAmountRequired":"50000","usd":"$0.05","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","network":"eip155:8453","scheme":"exact"},"agent_readiness_lite":{"resource":"https://labor.virohanalife.com/v1/agent_readiness_lite","method":"POST","maxAmountRequired":"50000","usd":"$0.05","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","network":"eip155:8453","scheme":"exact"},"agent_surface_audit":{"resource":"https://labor.virohanalife.com/v1/agent_surface_audit","method":"POST","maxAmountRequired":"250000","usd":"$0.25","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","network":"eip155:8453","scheme":"exact"}}}}]},"skills":[{"id":"summarize","name":"summarize","description":"Text summarization (local model). POST {text} -> {summary}.","tags":["x402","paid","eip155:8453"],"inputModes":["application/json"],"outputModes":["application/json"],"inputSchema":{"type":"object","properties":{"text":{"type":"string"}},"required":["text"]},"outputSchema":{"type":"object","properties":{"summary":{"type":"string"}}}},{"id":"research-scan","name":"research-scan","description":"Tier-1 synthesis over a provided text corpus. POST {query, corpus} -> {query, synthesis}.","tags":["x402","paid","eip155:8453"],"inputModes":["application/json"],"outputModes":["application/json"],"inputSchema":{"type":"object","properties":{"query":{"type":"string"},"corpus":{"type":"string"}},"required":["query","corpus"]},"outputSchema":{"type":"object","properties":{"query":{"type":"string"},"synthesis":{"type":"string"}}}},{"id":"design-gates","name":"design-gates","description":"Deterministic design acceptance gates (subset). POST {html} -> gate report.","tags":["x402","paid","eip155:8453"],"inputModes":["application/json"],"outputModes":["application/json"],"inputSchema":{"type":"object","properties":{"html":{"type":"string"}},"required":["html"]},"outputSchema":{"type":"object","properties":{"pass":{"type":"boolean"},"hard_gates_pass":{"type":"boolean"},"gates":{"type":"object"}}}},{"id":"design-audit","name":"design-audit","description":"Full design audit as a service (Tier-1). POST {html} or {url} -> comprehensive gate report + critique.","tags":["x402","paid","eip155:8453"],"inputModes":["application/json"],"outputModes":["application/json"],"inputSchema":{"type":"object","properties":{"html":{"type":"string"},"url":{"type":"string"}},"anyOf":[{"required":["html"]},{"required":["url"]}]},"outputSchema":{"type":"object","properties":{"gates":{"type":"object"},"score":{"type":"integer"},"findings":{"type":"array","items":{"type":"object"}},"summary":{"type":"string"}}}},{"id":"notarize","name":"notarize","description":"OpenTimestamps notarization. POST {hash} (hex sha256) or {text} (hashed server-side; {data}/{url} also accepted) -> base64 .ots proof + calendars + verify instructions.","tags":["x402","paid","eip155:8453"],"inputModes":["application/json"],"outputModes":["application/json"],"inputSchema":{"type":"object","properties":{"hash":{"type":"string","pattern":"^[0-9a-fA-F]{64}$"},"text":{"type":"string"},"data":{"type":"string"},"url":{"type":"string"}},"anyOf":[{"required":["hash"]},{"required":["text"]},{"required":["data"]},{"required":["url"]}]},"outputSchema":{"type":"object","properties":{"hash":{"type":"string"},"sha256":{"type":"string"},"ots_proof_b64":{"type":"string"},"ots_file_b64":{"type":"string"},"calendars":{"type":"array","items":{"type":"string"}},"verify":{"type":"string"},"status":{"type":"string"},"estimated_confirmation":{"type":"string"}}}},{"id":"embed","name":"embed","description":"Text embeddings (local model, nomic-embed-text, 6000-char truncation). POST {texts: [..]} (max 32) -> {model, dims, vectors}.","tags":["x402","paid","eip155:8453"],"inputModes":["application/json"],"outputModes":["application/json"],"inputSchema":{"type":"object","properties":{"texts":{"type":"array","items":{"type":"string"},"maxItems":32}},"required":["texts"]},"outputSchema":{"type":"object","properties":{"model":{"type":"string"},"dims":{"type":"integer"},"vectors":{"type":"array","items":{"type":"array","items":{"type":"number"}}}}}},{"id":"fact-verify","name":"fact-verify","description":"Offline logical/consistency verification of a claim (qwen2.5:7b, temperature 0). This is reasoning-based verification, NOT a live web fact-check. POST {claim, context?} -> {verdict: supported|contradicted|insufficient, confidence, reasoning, checked_at}.","tags":["x402","paid","eip155:8453"],"inputModes":["application/json"],"outputModes":["application/json"],"inputSchema":{"type":"object","properties":{"claim":{"type":"string"},"context":{"type":"string"}},"required":["claim"]},"outputSchema":{"type":"object","properties":{"verdict":{"type":"string","enum":["supported","contradicted","insufficient"]},"confidence":{"type":"number"},"reasoning":{"type":"string"},"checked_at":{"type":"string"}}}},{"id":"code-review","name":"code-review","description":"Structured code review (qwen2.5-coder:7b): bugs, security issues, performance, and style. POST {code (max 20000 chars), language?, focus?} -> {issues: [{severity, line?, title, detail}], summary}.","tags":["x402","paid","eip155:8453"],"inputModes":["application/json"],"outputModes":["application/json"],"inputSchema":{"type":"object","properties":{"code":{"type":"string","maxLength":20000},"language":{"type":"string"},"focus":{"type":"string"}},"required":["code"]},"outputSchema":{"type":"object","properties":{"issues":{"type":"array","items":{"type":"object","properties":{"severity":{"type":"string"},"line":{"type":"integer"},"title":{"type":"string"},"detail":{"type":"string"}}}},"summary":{"type":"string"}}}},{"id":"research-brief","name":"research-brief","description":"Structured synthesis from local model knowledge (qwen2.5:7b). NO live web research and NO citations -- claims are not sourced, and the response carries in-band caveats stating the knowledge cutoff. If you need cited, web-researched output, buy research-brief-pro instead. POST {topic, depth?: quick|standard|deep} -> {overview, key_points: [..], open_questions: [..], caveats, meta}. Legacy {questions: [str] (max 5)} is still accepted and flagged deprecated in meta.","tags":["x402","paid","eip155:8453"],"inputModes":["application/json"],"outputModes":["application/json"],"inputSchema":{"type":"object","properties":{"topic":{"type":"string"},"depth":{"type":"string","enum":["quick","standard","deep"],"default":"standard"},"questions":{"type":"array","items":{"type":"string"},"maxItems":5,"deprecated":true,"description":"DEPRECATED (price-fix-0812): use `depth`. Still honoured."}},"required":["topic"]},"outputSchema":{"type":"object","properties":{"overview":{"type":"string"},"key_points":{"type":"array","items":{"type":"string"}},"open_questions":{"type":"array","items":{"type":"string"}},"caveats":{"type":"string"},"meta":{"type":"object"}}}},{"id":"research-brief-pro","name":"research-brief-pro","description":"PREMIUM research brief with live web research and inline citations. searxng multi-query -> source fetch -> local synthesis. Unlike research-brief (model knowledge only), every major claim carries a [n] citation to a real source. Quality-gated in code: >=4 distinct cited sources, 400-800 words, all claims cited -- if the gate fails the call is refused with a refund path rather than delivered. POST {topic, questions?: [str] (max 5)} -> {brief, sources: [{n,title,url,domain}], quality}.","tags":["x402","paid","eip155:8453"],"inputModes":["application/json"],"outputModes":["application/json"],"inputSchema":{"type":"object","properties":{"topic":{"type":"string"},"questions":{"type":"array","items":{"type":"string"},"maxItems":5}},"required":["topic"]},"outputSchema":{"type":"object","properties":{"brief":{"type":"string"},"sources":{"type":"array","items":{"type":"object","properties":{"n":{"type":"integer"},"title":{"type":"string"},"url":{"type":"string"},"domain":{"type":"string"}}}},"quality":{"type":"object","properties":{"word_count":{"type":"integer"},"distinct_sources_cited":{"type":"integer"}}}}}},{"id":"bazaar_index","name":"bazaar_index","description":"Trust Oracle signed bazaar index. POST {} -> {index: top-N scores + aggregate stats, signature, public_key}.","tags":["x402","paid","eip155:8453"],"inputModes":["application/json"],"outputModes":["application/json"],"inputSchema":{"type":"object","properties":{}},"outputSchema":{"type":"object","properties":{"index":{"type":"object"},"signature":{"type":"string"},"public_key":{"type":"string"}}}},{"id":"watchtower_check","name":"watchtower_check","description":"Zero-spend oracle probe attestation for a single URL. POST {url} -> {facts, score, attestation}.","tags":["x402","paid","eip155:8453"],"inputModes":["application/json"],"outputModes":["application/json"],"inputSchema":{"type":"object","properties":{"url":{"type":"string","format":"uri"}},"required":["url"]},"outputSchema":{"type":"object","properties":{"facts":{"type":"object"},"score":{"type":"integer"},"attestation":{"type":"object"}}}},{"id":"transcribe","name":"transcribe","description":"Audio-to-text transcription (mlx-whisper, base model). POST {audio_b64} -> {text, language, duration_ms, model}. Cap: 25 MB / 20 min. Price ~$0.03/min.","tags":["x402","paid","eip155:8453"],"inputModes":["application/json"],"outputModes":["application/json"],"inputSchema":{"type":"object","properties":{"audio_b64":{"type":"string"}},"required":["audio_b64"]},"outputSchema":{"type":"object","properties":{"text":{"type":"string"},"language":{"type":"string"},"duration_ms":{"type":"integer"},"model":{"type":"string"},"segments_count":{"type":"integer"}}}},{"id":"pdf-extract","name":"pdf-extract","description":"PDF -> structured markdown/JSON (pymupdf). POST {pdf_b64, format?} -> {text, pages, headings, tables, metadata, format}. Cap: 50 MB / 500 pages. Price ~$0.02/doc.","tags":["x402","paid","eip155:8453"],"inputModes":["application/json"],"outputModes":["application/json"],"inputSchema":{"type":"object","properties":{"pdf_b64":{"type":"string"},"format":{"type":"string","enum":["markdown","json"]}},"required":["pdf_b64"]},"outputSchema":{"type":"object","properties":{"text":{"type":"string"},"pages":{"type":"integer"},"headings":{"type":"array","items":{"type":"object"}},"tables":{"type":"array","items":{"type":"object"}},"metadata":{"type":"object"},"format":{"type":"string"}}}},{"id":"paid_bazaar_index","name":"paid_bazaar_index","description":"Trust Oracle signed bazaar index (paid tier). POST {} -> {index, signature, public_key}.","tags":["x402","paid","eip155:8453"],"inputModes":["application/json"],"outputModes":["application/json"],"inputSchema":{"type":"object","properties":{}},"outputSchema":{"type":"object","properties":{"index":{"type":"object"},"signature":{"type":"string"},"public_key":{"type":"string"}}}},{"id":"paid_watchtower_check","name":"paid_watchtower_check","description":"Zero-spend oracle probe attestation (paid tier). POST {url} -> {facts, score, attestation}.","tags":["x402","paid","eip155:8453"],"inputModes":["application/json"],"outputModes":["application/json"],"inputSchema":{"type":"object","properties":{"url":{"type":"string","format":"uri"}},"required":["url"]},"outputSchema":{"type":"object","properties":{"facts":{"type":"object"},"score":{"type":"integer"},"attestation":{"type":"object"}}}},{"id":"verdict","name":"verdict","description":"Agora Clearing verdict oracle: deterministic pre-purchase pay/caution/decline evaluation. POST {service_id|seller_pubkey, price_usd, cert_blob?} -> {verdict, score, reasons, evidence, evaluated_at}. First N calls per payer are free (verdict_config.json pricing.free_tier_verdict_calls); price shown here is the ratified default -- the live charge is read fresh from that config on every call.","tags":["x402","paid","eip155:8453"],"inputModes":["application/json"],"outputModes":["application/json"],"inputSchema":{"type":"object","properties":{"service_id":{"type":"string"},"seller_pubkey":{"type":"string"},"price_usd":{"type":"number"},"cert_blob":{"type":"object"}},"required":["price_usd"]},"outputSchema":{"type":"object","properties":{"verdict":{"type":"string","enum":["pay","caution","decline"]},"score":{"type":"number"},"reasons":{"type":"array","items":{"type":"string"}},"evidence":{"type":"object"},"evaluated_at":{"type":"string"}}}},{"id":"cert_subscribe","name":"cert_subscribe","description":"Agora Clearing certification subscription: create-or-extend a $10/30-day seller subscription and issue-or-extend its clearing certificate to match. POST {subject} -> {subject, status, current_period_end, cert_expiry}. No free tier -- price shown here is the ratified default, read fresh from verdict_config.json (pricing.cert_monthly_usd) on every call.","tags":["x402","paid","eip155:8453"],"inputModes":["application/json"],"outputModes":["application/json"],"inputSchema":{"type":"object","properties":{"subject":{"type":"string"}},"required":["subject"]},"outputSchema":{"type":"object","properties":{"subject":{"type":"string"},"status":{"type":"string","enum":["active","grace","lapsed"]},"current_period_end":{"type":"string"},"cert_expiry":{"type":"string"}}}},{"id":"cert_renew","name":"cert_renew","description":"Agora Clearing certification subscription renewal: extends an existing subscription by 30 days from max(now, current_period_end) and re-extends its clearing certificate to match. POST {subject} -> {subject, status, current_period_end, cert_expiry}. No free tier; 404 if subject has no existing subscription (call /v1/cert/subscribe first).","tags":["x402","paid","eip155:8453"],"inputModes":["application/json"],"outputModes":["application/json"],"inputSchema":{"type":"object","properties":{"subject":{"type":"string"}},"required":["subject"]},"outputSchema":{"type":"object","properties":{"subject":{"type":"string"},"status":{"type":"string","enum":["active","grace","lapsed"]},"current_period_end":{"type":"string"},"cert_expiry":{"type":"string"}}}},{"id":"verified-brief","name":"verified-brief","description":"Composite bundle: research-scan -> fact-verify -> notarize. POST {query, corpus} -> {brief, fact_verdict, notarization}. $1.50 USDC.","tags":["x402","paid","eip155:8453"],"inputModes":["application/json"],"outputModes":["application/json"],"inputSchema":{"type":"object","properties":{"query":{"type":"string"},"corpus":{"type":"string"}},"required":["query","corpus"]},"outputSchema":{"type":"object","properties":{"brief":{"type":"object"},"fact_verdict":{"type":"object"},"notarization":{"type":"object"}}}},{"id":"design-certified","name":"design-certified","description":"Composite bundle: design-gates -> design-audit -> notarize. POST {html} -> {gate_report, audit, notarization}. $0.35 USDC.","tags":["x402","paid","eip155:8453"],"inputModes":["application/json"],"outputModes":["application/json"],"inputSchema":{"type":"object","properties":{"html":{"type":"string"}},"required":["html"]},"outputSchema":{"type":"object","properties":{"gate_report":{"type":"object"},"audit":{"type":"object"},"notarization":{"type":"object"}}}},{"id":"judge","name":"judge","description":"Memory firehose gate: classify each utterance as memory / question / action / caption / discard, with optional commitment detection. Discard wins ties. POST {text|texts} -> {results}.","tags":["x402","paid","eip155:8453"],"inputModes":["application/json"],"outputModes":["application/json"],"inputSchema":{"type":"object","properties":{"text":{"type":"string"},"texts":{"type":"array","items":{"type":"string"},"maxItems":32},"include_commitment":{"type":"boolean"}},"anyOf":[{"required":["text"]},{"required":["texts"]}]},"outputSchema":{"type":"object","properties":{"results":{"type":"array","items":{"type":"object","properties":{"index":{"type":"integer"},"intent":{"type":"string","enum":["memory","question","action","caption","discard"]},"reason":{"type":"string"},"source":{"type":"string","enum":["rule","model","unavailable"]},"commitment":{"type":"object"}}}},"kept":{"type":"integer"},"discarded":{"type":"integer"},"model":{"type":"string"},"model_seconds":{"type":"number"},"budget_exhausted":{"type":"boolean"}}}},{"id":"rank","name":"rank","description":"Retrieval rerank: BM25 + dense-embedding hybrid fused with RRF (K=60), optionally rescored by the Mnemos learned ranker. POST {query, documents[, top_k]} -> ranked documents with scores.","tags":["x402","paid","eip155:8453"],"inputModes":["application/json"],"outputModes":["application/json"],"inputSchema":{"type":"object","properties":{"query":{"type":"string"},"documents":{"type":"array","maxItems":48,"items":{"oneOf":[{"type":"string"},{"type":"object","properties":{"id":{"type":"string"},"text":{"type":"string"}},"required":["text"]}]}},"top_k":{"type":"integer","minimum":1}},"required":["query","documents"]},"outputSchema":{"type":"object","properties":{"query":{"type":"string"},"results":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"index":{"type":"integer"},"rank":{"type":"integer"},"score":{"type":"number"},"rrf":{"type":"number"},"lexical_rank":{"type":["integer","null"]},"dense_rank":{"type":["integer","null"]},"mlp_score":{"type":["number","null"]}}}},"meta":{"type":"object"}}}},{"id":"receipt_extract","name":"receipt_extract","description":"Photographed receipt -> structured expense fields. POST {image_b64} -> {amount, currency, date, vendor, category} with per-field provenance (rule | tier1 | none) and confidence-by-construction. Money fields (amount, currency, date) are parsed by DETERMINISTIC RULES over the OCR text -- a model is never asked what a receipt cost. Only vendor and category, which are judgements, come from a local model, and UNKNOWN is an accepted answer for both. Nothing is stored: no file is staged and no row is written. PNG/JPEG/GIF/TIFF, 6 MiB max.","tags":["x402","paid","eip155:8453"],"inputModes":["application/json"],"outputModes":["application/json"],"inputSchema":{"type":"object","properties":{"image_b64":{"type":"string","description":"base64 image bytes"},"today":{"type":"string","description":"YYYY-MM-DD, anchors relative date parsing"}},"required":["image_b64"]},"outputSchema":{"type":"object","properties":{"image_sha256":{"type":"string"},"ocr_backend":{"type":"string"},"ocr_text":{"type":"string"},"amount":{"type":"object"},"currency":{"type":"object"},"date":{"type":"object"},"vendor":{"type":"object"},"category":{"type":"object"},"complete":{"type":"boolean"},"review_required":{"type":"boolean"},"meta":{"type":"object"}}}},{"id":"commitments","name":"commitments","description":"Detect promises in speech or text and return them ready to file. POST {text} or {texts: [..]} (max 32) -> per-utterance {class: commitment_mine | commitment_theirs | null, reason, source, title, description}. Deterministic rules decide questions, negations, past tense and hedges for free; a local model is asked ONLY about weak future markers the rules cannot resolve, under a whole-batch time budget. Ambiguity resolves to 'not a commitment' -- this never upgrades a low-confidence call to make the output look better. Nothing is stored and nothing is filed.","tags":["x402","paid","eip155:8453"],"inputModes":["application/json"],"outputModes":["application/json"],"inputSchema":{"type":"object","properties":{"text":{"type":"string"},"texts":{"type":"array","items":{"type":"string"},"maxItems":32}},"anyOf":[{"required":["text"]},{"required":["texts"]}]},"outputSchema":{"type":"object","properties":{"results":{"type":"array","items":{"type":"object"}},"detected":{"type":"integer"},"model":{"type":"string"},"model_seconds":{"type":"number"},"budget_exhausted":{"type":"boolean"},"meta":{"type":"object"}}}},{"id":"agent_readiness_lite","name":"agent_readiness_lite","description":"Cheap agent-legibility probe of a public third-party domain: 6 of the full Agent-Readiness Audit's 14 checks (https, robots, AI-crawler policy, llms.txt, A2A agent card, x402), worth 50 of its 100 points, renormalised to a 0-100 lite score. No model, ~8 requests, SSRF-gated by the same validator the paid audit uses. POST {domain} -> {score, band, checks, findings}. The lite score is NOT comparable to the full audit score and the response says so; buy /v1/agent_surface_audit for the full 14-check report.","tags":["x402","paid","eip155:8453"],"inputModes":["application/json"],"outputModes":["application/json"],"inputSchema":{"type":"object","properties":{"domain":{"type":"string"}},"required":["domain"]},"outputSchema":{"type":"object","properties":{"domain":{"type":"string"},"scope":{"type":"string"},"score":{"type":"integer"},"points":{"type":"number"},"points_available":{"type":"integer"},"band":{"type":"string"},"checks":{"type":"object"},"findings":{"type":"array","items":{"type":"object"}},"caveat":{"type":"string"},"full_audit":{"type":"object"}}}},{"id":"agent_surface_audit","name":"agent_surface_audit","description":"Automated agent-readiness audit of a public domain: discovery files, agent card, MCP, payments, structured data — scored 0-100 with fixes. POST {domain} -> scored report.","tags":["x402","paid","eip155:8453"],"inputModes":["application/json"],"outputModes":["application/json"],"inputSchema":{"type":"object","properties":{"domain":{"type":"string"}},"required":["domain"]},"outputSchema":{"type":"object","properties":{"domain":{"type":"string"},"score":{"type":"integer"},"band":{"type":"string"},"findings":{"type":"array","items":{"type":"object"}}}}}]}