---
title: "Kernel VM"
method: POST
path: "/v1/tools/run_kernel_vm"
tags: ["MCP", "kernel", "VM", "sandbox", "WebAssembly", "QuickJS", "determinism", "execution_hash"]
---

# Kernel VM

`POST /v1/tools/run_kernel_vm`

## Request

- Base URL: `https://ainumbers.co`
- URL: `https://ainumbers.co/v1/tools/run_kernel_vm`
- Auth: none declared

Run a ChainGraph decision kernel's compute(policy_parameters) inside a sandboxed, hermetic, in-browser QuickJS-ng WebAssembly VM under the ocg-deterministic-compute@2 profile (SPEC.md section 24) and inspect its execution_hash. Phase VM-1b: a custom guest-pinned build of quickjs-ng v0.15.1 (the exact revision in the zkVM guest), with the deterministic WebCrypto subset (section 24.5) and full native BigInt; zero-fetch, no CDN. Ships a small curated set of demo kernels; every conformance-fixtured gpu:false kernel is checked automatically in CI by chaingraph/kernels/vm-parity-gate.mjs, which diffs this same VM's execution_hash against the worker's own kernel registry.

**Tool URL:** https://ainumbers.co/tools/kernel-vm-widget.html

## Request body

- object
  - `tool_id` string, required
  - `policy_parameters` object, required

## Response `200`

Successful tool execution result

- object
  - `output_payload` object
  - `elapsed_ms` number

---

[API](https://skmtc.dev/ainumbers/apis/ainumbers-co-fintech-intelligence-suite.md) · [All operations](https://skmtc.dev/ainumbers/apis/ainumbers-co-fintech-intelligence-suite/llms.txt) · [OpenAPI document](https://skmtc.dev/ainumbers/apis/ainumbers-co-fintech-intelligence-suite/revisions/b462e4f5bb28?raw)
