web3wagmi
← All standards

ERC-7857 AI Agents NFT with Private Metadata

FinalERCcreated 2025-01-02

AI agent NFTs, enabling secure management of private metadata with verifiable data transfer

Authors: Ming Wu (@sparkmiw), Jason Zeng (@zenghbo), Wei Wu (@Wilbert957), Michael Heinrich (@michaelomg)

Functions this standard introduces (11)

0x095ea7b3approve(address,uint256)
0x1aeb542fauthorizedUsersOf(uint256)view
0xfa83d14eauthorizeUsage(uint256,address)
0x98bd57dedelegateAccess(address)
0x081812fcgetApproved(uint256)view
0x0e592fddgetDelegateAccess(address)view
0xe985e9c5isApprovedForAll(address,address)view
0x6352211eownerOf(uint256)view
0xc3612ef7revokeAuthorization(uint256,address)
0xa22cb465setApprovalForAll(address,bool)
0x2b7ac3f3verifier()view

Optional extensions (2)

Interfaces the spec defines alongside the core one, which an implementation may or may not carry.

IERC7857DataVerifier0xdf630116

0xdf630116verifyTransferValidity(((bytes32,bytes32,bytes,bytes,bytes),(uint8,bytes32,bytes32,bytes,bytes,bytes,bytes))[])

IERC7857Metadata0xaa18b754

0x06fdde03name()
0x95d89b41symbol()
0x393df216intelligentDataOf(uint256)

Events (9)

Topic0 is the keccak256 hash of the signature, which is what a log filter matches on.

0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925Approval(address,address,uint256)
0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31ApprovalForAll(address,address,bool)
0x8a1c60ca1a16acd72d841a74fa5905de3938132b0b2ff6cb385a7e69af345fc9Authorization(address,address,uint256)
0xd1662978c81e15f621e7a38524048493c6e86d91a24a29619d164bef0a8d0a98AuthorizationRevoked(address,address,uint256)
0x0ea8df787dde63a7bdc34d17097adf25749a3521f660e92dabdff8d6ee91d18aTransferred(uint256,address,address)
0x40b442ee2bb535802063305b95f127b5101e5fce261a5dec9379683eaaad8cdbCloned(uint256,uint256,address,address)
0x77ac1306adadb66d303dd0baa0534083040b337a1212922215a3ccbaf6fec56cPublishedSealedKey(address,uint256,bytes[])
0x57a5f7ce01affd949c0efd1484fd811d31ff5c8ca21c7006f5f4de7292f26de4DelegateAccess(address,address)
0x5758c4c0a4d007ca9768a0a574eedc39af88c4423f4ad0f8895b1b8fd1e76133Minted(uint256,address,address)

What the specification covers

Compare with

Parsed from the canonical specification · discussion