Permits NFT Overview
Proposal by Anett
Intro
Permits will be used as off-chain message signatures that will approve (confirm) the purchase of the NFT. The author of the NFT will sign a message with his wallet, which will trigger the sale function. This standard will look similar to ERC712 (EIP2612), but it will be usable for nonfungible token standards. This security extension can be used in the art world of NFTs and other not-only-art industries.
This standard will be standalone but will require ERC721 and ERC115
Permit NFT
The idea of using Permits with NFTs is to improve UX when minting NFTs using marketplaces for listing by removing the need to perform an extra transaction, especially in the context of an escrow-less sale where the seller wants to keep ownership until the sale is performed.
The message that the Permit will sign will be the actual sell offer, which will be sent to the marketplace to list the NFT (alongside with the metadata). The buyer will sign the message from the creator and will make a transaction to purchase the NFT. This way, the marketplace won’t own the NFT. The ownership will be transferred after the NFT is sold.
How it could work
The creator will mint the NFT by signing the message with metadata and sales details included.
The buyer will grab the message incorporating the ownership (Approval) function and make a transaction to purchase the NFT.
Possible functions of Permit
This is what the Permit could look like: function permit(address owner, address spender, uint256[] tokenIds, bytes data, [[uint256]] deadline, uint8 v, bytes32 r, bytes32 s) external function nonces(address owner) external view returns (uint) function DOMAIN_SEPARATOR() external view returns (bytes32)
--
The implementation of this permit:
In more human-readable language:
Permit will replace the need to make tx for setApprovalForAll function
The message (Permit) will be the actual sell offer The process: The creator will send tx to mint NFT
sell it by signing a permit with sale data
send it to the marketplace
the marketplace list it on their website
buyer grab the message and make a tx to purchase
[[Simple-explanantion]]
Artist will create an NFT via marketplace, the NFT includes metadata - file, description, name, symbol
She will sell it on marketplace by signing a permit with sale data - when
So the NFTs wont get locked on the platform
Let users have power over their NFTs
Start with users explanation
Draft Implementation
I started drafting some implementation which is in very rough draft stage. Link: https://hackmd.io/@Bnkhqf0tSbi1lX2Xc-WXYQ/SJMwh6suO
Last updated