Skip to content
Agent Identity

Deployment pattern

All patterns

A2A tasking

Client agentAgent CardOptional ASServer agent

Agent-to-agent tasking (A2A)

/patterns/a2a-tasking

Two agents, Agent Cards, a task protocol. A2A v1.0 is how they talk. Authentication is whatever the card advertised — usually OAuth at those endpoints. This is not AAuth identity-based p2p, and it is not did:peer / DIDComm.

When you see it

A planner agent delegates a 'book travel' skill to a specialist that published /.well-known/agent-card.json. Enterprise agent fabrics that speak JSON-RPC/gRPC/HTTP+JSON with A2A-Version. Google-originated protocol, now under AAIF / Linux Foundation.

Actors and trust

  • Client agentAgent instance

    Reads the server's Agent Card, obtains credentials out of band, then calls a supported interface.

  • Server agentResource

    Advertises skills, interfaces, and securitySchemes. Enforces the scheme on each operation.

  • Optional enterprise ASOther

    Present when the card says OAuth or OIDC. Absent when the card says mTLS or an API key.

Topology

Client agentAgent CardOptional ASServer agent
  • Server agentPublishes /.well-known/agent-card.jsonAgent Card
  • Client agentFetch; optionally verify JWSAgent Card
  • Client agentIf the card says OAuth/OIDC, obtain a token out of bandOptional AS
  • Client agentAuthenticated A2A operation (JSON-RPC / gRPC / HTTP+JSON)Server agent
Discovery is the Agent Card. The task hop then uses whatever securitySchemes the card listed — usually OAuth, not AAuth signatures.

Primary

Optional

Do not use

  • AAuthdraft / churn

    AAuth p2p is signed HTTP with an agent token. A2A does not use Signature-Key. Keep the rows distinct.

  • did:peer

    Pairwise DID, not a globally fetched Agent Card.

  • DIDComm

    A different messaging stack. Not A2A tasks.

  • In-band credential exchange down the chain

    A2A §7.6.3: secrets become visible to every hop. Prefer out-of-band.

Why these, and not those

A2A v1.0 is a task and discovery protocol. It does not mint a new identity layer: it reuses OAuth, OIDC, mTLS, or API keys at the advertised endpoints. That is why OAuth shows up here and must not show up on the AAuth p2p row. AAuth identity-based access is signed HTTP with Signature-Key and no AS — different wire, different identifier. did:peer / DIDComm is pairwise wallet messaging; Agent Cards are globally fetched JSON. Do not forward caller credentials in-band down an A2A chain (A2A §7.6.3). Implicit and password grants on cards are deprecated.

Related flows

Sequence diagrams, not this topology cut. All flows

Comparisons

Back to the matrix