The engine

The WAVE Dispatch Engine

One engine for deciding how work gets done — which tier should run this, at what cost, on whose infrastructure. We return the decision in milliseconds; your stack runs the work. The prompt never has to leave your network for us to route it.

Solved once — for every kind of work

Classification, cost-aware routing, the confidence gate, and decision metering belong to the engine. Add a model, a pool, or a provider and it inherits all of it — no second identity system, no second meter, no second compliance posture.

Edge classify

Live

A prompt is classified in embedding space at the edge and answered with a route, not a completion — which tier should run this work. Milliseconds, and no inference performed to decide.

The decision is the unit

Live

One routing decision is one metered unit — $0.0001 over x402, or a card subscription. WAVE bills the orchestration layer and never the inference, so local hops we never executed are never token-billed.

Agent-payable

Live

Dispatch was the first WAVE service an autonomous agent paid for over HTTP-402. High-frequency, low-stakes decisions are exactly where per-call settlement has to work without friction — so this is where the open path was proven first.

Control plane / data plane

Live

The wall is the product. Keys, prompts, and inference stay on your infrastructure; the edge returns a decision and receives nothing it did not need. BYO-infra and BYO-keys are architectural, not a setting you can forget to switch on.

Sovereign, fail-closed

Live

Run it fully local and it fails closed: if local inference fails, you get an error — not a silent forward of your prompt to a frontier provider. The quiet leak is the failure mode worth engineering against.

Reach it from anywhere

Live

Thin clients in five languages, a CLI, an MCP tool surface, and an OpenAI-compatible proxy — point an agent you already run at a new base URL and it routes.

Named profiles

Building

Fast, Expert, Heavy, and Code as explicit local → heavy → frontier chains, so a route resolves to a named policy instead of a single hop. Defined and scaffolded; not yet served by the live decision path.

Published economics

Building

The proxy logs every request so you can measure your own local-able fraction before enabling offload. Measuring YOUR traffic ships today; a published WAVE benchmark with methodology does not — and we will not quote a savings number until it does.

One plane for the AI surface

Planned

Voice, captions, transcription, sentiment, and search inherit this plane rather than inventing a parallel one — the same routing policy, the same meter, the same agent path.

Where the work actually runs

The wall is the product. We return a decision; your infrastructure does the work.

Ours · billable

The control plane

  • Classifies the turn at the edge
  • Returns a route and a confidence margin
  • Checks the licence or the x402 payment
  • Meters exactly one decision
Yours · private

The data plane

  • Runs the model — local pool, heavy box, or frontier
  • Holds every API key
  • Sees the prompt and the output
  • Never hands us either one

One turn, end to end

D0Turna prompt, a caption job, a classification — any unit of work
D1Classifyembedding-space margin classifier · at the edge · no inference
D2Decideroute · profile · chain · confidence margin
D3Executeyour local pool · your heavy box · your frontier keys
D4Meterone decision, one unit · x402 or subscription
D5Escalatelow confidence climbs the chain — never silently

Three engines, one surface

Carry the media. Clear the payment. Choose the path.

One API. One gateway. Three planes. Agents transact on all three.

Why this is an engine and not an AI feature

Once media can move and value can settle, something still has to decide what computation each request actually needs. Most systems answer by default — send everything to a frontier model, pay frontier prices, and let every prompt leave the building. That default is a policy choice, not a technical necessity, and the Dispatch Engine exists to make it optional. It does not replace models. It decides which one earns the turn.

See it decide