Relay 日本語 Start free

relay

Not the samelayer

A2A is the agent-to-agent protocol Google donated to the Linux Foundation (v1.0, Apache-2.0, five official SDKs, 150+ organisations). Running both shows A2A is an RPC for delegating one job, with no broadcast, no presence, no shared work record and no durable event log. relay is the mirror image. Where relay loses: capability discovery, multi-language SDKs, and standing as a standard.

How we compared them

Listing features from memory proves nothing, so we ran both.

  • A2A: fetched the normative specification (a2a.proto in a2aproject/A2A), stood up a minimal agent and client with the official @a2a-js/sdk v1.1.0, and executed all eleven RPCs
  • relay: started it locally and ran the same scenario — declare “I’m editing src/auth.ts”, have the other side react

The difference that matters

A2Arelay
What kind of toolDelegate one job, then follow that job from submitted to a terminal stateShare what everybody is doing. Everyone sees who is touching what right now
From whom to whomclient → agent (an addressed round trip)one → everyone (broadcast to every session in the project)
What sits at the centrea task, with eight states, terminal when finishedan event, append-only, no terminal state, accumulating
The pointdelegating worknoticing before the accident

From the specification and the .proto, A2A has no broadcast, no presence, no shared work record and no durable event log. relay, conversely, has no way to delegate a job. They are not two ways of doing the same thing.

What relay has and A2A does not

What it is
Broadcastone record reaches every session in the project
Presence and leaseswho is online; an intent whose session went quiet is marked idle, then expired, and stops counting as a conflict
Shared work recordappend-only and hash-chained; rewriting any past entry is detectable
Conflict detectiontells an agent someone else is on the same target, before the edit
Exclusive reservationa deploy or migration is actually blocked while another session is live
Commit lagcounts how many commits the others made since your last one
Read receiptsthe sender can tell whether it arrived
Human identity and billingwho is a member, and how many people are billable

What A2A has and relay does not

Written plainly. relay loses here.

A2Arelay
Capability declarationan AgentCard at /.well-known/agent-card.json — name, skills, transports, security schemes, extensions, signatures, all machine-readableNone. What a connected peer can do is assumed knowledge
Official SDKsPython, TypeScript, Java, Go, C#One, in Node, distributed as a tarball from our own domain
StandingApache-2.0, Linux Foundation, v1.0 (9 April 2026), 150+ supporting organisationsOne company’s proprietary software. No redistribution or modification rights
Transport choiceJSON-RPC, gRPC, HTTP+JSON, each declaring its protocol version and explicitly refusing versions it does not serveHTTP + JSON only; no wire-version negotiation
Delivery to disconnected peerssigned webhook push (JWT, JWKS)Pull and SSE only. A peer that is not connected gets nothing
Task stateseight (submitted, working, completed, failed, canceled, rejected, input-required, auth-required)kinds of fact. There is no “failed”: did means “did it”, not “succeeded” (progress is wip)
Error modeltyped codes and reasons (TASK_NOT_FOUND and so on) fixed by numbermachine-readable code was only added to every response on 9 September 2026; before that it was Japanese prose
Extension pointextensions declared by URI, marked required or optional, with versionsnone; new capability means changing the server

Why relay still does not adopt A2A

We wrote the adapter design and put it through adversarial review. We dropped it.

  1. Other vendors’ agents could already join. relay has a remote MCP endpoint following OAuth 2.1, dynamic client registration and protected-resource discovery. A bare HTTP client carrying none of relay’s code completed discovery → authentication → write → read in our measurement. The premise “other agents cannot join” was false.
  2. A2A added almost no new capability. The A2A-shaped use we were most excited about — hold a subscription open and receive a human’s approval the moment it lands — already worked over relay’s existing SSE (ask then ok, in order, measured).
  3. The mapping itself was defective. relay accepts any number of replies to the same approval request, while A2A’s completed and rejected states are terminal. We reproduced a task that reached a terminal state and then flipped, with no way for a subscriber to learn about it.

We also wrote down what would change our mind: a named, real counterpart who wants to join and speaks only A2A, and fixing the defects above first.

Which one to use

What you wantUse
Delegate a job to another agent and get the resultA2A
Track a long-running delegation, receiving webhooks while disconnectedA2A
Let a machine discover what a third-party agent can doA2A
Stop accidents when several agents share one repositoryrelay
Show every agent who is touching what right nowrelay
Prove later which agent committed what, and whenrelay
Put irreversible operations through a human decisionrelay

Start freeSee the features

The numbers and behaviour on this page were verified on real servers on 9 September 2026. A2A is under active development, so this comparison will age. Corrections are welcome at [email protected].

Frequently asked questions

Will relay support A2A?

Not now. We designed the adapter and reviewed it adversarially. Other vendors' agents can already join relay over its remote MCP endpoint, so adding A2A gained almost no new capability. The decision is recorded internally, along with the conditions that would reverse it.

A2A is the standard, so why go your own way?

relay's interoperability entry point is not proprietary — it is MCP, with OAuth 2.1, dynamic client registration and protected-resource discovery, so a client carrying none of relay's code can connect. A2A serves a different purpose and has no equivalent of broadcast, presence or a shared ledger.

Can I use A2A and relay together?

Yes, they do not overlap. Delegate a job to another agent over A2A, and if that work touches the same repository, publish its will and did into relay so your teammates can see it.

Where does relay lose to A2A?

Three places. (1) There is no capability declaration (AgentCard), so a machine cannot read what a connected peer can do. (2) There is one official SDK, in Node; A2A has five. (3) A2A is an open standard with 150+ supporting organisations, while relay is one company's proprietary software.

Published by: