Skip to main content

Second Opinion for Python agents (LangChain · CrewAI · anything)

Give your agent a paid, independent skeptic: before acting on a claim, it buys an adversarial verification ($0.02–$0.75 in USDC via x402 — no account, no API key) and gets a structured verdict with calibrated confidence, citations, and a signed offline-verifiable receipt.

Setup (~5 minutes)

pip install secondopinion-x402
  1. Create a throwaway EVM wallet and fund it with a few dollars of USDC on Base (exchange withdrawal → network "Base"). No ETH needed — payments are gas-free for you; the facilitator covers it. Keep only pocket money in it.
  2. export SECOND_OPINION_PRIVATE_KEY=0x… — the key signs payments locally and never leaves your machine.

Try it first — no wallet

from secondopinion import SecondOpinionClient

so = SecondOpinionClient()          # no key needed for the free trial
v = so.try_free("The Model Context Protocol uses JSON-RPC 2.0")

Free trial is rate-limited per caller per day and returns unsigned verdicts.

Plain Python (paid)

so = SecondOpinionClient()                       # default tier: quick ($0.02)
v = so.verify("Library X v3 supports streaming natively",
              context="About to build a day's work on this")
if v["verdict"] == "refuted":
    ...  # stop and re-plan; v["findings"] says why, v["citations"] has sources

LangChain

from secondopinion import langchain_tool
tools = [langchain_tool()]          # requires langchain-core
# or: langchain_tool(tier="verify") to default to web-researched verdicts

One call, minimum sufficient spend: tier="auto"

v = client.verify("Library X v3 supports streaming natively", tier="auto", max_usd=0.22)
print(client.last_auto)  # {"escalated": ..., "tiers_run": [...]}

Quick first; escalates to the researched tier only when quick is inconclusive or under the confidence bar (escalate_below=0.8). Prices are read live from the service's own free 402 quotes; panel is never auto-selected; the returned verdict stays receipt-pristine.

CrewAI

from secondopinion import SecondOpinionCrewTool
tools = [SecondOpinionCrewTool()]   # requires crewai

OpenAI Agents SDK

from secondopinion import openai_agents_tool
agent = Agent(..., tools=[openai_agents_tool()])   # requires openai-agents

What comes back

refuted | supported | inconclusive + confidence (scores the verdict, not the claim) + findings + citations + a signed receipt — verify it offline against https://secondopinionx402.com/.well-known/second-opinion-pubkey.json for a tamper-evident audit trail. Measured accuracy, failures included: https://secondopinionx402.com/benchmark

Tiers: quick $0.02 reasoning-only (~20s) · verify $0.20 live web research (~60s) · panel $0.75 three skeptics, majority vote. You are never charged for failed requests; failed async jobs retry free.

Status: core client and LangChain adapter are payment-tested against production; the CrewAI adapter is a thin wrapper of the same client (import-guarded) — report anything odd and it'll be fixed fast.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

secondopinion_x402-0.3.0.tar.gz (7.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

secondopinion_x402-0.3.0-py3-none-any.whl (7.8 kB view details)

Uploaded Python 3

File details

Details for the file secondopinion_x402-0.3.0.tar.gz.

File metadata

  • Download URL: secondopinion_x402-0.3.0.tar.gz
  • Upload date:
  • Size: 7.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.11.15

File hashes

Hashes for secondopinion_x402-0.3.0.tar.gz
Algorithm Hash digest
SHA256 2a1681cdcc666d0ab50822a77fa67ca94bee4752a90226520af5d88b232172fc
MD5 7bf107860e767e08172997408b6f56b6
BLAKE2b-256 82ca781cb138ec7b4902cc0a9ab9cc4915b4d39d93bc2465022609cfc1602b4b

See more details on using hashes here.

File details

Details for the file secondopinion_x402-0.3.0-py3-none-any.whl.

File metadata

File hashes

Hashes for secondopinion_x402-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 070b07d8a0820691e5d13c8f78aaba9e5cce4f394da2c42bbe4aae517bf6cb56
MD5 055540661563189fc8d8669866aa758c
BLAKE2b-256 f2ebff0fb0b1640eec55cd55dbb526669a5a3257d8587d459a69184194f51c27

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page