EIP4494 Permits for ERC721

ERC by William and Simon inspired by Permits NFT idea and EIP2612

EIP overview

This ERC extends the function of EIP2612 - the initial permit EIP to ERC721 NFT. It requires a separate EIP due to the difference between ERC20 and ERC721. The main difference is that ERC20 permits use value (the amount of the ERC20 token being approved) and a nonce based on the owner's address, while ERC721 permits focus on the tokenId of the NFT and increment nonce based on the transfers of the NFT.

This EIP is basically EIP-2612 with an extended ERC-721 function tokenID instead of value—the amount of tokens being transferred.

The main difference between EIP-2612 and EIP-4494 is that EIP-4494 defines tokenID nonce as this function describes and differs NFTs in the contract.

  • Full EIP: https://github.com/ethereum/EIPs/pull/4494/commits/5756e7f465c35da1e0999af71d31c85a8a9668e

  • ERC as PR to follow its status and progress: https://github.com/ethereum/EIPs/pull/4494

  • EIP-2612 (for comparison): https://github.com/ethereum/EIPs/pull/2612/commits/1cfbd0eb808892b40f09abebbe3d9581c93240ea

  • EIP-4494 implementation in Vyper: https://github.com/tserg/vyper-contracts/blob/main/contracts/EIP4494.vy

Last updated