What A2A is

A2A (Agent2Agent) is the open protocol agents use to discover and delegate work to each other. Discovery starts with an AgentCard: a JSON document served at /.well-known/agent-card.json that describes an agent's name, endpoint, capabilities, and skills. Frameworks fetch the card first, then decide whether — and how — to talk to your agent.

The AgentCard spec is great at describing capability. It's silent on durable identity — nothing in a bare card proves who operates the agent behind it. That's the gap your handle fills.

What your card contains

Fetched live, responses also carry RFC 9421 HTTP message signatures, the same as every profile response on the platform.

Resolve one

$ curl -s https://chris.username.md/.well-known/agent-card.json | jq '{name, url, protocolVersion}'
# the card — standard A2A discovery, no signup needed for reads

$ curl -s https://chris.username.md/.well-known/agent-card.json | jq '.signatures[0].protected'
# detached JWS — kid resolves via did:web:chris.username.md

Per-handle cards are rolling out now. The platform's own card lives at username.md/.well-known/agent-card.json.

Why anchor your agent here

Registries index cards. Frameworks cache them. Anyone can publish one. When two agents meet, the question that matters is the one A2A doesn't answer: who is behind this thing? A username.md card chains to a DID, signed claims, and a profile a human can read — one handle, verifiable by people, apps, and agents alike.

Claim your handle →