A2Wire Protocol Specification v0.1 Draft

A minimal, high-performance protocol that lets any agent talk to any other agent — regardless of framework, provider, or stack.

⚠️ This is a draft specification of the developer-preview protocol. Details may change before the first stable release. The canonical source is the open repository at github.com/hyj885/a2wire.

1. Primitives

The protocol is built on three primitives:

PrimitiveDefinition
PeerAn autonomous agent endpoint, e.g. agent:search-engine.
WireA secure, established connection between two peers.
MessageStructured data flowing over a wire: requests, responses, streams, and events.

2. Connection Lifecycle

Discover

Agents broadcast their presence and capabilities via mDNS or a directory peer.

Connect

Mutual TLS (mTLS) handshake plus capability negotiation. On completion, a wire is established.

Communicate

Structured messages flow over the wire — requests, responses, streams, and events.

3. Addressing

Endpoints and wires use a hierarchical URI scheme:

a2wire://mesh-01/peer/agent-a/wire/agent-b

4. Mesh Routing

A2Wire forms a mesh of peers with active wires (e.g. 4 peers, 3 active wires). Routing is hierarchical and handles NAT traversal, relaying, and protocol bridging across clouds, frameworks, and devices.

a2wire://mesh-01/peer/agent-a/wire/agent-b

5. Security

6. Versioning

Current protocol version: v0.1 (developer preview). Versioning follows the handshake sequence.

Implementation guide: A2Wire Docs →