Add ERC: Fixed-Supply Agent NFT Collections
Add ERC-8041: Fixed-Supply Agent NFT Collections
Summary
This PR introduces ERC-8041, a standard for creating fixed-supply collections of ERC-8004 Agent NFTs with mint number tracking.
Motivation
While ERC-8004 provides unlimited minting for AI Agent identities, many use cases require limited collections (e.g., "Genesis 100", "Season 1"). ERC-8041 addresses this need by defining a standard interface for fixed-supply collections.
Key Features
- Fixed Supply Limits: Define maximum number of agents per collection
- Mint Number Tracking: Permanent tracking of each agent's position (e.g., "5 of 1000")
- Onchain Collection Metadata: Links agents to their collections via the
"agent-collection"metadata key - Time-Gated Releases: Collections can activate at specific block numbers
Technical Details
Core interface includes:
getAgentMintNumber(uint256 agentId)- Returns agent's position in collectiongetCollectionDetails()- Returns supply info and collection status- Events:
CollectionCreated,AgentMinted
Compatibility
- Requires: ERC-8004
- Compatible with: ERC-721
Note on Direction Change
This ERC represents a strategic shift in approach. Originally, ERC-8041 was planned as a standalone contract-level metadata standard. We've pivoted to instead leverage the existing Onchain Metadata functionality of ERC-8004, focusing on a specific application (fixed-supply agent collections) rather than the underlying metadata infrastructure.
This decision prioritizes implementation speed by repurposing the existing ERC number rather than submitting a new proposal and going through the numbering process again. This allows immediate adoption of onchain metadata capabilities using ERC-8004 registries with the agent-collection metadata key. A future ERC will standardize the Onchain Metadata interface itself.
File ERCS/erc-8041.md
Requires 1 more reviewers from @g11tech, @samwilsn, @xinbenlv
The commit 7c2ae0ec25a9011bfd5ccd6458e0acd532550742 (as a parent of 0e6e908f45788b0ffaa9d2ff1dbbb9a0f19ee334) contains errors. Please inspect the Run Summary for details.