Skip to main content
An open standard · Apache-2.0 · Draft

The sink is a computer.
So every hop can optimize.

.WAI™ is an open container and capability-dispatch envelope. A WAI file names the capability each piece of content needs — a standard codec, an integer learned codec, or instructions the sink replays — and a conforming sink rebuilds it. The representation is chosen per piece, and receipts record what was received.

Encode

Split and choose.

Each object names its own capability, so a stream changes representation from one piece to the next.

In the standard
per-object capabilities, multi-rendition envelopes, content-hashed segmentation whose deduplication a verifier recomputes, a packaging policy with scene cuts, an integer video encoder, and packages with a stage index, a signed receipt and HLS, DASH and Media over QUIC views
Edge

Select, don't rewrite.

A conforming relay preserves each WAI envelope and each receipt it forwards, byte for byte.

In the standard
relay preservation, a binding to Media over QUIC (an IETF Internet-Draft) with one envelope per object, and one manifest generation per session class
In the standard
a deriving edge that rebuilds content and signs its own step
Decode

Rebuild and prove.

The sink rebuilds from instructions, state or coded samples.

In the standard
worlds, films, feeds, avatars, score, spatial audio, haptics and 4D splats; integer codecs whose conformance requires byte-identical output; and an enhancement layer bound to its base
In the standard
staged delivery: refinements that arrive after the base, each linked to it by hash
In the standard
staged delivery rebuilt in the browser, stage by stage

WAI defines no transport and no delivery network; it rides existing carriers. A sink decodes each capability with the decoder it registered for it. Every era of delivery changed the pipe; WAI changes the cargo. The status page dates each label above.

Explore

The Pipeline

A sink that computes can be told what to run.

WAI treats the receiver as a computer. The file names the capability each piece of content needs, the sink dispatches it by a fixed algorithm and rebuilds the content, and a receipt records what arrived. The four steps below are in the standard.

Name

The file says what to run.

The manifest names the capability and an optional fallback. A neural capability also names the prior it decodes against.

Dispatch

The same steps at every sink.

Run the named capability, else the fallback, else report the file inert. Six numbered steps, below.

Rebuild

The sink makes the output.

Standard codecs decode their canonical bytes. Integer codecs and instruction formats rebuild the same state, samples or per-frame identity on every machine. A world model pins its action trace, not its frames; a spatial-audio mix is exact given the sources' decoded samples.

Receipt

What arrived is on record.

A BLAKE3 content hash per object and an Ed25519-signed receipt per group, forwarded unaltered by conforming relays. A receipt attests bytes; it does not interpret them.

Split · stage · automate

Split the content. Send a base, then refinements.

Because each object names its own capability, an encoder can split content into pieces, choose a representation for each, and send a base before the refinements that follow it — for on-demand and live delivery alike. What the standard does here, as the status page lists it:

In the standard
One WAI envelope per Media over QUIC object, so a live track changes capability from one object to the next; multi-rendition envelopes, each entry with its own id, payload digest and model pin; content-hashed segments under a signed segment map; an enhancement layer carried with, and bound to, exactly one base; a pinned binary payload format for each integer codec, with a cost a sink reads before it decodes; and staged delivery, refinements as separate objects after their base, each linked to it by hash.
01
read-envelope
WAI1 magic, manifest length, payload length
02
parse-manifest
UTF-8 JSON, capability, fallback
03
resolve-capability
Primary if advertised, else fallback
04
decode-payload
Canonical codec bytes for the resolved capability
Capability dispatch — the six-step algorithm (§4)
01 · Read manifest. Reject unknown major. wai "1.0": the WAI1 envelope's wire version
02 · Let cap = model_requirement.capability. the dispatch key
03 · If sink advertises cap, decode and return. happy path
04 · Else let fb = model_requirement.fallback. may be null
05 · If sink advertises fb, decode via fb and return. declarative fallback
06 · Else file is inert at this sink. Return missing-capability. explicit, not silent

