Creating vesting contract for NFT(erc721)? We have token vesting smart contract, but how about NFT? Can it be vested on a smart contract?
Yes, take a look at the ERC20 TokenTimelock contract for an ERC20 example and modify according to replace ERC20 with ERC721.
Do you have an example of ERC721 Timelock smart contract? Just for reference than you.
Nope but conceptually it's very similar. You have a smart contract (timelock) that holds the NFTs for a certain period of time. Once some duration has passed, you can call the
release() function to transfer the NFT to the owner.
Note that "vesting" in the usual sense of gradually releasing the asset throughout a given time period (e.g. 4 years) doesn't make sense for NFTs, because an NFT is either yours or it isn't.
A timelock is definitely possible though and should be similar to TokenTimelock that was shared above.