ERC-8171: Token Bound Account (Agent Registry)

ERC-8171: Token Bound Account (Agent Registry)

PR: Add ERC: Token Bound Account (Agent Registry) by nftprof · Pull Request #1559 · ethereum/ERCs · GitHub
Authors: Idon Liu, Pentagon Chain (@pentagonchain)

  1. Status: Draft

Summary

ERC-8171 defines an interface and registry for binding AI agents to non-fungible tokens. It extends the ERC-6551 Token Bound Account pattern to enable any ERC-721 token to have an AI agent identity attached without modifying the original contract.

Motivation

As AI agents become active participants in on-chain systems, they need a standardized way to be associated with NFT-based identities. ERC-8171 provides:

  • A singleton registry for binding agent EOAs to any existing ERC-721
  • Agent binding that follows NFT ownership automatically
  • Cloning with lineage tracking
  • Unbind/rebind flows for agent lifecycle management (retirement sales, device migration)

How it relates to existing standards

  • ERC-721 — base NFT interface (ownership source of truth)
  • ERC-6551 — token-bound accounts (wallet pattern this registry extends)
  • ERC-8170 — AI-Native NFT identity standard (companion standard for agent-native tokens)

Key functions

  • bindNew() / bindWithApproval() — attach agent to NFT
  • unbind() — detach agent (moves to limbo, preserves data)
  • rebind() — attach new agent to NFT (post-sale scenario)
  • clone() / claimClone() — agent cloning with lineage
  • updateMemory() — agent updates its own memory hash

Reference implementation

Links

Feedback and discussion welcome.

This is pretty cool, the only issue I see here and it was the same when I was building ERC8001 is that getting this to final will be hard when the anchoring standard itself isn’t final i.e ERC6551. Just something to think about. Definitely complementary in the Agentic Commerce pipeline.

Good point @KBryan, and thanks for the feedback.

We actually originally proposed this as “ERC-6551A” — literally an extension of 6551 for agents. The editors assigned it ERC-8171 as a standalone standard instead, which we think is the right call.

The dependency on ERC-6551 is architectural, not functional:

  1. We use the same singleton registry pattern, but ERC-8171 is its own contract with its own interface. It doesn’t call or inherit from the 6551 registry.

  2. TBA creation is optional. The core binding (agent EOA → NFT) works without a TBA. Projects can deploy 6551 alongside 8171 if they want agent wallets, but it’s not required.

  3. We’d be open to this becoming part of ERC-6551 itself if the 6551 authors see value in that. The pattern is the same, the extension is natural. But as a standalone ERC, it can progress on its own timeline regardless of 6551’s status.

Agreed on the agentic commerce composability. Identity is the first layer, once an agent has verifiable on-chain identity, the commerce and delegation layers can build on top of it.

Very nice, makes sense. I’ll definitely be following this. There are definitely synergies with ERC8001.