Every conforming sink MUST implement these six steps. In a WAI1 envelope, wire version 1.0, a fallback names a second decoder for the same payload; alternate content travels as renditions in a multi-rendition envelope. Both are in the standard.

Two conditions, one envelope

Neural condition. Zeroth condition. Same dispatch.

The neural condition regenerates the media from a compact conditioning payload against a prior the sink already holds; the envelope names the prior and does not carry it. The prior's identity is named, not left vague: a pinned prior carries a content hash and a determinism contract. A capability whose pinned determinism contract is integer-exact reproduces byte-for-byte on every machine; a float neural decode is exact only on the same build and cannot back replicate; a perceptual capability declares a similarity threshold instead.

The zeroth condition dispatches to registered standard codecs: PNG (W3C Recommendation, Third Edition), FLAC (RFC 9639) and zstd (RFC 8878) at the mandatory floor; AVIF (the AOMedia specification, built on HEIF and MIAF-conforming), JPEG XL (ISO/IEC 18181), JPEG (ITU-T T.81), Opus (RFC 6716) and AV1 (AOMedia) in the recommended set.

WAI dispatches to standard codecs and also defines integer codecs whose conformance requires byte-identical output on every machine. Each capability owner owns its payload format; the envelope is unchanged when new capabilities register. All of this is in the standard.

WAI Quantum

Quantum circuits you can run anywhere, and check.

Free and open source, with no account. One engine is behind Quantum Studio in the browser and on the desktop, the command line, the packages for Python, JavaScript and Rust, the MCP server for agents and the job service, so a program gives the same answer wherever it runs, with a signed receipt.

The Anatomy

Correctness in the types.

WAI states its assumptions in the file: who decodes, what fidelity is contracted, and which model the conditioning is shaped for. The envelope and the manifest carry those invariants, and one dispatch algorithm reads them. Everything in this section is in the standard unless it says otherwise.

Container envelope — wire version 1.0 (§2)
magic ASCII WAI1 (4 B)
man_len u32 little-endian
manifest UTF-8 JSON
payload_len u32 little-endian
payload the capability's payload bytes

Bytes 0..4 MUST be ASCII WAI1. A reader MUST reject any file whose first four bytes differ. All multi-byte integers little-endian. The manifest is UTF-8 JSON with no insignificant whitespace, preserving key insertion order so files round-trip byte-identically.

Manifest schema (§3)
wai "1.0"
media image | audio | video | text
intent replicate | create | improve
model_requirement.capability wai.image.jxl
model_requirement.fallback wai.image.png | null
model_requirement.min_sim perceptual threshold (optional)
conditioning.kind jxl
conditioning.prior { id, sha256, determinism } (optional)
conditioning.prior.form registered wire form, e.g. wai.prior.nnc (optional)
security { encryption, kid } (optional)
target { w, h, sr, dur, frames }

media is informational; the capability is authoritative. replicate is the only intent with normative reconstruction semantics at wire version 1.0. target is informational; the payload is self-describing per the codec's own format. security describes an encrypted payload, which the sink recovers before dispatch.

WAI2 rendition entry — wire version 1.1 (§7.1)
capability wai.video.av1
kind av1
prior as in WAI1 (optional)
role rendition | companion (optional)
companion_of the component a companion binds to
Capability is the contract

Named, not supplied.

The capability string is what the sink dispatches on. wai.image.jxl means the payload is libjxl bytes; the sink either has libjxl wired up or falls back. WAI does not embed the decoder.

Payload is canonical

No re-framing.

For a standard codec the payload bytes are exactly what it normally emits — a JXL file, an Opus stream, a PNG — with no wrapping. Conformance is checked per capability class: byte-identical output for the integer and fixed-point classes, and each standard's own criterion for codecs whose standard defines a tolerance.

Model is a precondition

Named, never shipped.

A neural capability names a model the sink must already hold — the envelope never carries the weights, exactly as .mp3 ships no decoder. But it does name which one: a bit-exact capability pins the prior by content hash plus a determinism contract; a perceptual one pins a similarity threshold. Identity, not transport.

Inert is loud

No silent fallthrough.

