v0.9.1 · Apache 2.0 · Open source

Define once.
Run anywhere.

Traverse is a contract-driven WASM runtime. Write business logic once with a machine-readable contract, run it natively or in the browser today, and let AI agents call it safely over MCP.

pricing.toml
[capability]
name    = "calculate-price"
version = "1.2.0"
wasm    = "pricing.wasm"

[governing_spec]
title   = "Pricing Policy v3"
source  = "docs/pricing-policy.md"

[input]
type = "object"
properties.sku      = "string"
properties.quantity = "integer"
properties.region   = "string"
required = ["sku", "quantity"]

[output]
type = "object"
properties.total    = "number"
properties.currency = "string"
required = ["total", "currency"]
terminal
$traverse run pricing --input '{"sku":"PRO","quantity":5}'
✓ Contract validated
✓ WASM executed (2.1ms)
→ {"total": 249.95, "currency": "USD"}

Write a contract.
Ship a capability.

Three steps from idea to a portable, contract-governed piece of business logic running in any environment.

01

Define the contract

Write a TOML file with your capability name, the WASM binary path, and JSON Schema definitions for inputs and outputs. Link it to the governing spec document your team actually works from.

02

Compile to WASM

Implement the logic in Rust and compile to wasm32-wasi. The same binary runs on every placement target without recompilation.

03

Register and run

Add the capability to the registry with traverse add. Call it from the CLI, from an AI agent via MCP, or from your app directly. Every call is validated and traced.

Everything business logic needs

From contract validation to AI agent discovery, Traverse handles the entire lifecycle.

Contract-first validation

Every capability call validates inputs against a JSON Schema precondition before execution. Postconditions validate the output. Bad data never reaches your logic.

WASM sandbox isolation

Each capability runs in its own Wasmtime WASM instance with linear memory isolation. A capability cannot access host resources it was not explicitly granted.

AI agent integration

Expose your entire capability registry to AI agents via the MCP stdio server. Claude, GPT-4, and any MCP-compatible agent can discover and call capabilities safely.

Cross-platform portability

One WASM binary runs on the native target today, and directly in the browser via the Web embedder SDK. Edge and cloud placement are on the roadmap, not yet shipped.

Trace artifacts

Every execution produces a trace artifact: the input, the output, the contract version, and a timestamp. Audit any past run without re-executing anything.

Governing specs

Every contract links to the governing spec document it implements. When the policy changes, you update the spec and bump the contract version. The paper trail is built in.

One runtime. Any environment.

1
WASM binary runs identically on every placement target that has actually shipped — see the honest status on Platforms.
0
Logic rewrites when moving between environments. Same contract, same binary, same behavior everywhere.
2ms
Typical contract execution time on the local target. WASM startup is fast. Contract validation adds negligible overhead.

Built for real business logic

Pricing rules, eligibility checks, compliance logic — any deterministic computation that needs to run reliably everywhere.

Pricing and discount logic

Encode complex pricing rules as a contract with a link to your pricing policy document. The same capability runs in your frontend, your backend, and inside AI agent pipelines with identical results.

Learn more →

Eligibility and access rules

Run eligibility logic as a sandboxed WASM capability so an AI agent can check a user's eligibility for a product, service, or feature without risk of hallucinating the answer.

Learn more →

Compliance and audit logic

Capture regulatory and compliance rules in versioned contracts with governing spec links. Every execution is traced. Auditors can replay any historical decision from the trace artifact.

Learn more →

AI agent guardrails

Give your AI agents a set of contract-governed capabilities to call. The agent cannot exceed the contract's boundaries. Postcondition checks block invalid outputs before they propagate.

Learn more →

Start building with Traverse

Install the CLI, write your first contract, and run it in under five minutes.