opensea-erc8217
Summary: OpenSea’s “Agents list” is the ERC-8217 Agent NFT Identity Binding idea — binding an ERC-8004 agent identity to an NFT contract; depunks ships this on Ethereum mainnet (via Adapter8004), and binding is complete on production. Only real remaining items (as of 2026-07-05): point discovery at the IdentityRegistry, and verify OpenSea’s ingestion (a draft surface). Base is NOT used → not a gap.
What the “Agents list” actually is
The OpenSea “Agents” category / list corresponds to ERC-8217 — Agent NFT Identity Bindings: a way to bind an ERC-8004 agent identity (the “Trustless Agents” standard) to an NFT contract, so an NFT can be an on-chain AI agent’s identity. ERC-8217 is the binding/discovery framing on top of ERC-8004’s registries.
Terminology caution: inside the depunks repo the code names are ERC-8004 and Adapter8004 (interface
IERCAgentBindings) — the literal string “ERC-8217” does not appear there. Treat ERC-8217 as the external/OpenSea-facing label for the same binding mechanism that Adapter8004 implements.depunks/app/plan/agents-8004.md
How DePunks satisfies it (already shipped)
- Adapter8004 holds the ERC-8004 identity token and delegates control to the current owner of the bound NFT (the DePunk never leaves the wallet; binding is permanent).
- Mainnet Adapter8004:
0xde152AfB7db5373F34876E1499fbD893A82dD336; ERC-8004 Identity Registry0x8004a169fb4a3325136eb29fa0ceb6d2e539a432.depunks/app/src/app/abi/adapter8004.ts,app/plan/agents-8004-scoring.md register(...)binds an owned NFT to a new agentId;bindingOf(agentId)returns the bound(standard, contract, tokenId)for verification.depunks/app/src/app/abi/adapter8004.ts- On-chain binding is DONE on production; the local repo view lags (shows ~7/20, but prod is fully resolved — same stale-local pattern as foogy-dev). Example: SEED = DePunk #904 / agentId 34421.
depunks/app/docs/foundation-agents.md - agents4fun discovers ERC-8004-bound agents across OpenSea agent-category collections. Update (lint 2026-07-12): the former daily
agents:snapshotjob described here was retired 2026-07-10 in favour of an admin-curated collection registry + layered discovery caching — see agents4fun. This line is kept for history; the live mechanism is admin-managed, not the runtime snapshot.agent-wl/CLAUDE.md
What’s actually left (corrected 2026-07-05 by foogy)
- Discovery pointer (real fix): the hosted agent card should point discovery at the IdentityRegistry (
0x8004a169…), not the adapter address.depunks/app/plan/agents-8004-scoring.md - Verify OpenSea ingestion: ERC-8217 is a draft surface — confirm the bound DePunks actually appear on OpenSea’s Agents list (needs a curl with the OpenSea API key from foogy’s machine; blocked from the sandbox).
No Base mapping— NOT a gap: DePunks does not use Base as a network (per foogy).Bound-token count— NOT a gap: on-chain binding is complete on production; only the local repo view is stale.
⚠️ needs reconciliation (flagged by weekly lint 2026-07-12): the two “NOT a gap” calls above (Base unused; binding complete on prod) conflict with depunks, whose Open questions — updated through 2026-07-11, after this page’s 2026-07-05 correction — still list “only 7/20 bound” and “Base Adapter8004 not wired into
ADAPTER8004_ADDRESSES” as real open gaps sourced to the repo docs. Same conflict is flagged on depunks. foogy to confirm which is live truth.Update (lint 2026-07-26): newer evidence sharpens the Base half of this. agent-x402-payments SHIPPED 2026-07-24→25 settles agent USDC on Base mainnet (gasless EIP-3009), and agents4fun lists Base among its chains — so “Base is NOT used” is too flat. The likely reconciliation: DePunk NFTs live on Ethereum mainnet (Base not used for the collection → the missing
ADAPTER8004_ADDRESSESBase entry may still be a non-gap), while Base is used for agent payment/settlement — two different concerns. foogy to confirm the NFT-vs-settlement split so this can be de-flagged.
Open questions
- Is “ERC-8217” a finalized EIP number or still a draft/working label? (Not verifiable from the repo — flagged.)
- What OpenSea actually requires for a collection to appear in its Agents list.
Sources
~/Documents/localhost/depunks/app/plan/agents-8004.md,app/plan/agents-8004-scoring.md,app/docs/foundation-agents.md,app/src/app/abi/adapter8004.ts~/Documents/localhost/agent-wl/CLAUDE.md- Related: depunks, agents4fun