If the sink has neither the primary capability nor the declared fallback, the file is inert at this sink and the dispatch returns a clear missing-capability error. No silent reinterpretation, no first-payload assumption on major-version mismatch.

Versioning is strict

Reject unknown major.

The wai field is MAJOR.MINOR. A reader MUST reject an unknown MAJOR. A reader MUST accept an unknown MINOR by ignoring fields it does not understand. A registered capability's payload format is fixed forever.

Wire version 1.1: multi-rendition

Fallback becomes executable.

The WAI2 envelope, wire version 1.1, adds a rendition table that carries every declared capability's payload in one envelope. The sink picks by deployer policy — quality against latency, native against WebNN, bandwidth headroom.

Base + refinement

Send the base first.

An enhancement layer rides as a WAI2 companion, bound to exactly one base rendition. Staged delivery — WAI-native refinements as separate objects after their base — is in the standard, and runs in the browser.

Energy is labelled

A figure and its class, signed together.

WAI names how an energy figure was acquired with one of four acquisition classes: CalibratedInstrument and OnChipCounter (each with a declared uncertainty), ModelBased, or Estimator. An energy claim signs an object's figure together with its class, and decode receipts carry the class as a signed label beside their figure. HwShunt is legacy and never emitted. Unmetered work reads as not metered.

Confidentiality is optional

Decrypt, then dispatch.

A manifest's security field marks an encrypted payload. The capability, media and conditioning fields still describe the plaintext codec, and the sink recovers the plaintext before it runs the dispatch algorithm.

What WAI binds together

The output, its tier, its energy, one signature.

What WAI binds together: the reconstruction a file pins, the determinism tier its decode meets, a measured energy figure labelled with how it was obtained, and one signature over the same reproducible output. Typed determinism tiers, the energy acquisition classes with their declared uncertainty, and a signed energy claim per object are in the standard, and so are labelled JWP leaves and energy measurement reports.

The Spec

A mandatory floor. A recommended set. Registered capabilities.

Every conforming sink MUST implement the mandatory floor — PNG, FLAC, zstd. The mandatory floor guarantees that a file encoded to a floor codec opens at every conforming sink; there is no floor codec for video. The recommended set is SHOULD-implement; other capabilities are OPTIONAL and registered. Each capability owns its payload format, and the envelope is unchanged when new capabilities are added. Every capability on this page is in the standard unless it says otherwise.

Read the specification Browse every extension

Mandatory floor — MUST implement (§5)
wai.image.png

PNG (W3C Recommendation, Third Edition)

lossless image

wai.audio.flac

FLAC (RFC 9639)

lossless audio

wai.text.zstd

zstd (RFC 8878)

compressed bytes

Recommended set — SHOULD implement
wai.image.jxl JPEG XL (ISO/IEC 18181) lossless and lossy image
wai.image.avif AVIF (AOMedia specification; built on HEIF, MIAF-conforming) lossy image, AV1-based
wai.image.jpeg JPEG (ITU-T T.81) legacy compatibility
wai.audio.opus Opus (RFC 6716) lossy speech and music
wai.video.av1 AV1 (AOMedia) lossy video
wai.video.av1.lossless AV1 (AOMedia), quantizer=0 lossless YUV (lossy in RGB after colour conversion)
wai.text.xz XZ / LZMA2 high-ratio general compression

The codecs in the floor and the recommended set are each licensed royalty-free by the body that publishes them. Every capability in the codec registry carries a licence class a deployer can filter on in code. Broadcast and streaming codecs are registered too, each licence-classified, never a default, and decoded by the sink's own libraries; an enhancement layer rides as a companion bound to exactly one base.

