Unfreeze
Search
K
Comment on page

First Steps

Welcome to the NFT Rental quickstart 👋 Using our Rental protocol you can easily rent and lend any new and existing ERC721 tokens by interaction with Unfreeze smart contract protocol. Rental protocol requires collection to have support for an EIP-4907 standard, otherwise appropriate wrapper will be created. In both scenarios Integration will be done using the contract identifiers, there is no need to manage wrapper addresses Unfreeze will take care of it. Steps required to enable rental for NFT collection:
1. NFT contact registration with an Unfreeze registry 🚀
Before processing further make sure that you are register as a partner to our registry smart contract.

Register new NFT collection

There are three ways to register a collection, depending on whether you want to register an existing collection that extends the EIP-4907 standard, create a compatible wrapper on a collection that does not extend the standard or register collection with your own ERC-4907 wrapper. 1. Register collection (without EIP-4907 support) On a Protocol Registry execute registerRentContractAndDeployWrapper method. Unfreeze will create and deploy wrapper that supports rental standard. Parameters
Param Name
Param Type
Description
partnerName_
string
Unique Identifier of a partner from a Partner registry
contractName_
string
Collection name unique for the partner
owner_
address
Address of collection administrator/owner
originalNftAddr_
IERC721
Address of the NFT collection that doesn't support EIP-4907
Function
function registerRentContractAndDeployWrapper(
string memory partnerName_,
string memory contractName_,
address owner_,
IERC721 originalNftAddr_
)
2. Register collection (with EIP-4907 support) On a Protocol Registry execute registerRentContract method Parameters
Param Name
Param Type
Description
partnerName_
string
Unique Identifier of a partner from a Partner registry
contractName_
string
Collection name unique for the partner
owner_
address
Address of collection administrator/owner
originalNftAddr_
IERC721
Address of the NFT collection that supports EIP-4907
Function
function registerRentContract(
string memory partnerName_,
string memory contractName_,
address owner_,
IERC721 originalNftAddr_
)
3. Register collection (with existing wrapper that supports EIP-4907) On a Protocol Registry execute registerRentContractWithWrapper method
Unfreeze will use wrapped contract to perform rental actions. Parameters
Param Name
Param Type
Description
partnerName_
string
Unique Identifier of a partner from a Partner registry
contractName_
string
Collection name unique for the partner
owner_
address
Address of collection administrator/owner
wrapperContractAddr_
IERC4907
Address for a ERC721 wrapped contract with a support for ERC4907
originalNftAddr_
IERC721
Address of the NFT collection that doesn't support EIP-4907
Function
function registerRentContractWithWrapper(
string memory partnerName_,
string memory contractName_,
address owner_,
IERC4907 wrapperContractAddr_,
IERC721 originalNftAddr_
)