Integration guide for ERC-721
ERC-4907 is an extension of ERC-721. It proposes an additional role (user) which can be granted to addresses, and a time where the role is automatically revoked (expires). The user role represents permission to “use” the NFT, but not the ability to transfer it or set users.
https://eips.ethereum.org/EIPS/eip-4907
Steps for integration of ERC-721
- Choose the integration model of ERC-4907
- Adopt ERC-4907
- Configure testnet marketplace
- Lend assets
- Adopt your application to fully support 4907
- Integration test on tesnet
- Release on mainnet
Choose the integration model of ERC-4907
The game developer should choose the model of integration with ERC-4907:
- ERC-4907 — support ERC-4907 in your smart contract
- ERC-4907 Wrapper — deploy additional smart contract, which will contain all related logic with renting
Suggestions
- If your ERC-721 contract has not been deployed on the mainnet, we suggest ERC-4907
- If your ERC-721 contract has been deployed on the mainnet and support
upgradable
, we suggest ERC-4907 - If your ERC-721 contract has been deployed on the mainnet, we suggest ERC-4907 Wrapper
Adopt ERC-4907
The ERC-4907 standard is an extension of ERC-721 that introduces the dual roles of ‘owner’ and ‘user’ at its application layer. ERC-4907 streamlines NFT rentals through an automated ‘expires’ function which enforces the time-limited role of the user. This innovative feature makes NFTs rentable by default; owners no longer have to manually withdraw user rights, eliminating a tedious process and another on-chain transaction.
Configure testnet markeplace
We are supporting different options for configuration of our marketplace, to start integration testing we should configure these options
- collection address
- royalty address
- royalty fee
- min / max rental period on collection level
This operation working only on our secure & safety infrastructure
Lend assets
Using our UI you will need lend assets to our marketplace and set options for renter
- Approve access for assets
- Choose asset
- List asset with details
Our frontend application and logic of smart contract is in active development, we can change details of implementation soon

Select assets from you wallet

List asset with offer details
Adopt your application to fully support ERC-4907
To fully support benefits of rental protocol you need to handle of use cases of Asset usage
- Define renter rights: Define the rights and responsibilities of the renter in your game. This can include things like the ability to use and customize the NFT, the duration of the rental period, and the consequences of violating the rental agreement.
- Integrate the rental protocol into your infrastructure: Integrate the rental protocol into your game's infrastructure, such as your web application, mobile app, or backend. This will allow users to view and rent NFTs within your game, as well as manage their rentals.
- Display rented NFTs in your UI: Once you've integrated the rental protocol into your infrastructure, you'll need to display rented NFTs in your user interface.
- Make sure you are handling all edge cases with possibble rental usage (anti-cheat protection, security checks, disbursments of earning in game)
Integration test on testnet
Test the rental protocol & your application to make sure it's functioning as intended. This can include running integrations tests on your smart contracts, as well as running integration tests on your infrastructure.
Release on mainnet
Monitor the rental protocol: Keep an eye on the rental protocol to make sure it's functioning properly. This can include monitoring rental activity, handling disputes, and updating infrastructure as needed
Updated 3 months ago