Integer codecs — byte-identical output is the conformance criterion
wai.neural.int_synth integer fixed-point synthesis learned image synthesis in integer arithmetic; can back replicate
wai.neural.int_hyper integer conditional codec learned image; hyper-decoder, entropy decode and synthesis all integer
wai.video.int_motion integer inter-frame video; integer block motion compensation, whole- or half-pel, rANS residual
wai.video.int_hyper learned integer keyframe + integer inter-frames video; the whole decode is integer
wai.audio.int_codec learned 1-D transform codec audio; int16 PCM byte-identical on every machine
wai.splat.int_codec learned Gaussian-splat attribute codec 3D; the decoded attribute tensor is the contract, the rasterizer is sink-supplied
wai.generate.spectral integer generative synthesis (intent create) output pinned to model, prompt, seed and steps
wai.neural.int_mlicpp integer MLIC++ entropy topology learned image; channel-autoregressive entropy decode in integer arithmetic

These are WAI's own codecs. Each decodes in integer arithmetic, so its conformance requires the same output bytes on every machine.

Neural capabilities — OPTIONAL, registered by capability owner
wai.neural.encodec32 EnCodec, 32 kHz, 4 codebooks learned audio, residual vector quantization
wai.neural.dac DAC, 44.1 kHz learned audio, residual vector quantization
wai.neural.mimi Mimi, 12.5 Hz frame rate learned speech, streaming frame rate
wai.neural.wavtokenizer WavTokenizer learned speech, single codebook
wai.neural.snac SNAC multi-resolution RVQ learned audio, coarse-to-fine code levels
wai.neural.bmshj2018 bmshj2018-factorized + rANS learned image, factorized entropy model
wai.neural.mbt2018_mean mean-scale hyperprior learned image, conditional entropy model
wai.neural.elic checkerboard context model learned image, hyperprior + two-pass spatial context
wai.neural.mlicpp MLIC++ multi-reference entropy learned image, channel-autoregressive entropy model
wai.neural.mlicv2 MLICv2 / MLICv2+, MetaFormer transform learned image; shares the MLIC++ decode route
wai.neural.cmic Content-Adaptive Mamba (ICLR 2026) learned image, state-space transform; shares the MLIC++ decode route
wai.neural.glc Generative Latent Coding generative image, categorical latent entropy
wai.image.jpegai ISO/IEC 6048 JPEG AI codestream to RGB entropy-consistency: the decoded symbols reproduce on every machine; the exact decoder also pins one reconstruction, with no platform maths library, under its stated build conditions
wai.neural.video_bmshj2018 per-frame bmshj2018 learned video, per frame; browser-decodable on WebGPU
wai.neural.dcvc_rt DCVC-RT, inter-frame learned video, reference-feature propagation; native sink
wai.neural.dcvc_fm DCVC-FM, feature modulation learned video, wide single-model quality range; native sink

Each neural capability names a model the sink must already hold; the capability owner defines the payload. A float neural decode is exact only on the same build and cannot back replicate. The inter-frame video capabilities decode through the ONNX runtime on native sinks; a browser sink that cannot host the temporal network declares wai.neural.video_bmshj2018 for the video media class.

Computed content — the wire carries instructions or state; the sink rebuilds
wai.world.scene / .replay / .live WWLD op log replay-equivalence · interactive worlds
wai.world.model a signed action trace plus a declared model id replay-equivalence covers the action trace; the generated frames are covered by a provenance receipt
wai.film.linear / .reel a sealed world, camera track and frame schedule film-equivalence · linear film
wai.audio.score note events; the sink synthesizes mixdown-equivalence · score
wai.audio.scene audio objects and trajectories mixdown-equivalence, given the sources' decoded PCM · spatial audio
wai.haptic.signal intensity and sharpness keyframes sample-equivalence · haptics
wai.feed.state state feed over WWLD replay-equivalence · state feeds
wai.avatar.pose skeletal pose over WWLD pose-equivalence · avatars
wai.splat.4d per-Gaussian keyframed tracks frame-state-equivalence · volumetric
wai.ternary.tt balanced-ternary tensor-train transform, integer scales reconstruction-equivalence; lossy, registered for provenance rather than rate
wai.quantum.circuit a gate op log, simulated classically in fixed point statevector-equivalence; no quantum hardware and no speedup claimed
wai.quantum.circuit2 the same gate op log, with a correctly rounded phase table statevector-equivalence; the successor of wai.quantum.circuit, whose phase ladder gives the quantum Fourier transform
wai.video.manifest / .ssai / .keys / .package / .channel signed records of on-demand and channel delivery: session-class manifests, ad decisions, key releases, content-hashed packaging and playout windows the verify half · the delivery workflow
wai.asset.provenance a signed lineage for captured content WAI does not rebuild the verify half · provenance
wai.quantum.calibration / .job signed receipts of a calibration run, and of a job bound to the calibration state it ran under the verify half · quantum operations
wai.live.room / .events / .compose / .recording / .metering / .steering / .moderation / .e2ee, wai.capture.take, wai.text.timed signed records of a live room: its descriptor and grants, its events, its composition, its recording and takes, its captions, what each session cost, which pathway each client was steered to, its moderation and its end-to-end encryption the verify half · live rooms

