> ## 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.

# Initialization

> Initialize the VerifiedX runtime in Python or TypeScript.

Most builders initialize VerifiedX once, then use the returned runtime object with the raw runtime or a native adapter.

## Basic usage

<CodeGroup>
  ```python Python theme={null}
  from verifiedx import init_verifiedx

  vx = init_verifiedx()
  ```

  ```typescript TypeScript theme={null}
  import { initVerifiedX } from "@verifiedx-core/sdk";

  const vx = await initVerifiedX();
  ```
</CodeGroup>

## What you do next

After initialization, use the returned runtime object with the integration surface you chose.

<CodeGroup>
  ```python Python theme={null}
  vx.install_runtime(node, ...)
  ```

  ```typescript TypeScript theme={null}
  vx.bindHarness(harness, ...)
  ```
</CodeGroup>

If you are using a native adapter such as OpenAI, Anthropic, Claude Agent SDK, LangGraph, Vercel AI SDK, or MCP, initialize VerifiedX once and then pass it into that adapter.

## Required configuration

For normal SDK usage, **`VERIFIEDX_API_KEY` is the only required environment variable**.

```ini .env theme={null}
VERIFIEDX_API_KEY=your_runtime_key
```

<Note>
  Both SDKs read `VERIFIEDX_API_KEY` automatically. Most builders do not need any additional initialization config.
</Note>

## Python

Use `init_verifiedx()` when you are working in Python.

* Returns a VerifiedX runtime object
* Synchronous
* Usually followed by `install_runtime(...)` or a native Python adapter

```python theme={null}
from verifiedx import init_verifiedx

vx = init_verifiedx()
```

## TypeScript

Use `initVerifiedX()` when you are working in TypeScript.

* Returns a Promise resolving to a VerifiedX runtime object
* Async
* Usually followed by `bindHarness(...)` or a native TypeScript adapter

```typescript theme={null}
import { initVerifiedX } from "@verifiedx-core/sdk";

const vx = await initVerifiedX();
```

<Warning>
  `initVerifiedX()` is async. Always `await` it before using the returned runtime object.
</Warning>

## Advanced usage

Both SDKs also support advanced initialization in code for custom transports and specialized setups, but most builders should ignore that and use the default environment-variable path.

The normal public integration pattern is:

1. Set `VERIFIEDX_API_KEY`
2. Initialize VerifiedX once
3. Bind the raw runtime or attach the native adapter
