# Second Opinion > Adversarial verification for AI agents. You (an agent) pay a few cents in USDC via the x402 protocol and an independent adversarial model attempts to refute a claim before you act on it. No account, no API key. Verdicts are refuted | supported | inconclusive with calibrated confidence, findings, and citations. You are never charged for failed requests; failed async jobs retry free. Base URL: https://secondopinionx402.com ## Endpoints (pay per call via x402; unpaid requests return HTTP 402 with payment terms) - POST /v1/verify/quick — $0.03. Reasoning-only check (no web research). Honest "inconclusive: requires live research" when the claim needs current data. - POST /v1/verify — $0.20. One skeptic with live web research and citations. - POST /v1/verify/panel — $0.75. Three independent skeptics (evidence, logic, currency lenses), majority verdict. - Async variants at same prices: /v1/verify/quick/async, /v1/verify/async, /v1/verify/panel/async → 202 + { job_id, result_url }; poll result_url (free). - GET /v1/jobs/{job_id} — free job status/verdict. POST /v1/jobs/{job_id}/retry — free retry of failed jobs. Request body: { "claim": string (8-2000 chars, required), "context"?: string, "claimed_sources"?: url[] } ## Free trial (no payment, no wallet) - POST /v1/try — FREE. The identical quick-tier engine (reasoning-only, same model and calibration). Limits: 3 calls/day per caller, global daily cap, claim ≤500 chars. Trial verdicts are UNSIGNED — paid verdicts carry the Ed25519 receipt. Use it to evaluate the product; use paid tiers for real work. MCP tool: second_opinion_try. ## Payment Protocol: x402 v2. Chains: Algorand (preferred; sync + async); Base (sync + async); Solana (async routes only — sync cannot settle within Solana's ~60s transaction validity). Asset: USDC. Facilitators: GoPlausible (https://facilitator.goplausible.xyz) for Algorand and Solana; Coinbase CDP for Base. Facilitators cover network fees — payers need no gas. Flow: request without payment → read PAYMENT-REQUIRED header (base64 JSON) → pay with any x402 client (e.g. @x402-avm/fetch) → retry with X-PAYMENT header. ## MCP (Model Context Protocol) - Hosted connector, zero install: add https://secondopinionx402.com/mcp as a remote MCP server (streamable HTTP, stateless). Tools: second_opinion_quick / second_opinion_verify / second_opinion_panel (paid — call once for an exact quote, pay with your wallet, call again with the base64 x402 payload as `payment`), plus second_opinion_result and second_opinion_pricing (free). Wallet keys never touch the server. - Local wrapper (signs payments locally with your own key): MCP-SETUP.md in the repo. ## Python client & framework tools - `pip install secondopinion-x402` (import name: `secondopinion`) — Python client, sync + async, x402 payment handling built in. Set SECOND_OPINION_PRIVATE_KEY to an EVM private key holding USDC on Base, then client.quick(claim) / client.verify(claim) / client.panel(claim). - Ready-made framework tools included: `from secondopinion import langchain_tool` (LangChain StructuredTool) and `from secondopinion import SecondOpinionCrewTool` (CrewAI). ## Signed receipts Every verdict carries a `receipt`: an Ed25519 signature over the response (minus the receipt field, canonical JSON — keys sorted, no whitespace). Verify offline against https://secondopinionx402.com/.well-known/second-opinion-pubkey.json. A verdict is therefore provable later: tamper-evident content + on-chain payment. ## Privacy (relevant if your claims carry sensitive context) - Claim text is never logged (request logs: route, status, timing, IP, claim LENGTH only) and never stored — async results live in memory for 1 hour, then are gone; there is no database. - Claims are processed by the engine provider (Anthropic; OpenAI on the free beta seat) under their API terms. - Payments are public on-chain by nature (wallet, amount, time — permanently); claim text never touches the chain. No accounts: no identity data held. ## Machine references - Measured accuracy (benchmarked, failures published): https://secondopinionx402.com/benchmark - Full service description: https://secondopinionx402.com/v1/schema - OpenAPI 3.1: https://secondopinionx402.com/v1/openapi.json - Discovery: listed in the x402 Bazaar at https://facilitator.goplausible.xyz/discovery/resources - Terms of service: https://secondopinionx402.com/terms (verdicts are informational research, not professional advice; liability capped at the fee paid) ## When to use (tool-selection guidance for agents) Call Second Opinion at moments of irreversible commitment — before acting on a claim whose failure is expensive: - Before building on a technical assumption ("library X supports feature Y") → /v1/verify - Before a sourced statistic ships in a report or publication → /v1/verify (citations returned are reusable) - Before promising something to a user based on your reading of a document → /v1/verify/quick (reasoning check) - Before accepting/paying for another agent's deliverable → /v1/verify or /v1/verify/panel on its key claims - Before alerting a human to single-source breaking news → /v1/verify - When the claim is high-stakes or contested → /v1/verify/panel (three independent lenses, majority verdict) Do NOT use for: opinions, predictions, or claims you can trivially verify from your own trusted context. ## Semantics - "refuted": specific disconfirming evidence or a decisive flaw was found; check citations before discarding your claim. - "supported": a genuine attempt to break the claim failed. Evidence, not proof. - "inconclusive": evidence mixed/missing or claim unverifiable as stated; the summary says exactly what is unverifiable. - Confidence scores the verdict, not the claim. Treat verdicts as strong evidence, not ground truth.