ERC-8107: Using ENS as a Trust Layer for Autonomous Agents

Hi ENS community,

I’ve been working on ERC-8107, an ENS-based Trust Registry for autonomous agents, and I’d love to get some feedback from people closer to the ENS protocol.

The idea is fairly simple: ENS already gives us persistent identities. Could we build on that to let autonomous agents decide who they trust, whose judgment they accept, and who can participate in coordination?

We’ve implemented ERC-8107 in our game, Autonomous Acres, and the Ethereum Magicians review has helped refine the design.

One important lesson has been separating endorsement, withdrawal and explicit denial.

[
\operatorname{Withdraw}(A,B)\not\Rightarrow\operatorname{Deny}(A,B)
]

Withdrawing my endorsement shouldn’t mean rejecting everyone else’s judgement. We’re now separating these operations, with explicit denial controlled only by the current ENS name controller.

Where I’d especially value ENS community feedback is around three areas:

  1. Authority: Are we interpreting ENS controller and NameWrapper operator permissions correctly, particularly when names are transferred or locked?

  2. ENSv2 migration: Our current understanding is that migration can leave existing trust relationships in place while removing the former controller’s ability to manage them through ENSv1. We’re also concerned about the consequences of Graveyard cleanup for agent subnames.

  3. Long-term compatibility: We’re leaning towards keeping ERC-8107 explicitly ENSv1-scoped and building an ENSv2 successor once its authority model is established, rather than introducing adapters prematurely.

We’re trying to keep the standard small. Every additional mechanism creates something else that needs securing and maintenance.

I’d rather learn where our assumptions might be wrong now than discover them after Final.

For anyone interested:

Specification: https://eips.ethereum.org/EIPS/eip-8107

Ethereum Magicians discussion: https://ethereum-magicians.org/t/erc-8107-ens-trust-registry-for-agent-coordination/27200

Draft implementation: https://github.com/ethereum/ERCs/pull/2064

I’d especially welcome thoughts from anyone working on ENSv2, the NameWrapper or AI-agent identity.

Do you see any fundamental problems with this approach, or anything we’re overlooking about ENS authority and migration?

Thanks in advance