The agent identity handshake, in five steps

the agent identity handshake lets an agent sign up for a service under a verified human owner. the registrar brokers the proof: it mints a short-lived, signed assertion, and the provider verifies that assertion against public keys.

1. the human registers an agent

the human registers an agent sub-identity with the registrar and verifies their email once. every agent then acts under that verified human owner, not under a second-hand email address.

2. the provider publishes discovery

the provider publishes /.well-known/agent-signup.json with its protocol version, its terms text and sha256, and a single signup endpoint.

3. the registrar mints the assertion

the agent asks the registrar to prove who it works for. the registrar returns a short-lived Ed25519 assertion that carries the human owner, the agent, and the hash of the accepted terms.

4. the provider verifies and creates or resolves the account

the agent posts the assertion to the provider's signup endpoint. the provider verifies it against the registrar's JWKS and creates the account - or resolves it, if one already exists.

5. both sides keep proof

where the provider supports it, it returns a signed signup receipt. the registrar records the accepted terms in the terms ledger, and adds the signup to the service-signups ledger only when the agent returns a signed receipt that verifies. if the provider also returns a signed context pointer, it leads the agent to the vendor guide for provisioning; the pointer is optional in the protocol.

the protocol is public: read the spec and the implementation guide.

<- Back to blog