Each rebuilt capability registers its own payload format and an equivalence criterion over WAI's fixed-point floor; the verify-half entries rebuild nothing and carry signed receipts. Reference-implementation receipt kinds (not registered): wai.quantum.cal.*, wai.quantum.cal.spectroscopy / .robust_ff, wai.quantum.cal.noise_learn (sealed as wai.quantum.calibration), wai.quantum.mitigate, wai.quantum.decode, wai.quantum.compile, wai.quantum.rearrange, wai.quantum.qbom, wai.quantum.toolchain. Each seals a signed receipt in the reference implementation and runs on a demo page; see the WAI demos index.

Extensions — receipts, energy, delivery & fidelity contracts
jwp-receipts extension text per-object BLAKE3 content hashes, per-group Merkle roots and Ed25519 group signatures; typed receipt classes (delivery, energy, lawful-basis, log-inclusion) and a soft binding a conforming relay preserves each envelope byte for byte and each receipt it forwards unaltered; a receipt reached through a soft binding attests the ancestor
oer-receipts extension text OER/2 receipts: one unit of work, its joule cost, and that cost's evidential grade; canonical, content-addressed, hash-chained, Ed25519-signed reason-set-equivalence: for every published vector a verifier reports exactly the declared reasons, checked by independent implementations that share no canonicalisation code
energy-measurement extension text how a joule figure is acquired: the required acquisition class (CalibratedInstrument and OnChipCounter, each with a declared uncertainty; ModelBased; Estimator; HwShunt as legacy) and the rule that decides whether a figure may be published no figure without a class, no class without a figure; unmetered is reported as not metered. Relates its classes to the data-source-accuracy identities of the IETF GREEN working group's draft-ietf-green-power-and-energy-yang, without adopting that model
energy-binding extension text the energy assertion written into a signed C2PA manifest, with inception c2pa.opened and the codestream as parent ingredient requested, committed and delivered operating points are sealed separately, with the residual against a declared complexity descriptor
determinism-tiers extension text the tier vocabulary — entropy-consistency and decode-equivalence — typed in code: what a decode reproduces, and where a tier covers what the sink emits, not the decode alone; post-decode processing voids it; replicate means exactly what its tier guarantees
derived-tracks extension text the derivation operations of ISO/IEC 23001-16 as capability strings each operation carries its own determinism tier
prior-carriage extension text the wire form a pinned prior's digest covers, with the NNC bitstream (ISO/IEC 15938-17) registered as wai.prior.nnc a replicate whose prior declares a wire form the sink cannot read is refused
reconstruction-binding extension text a hard binding over the deterministically decoded output of a neural-coded asset the reconstruct-side companion to provenance
provenance extension text a signed, energy-accounted lineage for captured content WAI does not rebuild content addressing plus receipts
confidentiality extension text end-to-end encrypted rooms: every media object sealed as an MoQ secure object (SFrame, RFC 9605) under keys from one MLS group (RFC 9420) per room, whose membership follows the room's grants decrypt, then dispatch; relays route, meter and sign receipts for ciphertext alone; an encrypted room is never recorded
live-rooms extension text live rooms: a signed room descriptor and the grants under which each participant takes part, with signed and chained events (live-events), an integer layout every sink computes alike (live-compose), WHIP and WHEP onto a room's tracks (live-ingest), recordings and provable clips (live-recording), captions that carry their origin (timed-text), a metering receipt per session (live-metering), steering by measured energy (energy-steering) and moderation (live-moderation) every record is signed and a verifier replays it; no new transport
moq-streaming-format extension text WAI as a Media over QUIC streaming format (MOQT and MSF are IETF Internet-Drafts): exactly one whole envelope per object; catalog fields wai_capabilities, wai_determinism, wai_receipts an optional per-object WAI_RECEIPT property (content hash, joules, acquisition class, group receipt) that relays preserve; tracks the drafts rather than pinning one, and defines no transport
capability-constraints extension text support is not binary: a registration MAY publish constraint sets over register-named parameters, in the grammar of AMWA BCP-004 evaluated before dispatch; an object that satisfies no set is unsupported at that sink, not a decode error
unidirectional-delivery extension text bearers with no return path, such as broadcast, satellite and multicast a receipt over a one-way bearer attests what was transmitted, never what was received or rendered
task-fidelity extension text the contract for media a downstream model consumes, graded Measured, Transferred or Asserted a sibling of the determinism tiers: a graded assertion, not sink-checkable from the bytes
transparency extension text an external encoding for receipts (JCR-1, deterministic CBOR + COSE_Sign1) and registration of group receipts with a transparency service strictly additive: the JWP chain stays authoritative; a log-inclusion claim carries the log's evidence verbatim
interactive-worlds extension text worlds as a replayable op log replay-equivalence
linear-film extension text films and reels generated from a sealed world film-equivalence

