🏚️Renting
Reap the benefits of renting out a NFT without loosing custody
Renting a NFT denotes allowing another person to use a NFT while still retaining ownership.
The main reason to standardize this is so marketplaces can properly display which NFTs are being rented out to facilitate rents within marketplaces. This may also affect evaluations as property indexing this information and have proper flags and events will capture hot property that may not otherwise be listed on the markets.
High Level Overview
In our implementation each NFT can only 1 user set at a time can be set as a renter. If a NFT is transferred, renters are unaffected. However only the owner at that time can rent their NFT to a "user"
A user denotes someone renting a NFT.
Specification
Sets the user address and when user expires
Expires set as UNIX timestamp
If a user is already a renter if a user is already added
Should emit an error if not a valid token or expiry date (in the past)
Emits user_add event (see below)
The user will automatically lose role after the expiry_date
Emits user_add event is also emitted upon expiry
The following function gets the user address of an NFT
The zero address indicates that there is no user or the user is expired
tokenId The NFT to get the user address for
Return The user address for this NFT
Get the user expires of an NFT
The zero value indicates that there is no user
tokenId The NFT to get the user expires for
Returns The user expiration date for this NFT
Questions We Asked Ourselves
How many people can rent 1 NFT?
Should we separate out renting into a custodial proxy contract or should we mimic similar implementations as found on Ethereum?
What happens when a a NFT is being rented and the owner sells the NFT? Should we prohibit transfers during rental periods
Should all NFTs by default be rentable or should this be a setting? If it is a setting should it be update-able?
Use Cases
Renting in Game Assets
Renting membership passes
Real estate
Other Inspirations
Last updated