Media

moves the media

Money

gets both kinds of user paid on one rail

Dispatch

chooses the path

Media

Money

Dispatch

Company

WAVE · Transcode Edge

Your encoder farm is
now one API call.

Hand WAVE one master and name the rungs you want back. No GPU fleet to rack, no packaging pipeline to babysit, and a bill that counts only the transcode-minutes that encoded. WAVE is media infrastructure for the agentic internet: people and agents call the same route and pay for it per call.

● live GET /health answers 200; an unauthenticated POST never reaches GPU time

Two refusals and one price. Run all three.

A route that was never built returns 404. These do not. Call the spoke directly and it answers 403, because the request did not come through the gateway. Call the gateway with no payment and it answers 402 with the price of the call. No key needed for either.

$ curl -s -X POST https://transcode.wave.online/v1/transcode
403 {"ok":false,"error":"403 request did not traverse the WAVE gateway"}

$ curl -s -X POST https://gateway.wave.online/v1/transcode
402 {"accepts":[{"scheme":"exact","network":"base",
                 "maxAmountRequired":"15000",
                 "resource":"/v1/transcode","asset":"USDC"}]}

USDC carries six decimals, so 15000 is $0.015000 for the call. That number came off the live route, not a pricing page, and it moves when the route moves. Send a key the gateway does not recognise and you get 401 with a request id you can quote back.

One POST stands in for the whole encoder farm.

Putting video in front of a real audience used to mean racking an encoder fleet, hand-authoring an adaptive-bitrate ladder, packaging HLS and DASH, and paying for GPUs that idle between jobs. One authenticated POST hands your master to a managed GPU transcode substrate, and the ladder comes back behind short-lived, HMAC-signed delivery URLs.

  gateway-authenticated request
    │
    ▼   Transcode Edge on the WAVE protocol plane
  POST /v1/transcode ─▶ {source, mode, ladder}
  GET  /v1/transcode/live/:ns/:rung ─▶ per-subscriber ABR rung
    │
    └─ auth + metering federate through api.wave.online

You name the rungs. The schema refuses the rest.

There is no house ladder to argue with. You send the rungs you want and the validator decides whether they are buildable, before a single second of GPU time is bought. Four codecs. Width from 16 to 7680, height from 16 to 4320, so a thumbnail and an 8K master go through the same door. Bitrate from 50 kbps to 80 Mbps. An empty ladder is rejected. Anything outside those bounds throws, and the job is never submitted.

codecsh264 · h265 · vp9 · av1
width16 to 7680 px
height16 to 4320 px
bitrate50 kbps to 80 Mbps per rung
ladderat least one rung, as many as you send
meteredtranscode-minutes, counting only the seconds that encoded
VODlive ABRx402fail-closed

One plane on the whole WAVE fabric

The gateway that authenticates and meters this spoke fronts every other WAVE spoke, so a master transcoded here composes straight into WAVE delivery and per-subscriber live rung selection without leaving the fabric. One identity, one meter, one bill across the whole media path.