Each linked extension is in the standard, with Draft status; its name links to its text, mirrored on this site from wai/extensions/ in the source tree. Every extension, by topic.

One payload, one capability

A registered payload format is fixed for good.

A WAI payload always corresponds to exactly one capability. For a standard codec the payload bytes are the canonical bytes that codec emits; for a WAI integer codec they are the bitstream its registration defines. Conformance is checked per capability class: byte-identical output for the integer and fixed-point classes, and each standard's own criterion for codecs whose standard defines a tolerance. New capabilities are added by registration; existing capabilities MUST NOT be redefined, and removing or repurposing one requires a new MAJOR.

The Reference Implementation

One reference implementation. Many expected.

Transaction Science ships wai-rs in Rust as the reference. It builds as lib, cdylib, and staticlib so the C ABI in src/ffi.rs drops in as libwai.dylib / .so / .dll and can be called from any language. For standard codecs the crate calls each codec's own library; WAI's integer codecs are implemented in the crate and also build to WASM. Conformance is checked per capability class: byte-identical output for the integer and fixed-point classes, and each standard's own criterion for codecs whose standard defines a tolerance. Every library, tool and suite: Libraries and tools.

wai-rs — at a glance
language Rust
crate types lib, cdylib, staticlib
C ABI src/ffi.rs (drops in as libwai.dylib / .so / .dll)
image stack image crate, ravif, jpegxl-rs (libjxl 0.11.x)
audio stack opus (libopus 1.x), claxon + flac-bound
video stack rav1e (encode), dav1d (decode)
text stack zstd (libzstd), xz2 (liblzma)
integer engines native in wai-rs; WASM in wai-web
receipts JWP per-object and group receipts; OER/2
carriage test cargo test --test carriage
CI legs macOS arm64, Linux x86-64, Linux arm64

The carriage test (cargo test --test carriage) carries every capability in the codec registry through the full envelope, byte-identically, and checks dispatch, fidelity tier and licence class. Decode is tested for the capabilities the reference implementation decodes; broadcast, immersive and volumetric registrations are decoded by the sink's own libraries. Byte-identical decoding of the integer paths is checked in CI on macOS arm64, Linux x86-64 and Linux arm64; each workflow shows its current status.

Calls standard codecs, defines integer ones

For standard codecs the reference implementation calls each codec's own library — libjxl, libopus, libFLAC, dav1d, libzstd, liblzma and others. WAI's integer codecs are its own, implemented in the crate in integer arithmetic.

