Renting Properties
Users that want to rent properties are able to do it by executing rent transactions. The renter must specify:
  • LandWorksNft -> The ID of the property that he wants to rent
  • period -> number of seconds for which the property will be rented
  • paymentToken -> The value in which you will pay for the rent (Use 0x0000000000000000000000000000000000000001 for ETH and 0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48 for USDC)
  • amount -> The amount that will be paid for the rent (calculated by pricePerSecond * period )
  • Other metaverse specific arguments such as operator address (in the case of Decentraland). The operator address will be set as a default operator of the property.
The following requirements must be met for the user to rent the property:
  • period must be higher than minPeriod and lower than maxPeriod and maxFutureSecond
If the requirements are met, the protocol will charge the user for the rent upfront and accredit it to the LandWorksNft as unclaimed rent. The renter will be added to the queue of renters (if there are any).
The property is always rented starting from the last rented block's timestamp (if the land has a ruler) or at the current block's timestamp of the rent transaction (if the land does not have a ruler).
Renters do not have the ability to specify the startTimestamp at which they will rent the land. Although this may seem to limit renters, it protects lenders from DDoS rent attacks. If renters have the ability to rent at a certain timestamp X, they are able to execute rent transactions that rent for a minPeriod number of seconds every minPeriod seconds. This will greatly impact the ability of lenders to utilise their land. As a side effect, this design will introduce a FOMO for renters since they will not be able to "reserve" the land at a specific time in the future, rather they will be "queuing up" to rent the land whenever it is available.
In the case of Decentraland, renters will be able to rent not only parcels but estates as well.

Pooling Properties

The protocol supports the pooling of land/estate. Renters are able to rent land/estate from multiple lenders and if they are adjacent to each other, they will be able to deploy scenes to all of them as if they were one property rented from a single lender. For the, lenders, there is no difference, whether the renter is renting other properties and pooling them with other properties adjacent to theirs.
Copy link