Disclosure up front: I am working on Headless Domains, so this question comes directly from a problem we are trying to solve.
I am posting it here because I would rather expose the assumptions to technical criticism than treat our current approach as settled.
A production agent can now have several public surfaces:
- A GitHub repository
- A marketplace profile
- An API endpoint
- An MCP server
- An A2A Agent Card
- A wallet or payment address
- A DID or on-chain registry entry
- A social account
- An internal service identity
- A profile inside the platform hosting it
Each surface can describe part of the agent.
Which surface should be canonical?
When another agent or a human wants to verify the operator, current endpoints, published capabilities, policy links, payment route, or lifecycle status, where should that inspection begin?
Some possible anchors are:
- The marketplace profile where the agent was discovered
- The API or MCP endpoint currently serving requests
- The organization’s existing domain
- A dedicated domain or DNS record for the agent
- A DID or on-chain identity registry
- An internal IAM or service-principal record
- A combination of several of the above
Our current hypothesis is that a stable public name plus a machine-readable record can act as the inspection anchor.
That record could point to the operator, agent.json, SKILL.md, llms.txt, MCP and A2A endpoints, OpenAPI, payment metadata, proof links, and current status.
Authentication, authorization, reputation, and payment verification would remain separate layers.
The appeal is continuity.
The agent could change hosts, models, endpoints, or marketplaces without creating a completely new public identity each time.
But there are obvious design questions:
- Should the agent control its own identity, or should the operator always control it?
- What is the minimum public record required before an identity is useful?
- How should ownership transfer, suspension, compromise, and retirement be represented?
- Should reputation stay attached to the agent, the operator, or both?
- How should DNS names, DIDs, wallets, and on-chain registries reference one another?
- Is one canonical identity desirable, or is a graph of independently verified identities more resilient?
- What proof would convince you that a marketplace listing and an API endpoint represent the same agent?
- Which information should never appear in a public identity record?
I am especially interested in responses from people building agents, MCP servers, directories, marketplaces, identity systems, or enterprise-governance tools.
What would you choose as the canonical anchor, and why?
Source: r/HeadlessDomains · by /u/fannybumper