{"service":"Second Opinion","tagline":"Adversarial verification for AI agents. Pay per verdict, no account, no API key.","version":"0.1.0","base_url":"https://secondopinionx402.com","payment":{"protocol":"x402","network":"algorand-mainnet","caip2":"algorand:wGHE2Pwdvd7S12BL5FaOP20EGYesN73ktiC1qzkkit8=","asset":"USDC","rails":[{"network":"algorand-mainnet","caip2":"algorand:wGHE2Pwdvd7S12BL5FaOP20EGYesN73ktiC1qzkkit8=","preferred":true},{"network":"base","caip2":"eip155:8453","preferred":false},{"network":"polygon","caip2":"eip155:137","preferred":false},{"network":"solana","caip2":"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp","preferred":false}],"facilitator":"https://facilitator.goplausible.xyz","facilitators_by_rail":{"algorand":"https://facilitator.goplausible.xyz","solana":"https://facilitator.goplausible.xyz","base":"coinbase-cdp","polygon":"coinbase-cdp"},"how":"Request a paid endpoint without payment to receive HTTP 402 + payment requirements. Pay with any x402 client (e.g. @x402-avm/fetch) and retry with the X-PAYMENT header.","note":"Failed verifications (HTTP 5xx) are never settled — you are only charged for delivered verdicts."},"mcp":{"hosted":"https://secondopinionx402.com/mcp","transport":"streamable-http (stateless)","tools":["second_opinion_try (free trial)","second_opinion_quick","second_opinion_verify","second_opinion_panel","second_opinion_result (free)","second_opinion_pricing (free)"],"note":"Zero-install: add the URL as a remote MCP server / custom connector. Paid tools return an exact quote, then accept a caller-built x402 payment payload — wallet keys never touch this server. Prefer local signing? `npx secondopinion-x402 mcp` pays from your machine (free-trial tool needs no wallet)."},"free_trial":{"method":"POST","path":"/v1/try","price":"free","limits":{"per_caller_per_day":3,"global_per_day":150,"claim_max_chars":500},"what":"The identical quick-tier engine (same model, same calibration) with no payment: no wallet, no account. Trial verdicts are UNSIGNED — paid verdicts add the offline-verifiable Ed25519 receipt.","mcp_tool":"second_opinion_try"},"receipts":{"signed":"every verdict carries an Ed25519 `receipt` — verify offline against the published key","public_key":"https://secondopinionx402.com/.well-known/second-opinion-pubkey.json","covers":"the response minus its `receipt` field, canonical JSON (keys sorted, no whitespace, UTF-8)"},"privacy":{"claim_logging":"never — request logs carry route, status, timing, IP and claim LENGTH only","storage":"no database; async results live in memory for 1 hour, then are gone","processing":"claims are sent to the engine provider (Anthropic; OpenAI on the free beta seat) under their API terms","payments":"on-chain and public by nature (wallet, amount, time); claim text never touches the chain","identity":"no accounts — no identity data held"},"endpoints":[{"method":"POST","path":"/v1/verify/quick","price":"$0.02","description":"Reasoning-only check, no web research: attacks the claim's logic and its fit with established knowledge. Always returns searched_web:false and empty citations. Verdicts that need current-world facts come back 'inconclusive' with an explicit pointer to /v1/verify. Async variant at /v1/verify/quick/async (required for Solana).","request_body":"same as /v1/verify","response":"same shape as /v1/verify with mode:'quick'"},{"method":"POST","path":"/v1/verify","price":"$0.20","description":"One independent skeptic attempts to refute your claim using live web research, then returns a structured verdict.","request_body":{"claim":"string, 8–2000 chars, required. The claim you are about to act on.","context":"string, optional. Why it matters / where it came from.","claimed_sources":"string[] of URLs, optional, max 5. Sources you relied on (they will be scrutinised, not trusted)."},"response":{"verdict":"\"refuted\" | \"supported\" | \"inconclusive\"","confidence":"number 0–1 (confidence in the verdict, not the claim)","summary":"one paragraph, loggable","findings":"[{ point, direction: against_claim|for_claim|neutral, source_url? }]","citations":"string[] — URLs actually consulted","engine":"{ model, searched_web }"}},{"method":"POST","path":"/v1/verify/panel","price":"$0.75","description":"Three independent skeptics attack the claim through different lenses (evidence, logic, currency/scope). Majority verdict with per-seat breakdown.","request_body":"same as /v1/verify","response":"same as /v1/verify, plus panel: [{ lens, verdict, confidence, summary }]"}],"async_endpoints":[{"method":"POST","path":"/v1/verify/async","price":"$0.20","description":"Same verification, async: pay and receive { job_id, status, result_url } within seconds, then poll the free result_url. Settlement completes on submission. REQUIRED for Solana payments (Solana transactions expire before sync verdicts finish); available to every rail."},{"method":"POST","path":"/v1/verify/panel/async","price":"$0.75","description":"Three-skeptic panel as a polled job. Same semantics as /v1/verify/async."}],"free_endpoints":[{"method":"POST","path":"/v1/try","description":"Free trial: the quick check with no payment, 3/day per caller (claim ≤500 chars; unsigned verdict)"},{"method":"GET","path":"/","description":"Human-readable docs (this page as HTML)"},{"method":"GET","path":"/v1/schema","description":"This document"},{"method":"GET","path":"/v1/openapi.json","description":"OpenAPI 3.1 specification"},{"method":"GET","path":"/llms.txt","description":"Agent-readable service summary"},{"method":"GET","path":"/terms","description":"Terms of service (liability cap: the fee paid for the verdict in question; verdicts are research, not professional advice)"},{"method":"GET","path":"/v1/jobs/{job_id}","description":"Async job status + verdict when done (free; ids expire 1h after completion)"},{"method":"POST","path":"/v1/jobs/{job_id}/retry","description":"Free retry for failed async jobs (you paid; an engine hiccup shouldn't cost you twice)"},{"method":"GET","path":"/healthz","description":"Liveness probe"}],"verdict_semantics":{"refuted":"Specific disconfirming evidence or a decisive flaw was found. Check the citations before discarding your claim.","supported":"A genuine attempt to break the claim failed. Evidence, not proof.","inconclusive":"Evidence is mixed, missing, or the claim is not checkable as stated. The summary says exactly what is unverifiable."}}