The QUIC-native agent protocol.
AIRE — Agent Interchange Runtime Envelope — is a wire protocol for agent-to-agent communication. Open spec. Apache 2.0. Built for migration, multiplexed fan-out, semantic cancellation, and budget-aware backpressure.
The bet
The agent era is moving across HTTP. HTTP is wrong for agents — wrong for streaming, wrong for fan-out, wrong for migration, wrong for identity, wrong for cancellation, wrong for cost-aware backpressure.
The right altitude isn't a new layer-4 protocol. QUIC already fixed the transport. The opening is agent-native semantics on top — and that's what AIRE is.
The problem with HTTP for agents
Today's agent protocols — MCP, A2A, and the various HTTP-based ACPs — all live on HTTP. That makes adoption easy. It also ceilings adoption hard.
- Host-centric, not agent-centric. HTTP's connection model bakes in the assumption that the host is the endpoint. Agents migrate; hosts don't matter.
- Head-of-line blocking on fan-out. One byte stream, many logical streams stalled by one packet loss.
- Handshake tax. 2–3 RTT before the first useful byte. At fan-out scale, this dominates wall-clock.
- No semantic cancellation. HTTP cancel is connection-level. Agents need to abort one operation among many.
- Wrong backpressure model. HTTP flow control is bytes-of-buffer. The actual constraint for agents is tokens-of-context or dollars-of-budget.
- No protocol-level identity. Auth is bolted on via OAuth, downgraded constantly, replayable.
- No resumability. A 5-minute generation dies on a 1-second network blip.
The design
- Transport
- QUIC (RFC 9000). Connection-ID-based migration, multiplexed streams, 0-RTT, built-in TLS, escapes middlebox ossification.
- Frames
- Typed agent verbs:
HELLO,INVOKE,STREAM,CANCEL,BUDGET,DELEGATE,RESUMABLE,RESUME,ERROR,GOODBYE. - Identity
- DID-based, bound to streams — not connections. One connection can carry operations on behalf of many distinct agent identities. v0.2 mandates support for
did:web(DNS-rooted) anddid:key(ephemeral, self-asserted); other methods are pluggable. HELLO frames are signed with Ed25519, with nonce + timestamp replay protection. - Addressing
aire://host[:port]/agent-id/operation. Default port4433/udp. Human-readable handles take the formagent@domainand resolve off-wire to a DID via DNS TXT or HTTPS well-known, then to endpoints via anAIREv1service entry in the DID Document — with mandatory bidirectional binding to prevent impersonation.- Backpressure
- Semantic.
BUDGETframes carry tokens, micro-units of currency (ISO 4217), and an absolute deadline as a TLV payload. Either peer may issue updates; latest snapshot wins. Exhaustion produces a typedBUDGET_EXCEEDEDerror. - Cancellation
- Per-operation.
CANCELcarries a reason code (user, deadline, budget, upstream, resource, internal) and optional UTF-8 detail. When an operation has been delegated, cancellation propagates downstream with reasonUPSTREAM_CANCELLED, transitively along the delegation chain. - Resumability
- Server issues an opaque
RESUMABLEtoken with a TTL during an operation; on connection loss, the client dials fresh, completes the handshake, and sendsRESUMEwith the token plus its last-received sequence number. Server picks up at the next frame. At-least-once by default; cross-node resumption is implementation-defined.
Compared
| Transport | Migration | Stream HOL | Cancel | Budget BP | Identity | |
|---|---|---|---|---|---|---|
| MCP | stdio / Streamable HTTP | — | inherits HTTP | crude | — | OAuth (bolted) |
| A2A | HTTP + SSE | — | inherits HTTP/2 | HTTP-cancel | — | OAuth (bolted) |
| HTTP-ACPs | HTTP | — | inherits HTTP | — | — | bolted |
| AIRE | QUIC | ✓ | ✓ | ✓ semantic | ✓ tokens + $ | ✓ DID per stream |
Roadmap
- v0.1 — wire format, handshake, URI scheme, conformance vectors (shipped — spec §§2/3/4/6 merged; Go reference impl green against the vectors with a two-node cancel-mid-stream demo)
- v0.2 — identity model, capability negotiation, discovery (shipped — DID identity (did:web, did:key), AIREv1 service entry, handle resolution, capability negotiation semantics, and Ed25519 HELLO signing with replay protection)
- v0.3 — budget / cancel / delegate semantics (spec shipped — CANCEL frame with reason codes, DELEGATE propagation rules, BUDGET TLV with tokens / cost / currency / deadline)
- v0.4 — resumability, multipath (spec shipped — RESUMABLE / RESUME frames, opaque tokens with TTL, sequence-number-based at-least-once delivery; multipath deferred)
- v1.0 — frozen wire format, foundation donation
Governance
Currently led by a BDFL. Path to a neutral foundation (Linux Foundation / IETF) once the spec is proven and adopted. Read the governance doc.
Get involved
- Spec repository — read the draft, file issues, send PRs
- Go reference implementation — passes v0.1 + v0.2 conformance vectors;
go run ./cmd/aire-demoruns the two-node cancel-mid-stream demo,go run ./cmd/aire-peersruns an A→B delegation/fan-out demo - Latest spec draft · conformance vectors: v0.1 · v0.2 · v0.3 · v0.4