# EIP4494 Permits for ERC721

ERC by [William](https://twitter.com/William94029369) and [Simon](https://twitter.com/dievardump) inspired by Permits NFT idea and EIP2612

## EIP overview

This ERC extends the function of EIP2612 - the initial [permit EIP](https://eips.ethereum.org/EIPS/eip-2612) 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
