> ## Documentation Index
> Fetch the complete documentation index at: https://docs.verifiedx.me/llms.txt
> Use this file to discover all available pages before exploring further.

# VerifiedX Docs

> Protect the actions that matter.

VerifiedX checks whether an agent action or durable memory write is justified before it happens.

Your runtime, orchestrator, tools, and memory stay the same. VerifiedX sits at the action boundary, returns a machine-readable decision receipt, and helps the workflow keep moving safely when a side effect should not happen.

<Note>
  Run doctor in the repo before you wire anything:

  * TypeScript / OpenAI Agents SDK / Claude Agent SDK / Vercel AI SDK: `npx @verifiedx-core/sdk doctor`
  * Python / LangGraph: `verifiedx doctor`

  Protect one action free: [verifiedx.me](https://verifiedx.me/?vx_source=docs.introduction)
</Note>

<CardGroup cols={2}>
  <Card title="Quick Start" icon="rocket" href="/quickstart">
    Protect your first boundary in a few minutes.
  </Card>

  <Card title="Authentication" icon="key" href="/authentication">
    Get your API key and set the one required environment variable.
  </Card>

  <Card title="SDKs" icon="code" href="/sdks/python">
    Raw runtimes and native adapters for Python and TypeScript.
  </Card>

  <Card title="API Reference" icon="book" href="/api-reference/overview">
    See initialization, runtime binding, preflight, receipts, and logs.
  </Card>
</CardGroup>

## How it works

<Steps>
  <Step title="Install VerifiedX">
    Add the Python or TypeScript SDK, or use the native adapter that matches your stack.
  </Step>

  <Step title="Set your API key">
    Set `VERIFIEDX_API_KEY`. For most builders, that is the only required config.
  </Step>

  <Step title="Attach at the boundary">
    Bind your raw runtime methods or attach the native adapter you already use. Your existing tools, prompts, and orchestration stay the same.
  </Step>

  <Step title="Let VerifiedX check the important side effects">
    When the system is about to send a message, mutate a record, update state, or write durable memory, VerifiedX returns a decision and a receipt your workflow can act on.
  </Step>
</Steps>

## Pick your surface

Start with the integration surface that matches your stack:

<CardGroup cols={2}>
  <Card title="Python SDK" icon="python" href="/sdks/python">
    Use the raw runtime or a native Python adapter.
  </Card>

  <Card title="TypeScript SDK" icon="js" href="/sdks/typescript">
    Use `bindHarness(...)`, native adapters, or runtime fallbacks.
  </Card>

  <Card title="OpenAI" icon="robot" href="/sdks/openai">
    Protect OpenAI tool loops directly in Python or TypeScript.
  </Card>

  <Card title="OpenAI Agents SDK" icon="robot" href="/sdks/openai-agents-sdk">
    Attach VerifiedX to the OpenAI Agents SDK.
  </Card>

  <Card title="Anthropic / Claude" icon="sparkles" href="/sdks/anthropic">
    Protect Claude Messages API tool loops directly.
  </Card>

  <Card title="Claude Agent SDK" icon="sparkles" href="/sdks/claude-agent-sdk">
    Add VerifiedX to Claude Agent SDK workflows.
  </Card>

  <Card title="LangGraph" icon="diagram-project" href="/sdks/langgraph">
    Protect graph-based agent workflows in Python or TypeScript.
  </Card>

  <Card title="Vercel AI SDK" icon="bolt" href="/sdks/vercel-ai">
    Protect Vercel AI SDK tool calls in TypeScript.
  </Card>

  <Card title="MCP (Python)" icon="python" href="/sdks/mcp-python">
    Wrap standalone MCP tool handlers in Python.
  </Card>

  <Card title="MCP (TypeScript)" icon="js" href="/sdks/mcp-typescript">
    Wrap standalone MCP tool handlers in TypeScript.
  </Card>
</CardGroup>

If `doctor` shows a native adapter already owns the tool loop, graph, or runtime, use that page instead of the raw runtime path.

## What you get back

When a protected side effect is about to happen, VerifiedX returns one of four outcomes:

* `allow`
* `allow_with_warning`
* `replan_required`
* `goal_fail_terminal`

Every outcome includes a structured decision receipt with reasons and next-step guidance.

<Note>
  The Free Sandbox includes 250 protected action checks per month across every language, provider, framework, and adapter.
</Note>