Conformance per class

A conforming encoder MUST emit containers that any conforming sink can read. A decode is checked by its capability's class: byte-identical output for the integer and fixed-point classes, and each standard's own criterion where that standard defines a tolerance.

Drop-in C ABI

cdylib / staticlib with a stable C FFI surface in src/ffi.rs. Any language with a C FFI can read and write WAI envelopes without re-implementing the manifest parser or the dispatch.

Apache-2.0

The specification and the wai-rs reference implementation are Apache-2.0. The codecs in the mandatory floor and the recommended set are each licensed royalty-free by the body that publishes them, and every capability in the codec registry carries a licence class a deployer can filter on in code.

A call for second implementations

A standard with one implementation has one failure mode.

The reference implementation is a starting point, not the standard. The carriage test, the golden vectors for the integer paths and the cargo-class corpora are in the tree, so a second implementation in another language checks itself against them. The spec, the vectors and the harness are the invitation.

Governance

Apache-2.0. Reference, not certified.

WAI is a Draft standard with an Apache-2.0 reference implementation. Byte-identical decoding of the integer paths is checked in CI on macOS arm64, Linux x86-64 and Linux arm64, and each workflow shows its current status. The standard is its documents, its registered capability table and the tests that check an implementation against them — not any brand.

Apache-2.0, with a licence class per codec

The specification and reference implementation are Apache-2.0. The codecs in the mandatory floor and the recommended set are each licensed royalty-free by the body that publishes them, and every capability in the codec registry carries a licence class a deployer can filter on in code.

Frozen wire format

The container (§2) and manifest schema (§3) are frozen for all of v1.x. The magic bytes WAI1 and WAI2 are stable; sinks dispatch by magic. Removing or repurposing a registered capability requires a new MAJOR version.

Capability registry

New capabilities MAY be added in any MINOR revision. Once a capability string is registered for a codec, its payload format is fixed forever. The registry is the ledger; the entries are append-only by design.

Forkable, but conformance-gated

Permissive licensing means anyone can fork. A fork whose output diverges fails the conformance check for that capability's class — the carriage test, and byte-identical output on the integer paths — and the divergence is reviewable. Forking is allowed; silent drift isn't.

Ingest, not compete

Codec work from open and private efforts is registered with the licence class it carries. The registry is a coordination surface: a capability names the work, and the sink runs whichever implementation it registered for it.

What it does

The WAI status page lists what the standard does, area by area, each linked to its text and its conformance. Companion implementations carry their own licence. What is open, and what the licence grants: Open by design.

Why the envelope holds

The protocol's identity is its documents and its registry.

"WAI" is a name on a set of documents and a Rust crate. The documents define the envelope, the manifest schema, the dispatch algorithm, and the registered capability table; the carriage test and the integer-path vectors check an implementation against them. Strip the name off the whole stack and nothing about how it works changes.

The WAI family

An open standard, and the products built on it.

WAI is the open standard: its documents, its capability registry, its conformance suites and its reference implementation, under Apache-2.0. Transaction Science's commercial products are built on it, each on its own site. They do not change the standard, and the standard does not depend on them.

  • The open standard

    WAI This site

    The format and how it rides existing carriers: the specification, the capability registry, the conformance suites, and the reference implementation with its command line, libraries and verifiers. Free to implement.

    Draft · Apache-2.0

  • Media work

    waiTransport

    Transaction Science's media work on WAI, from the relay to the receipt: live rooms over Media over QUIC, and signed receipts with measured energy that anyone can check with open code.

    Commercial

  • Fleet operations

    waiOS

    waiTransport's enterprise fleet operation, running WAI across an organisation: fleet key logs, policy, energy reporting, private registries, compliance and provenance, and room policies and metering.

    Commercial

Steward, not owner

The standard has no owner by construction. Publishing the specification, shipping the reference implementation and keeping the conformance suites honest is stewardship. Anyone can implement WAI, mirror its capability registry or build a product on it. The products sit beside the standard, never inside the envelope, the manifest, the capability registry or the dispatch rules. What is open, and what that means