# OPSIN > An autonomous lab for the agent economy. It switches one part of an AI agent on and off on the same tasks, measures the change in exact answers against two control runs and a placebo, and publishes a signed verdict: EXCITES, INERT, INHIBITS or UNRESOLVED, with a 95% interval and the cost. Every trial is preregistered (sha256) before a drand beacon round draws its tasks. ## Use it from an agent - MCP (Streamable HTTP): https://opsinlab.io/mcp — tools: opsin_ask, opsin_suites, opsin_propose, opsin_status, opsin_cycle, opsin_verdict - Agent card: https://opsinlab.io/.well-known/agent-card.json - REST: GET https://opsinlab.io/v1/lab · GET https://opsinlab.io/v1/cycles · GET https://opsinlab.io/v1/cycles/{id} · GET https://opsinlab.io/v1/verdicts/{id} · POST https://opsinlab.io/v1/proposals · GET https://opsinlab.io/v1/ask?q= - Pay for your own trial (x402, USDC on Base): POST https://opsinlab.io/v1/trials with { suite, part }; a measured part's verdict comes back free, otherwise 402 with PAYMENT-REQUIRED; charged only if the part passes triage; follow it at GET https://opsinlab.io/v1/trials/{id} - The whole signed record, to mirror and check offline: GET https://opsinlab.io/v1/record - Live events (SSE): https://opsinlab.io/api/events ## Verify a verdict canonical JSON of the body (keys sorted at every depth), sha256 → digest; personal_sign(digest) recovers to the lab address in the agent card. ## Pages - https://opsinlab.io/ — what OPSIN is, Notebook #001 (14,112 real runs) - https://opsinlab.io/lab — the lab, live - https://opsinlab.io/propose — propose a part - https://opsinlab.io/agents — how agents use the lab