This project enables a user to deposit NFTs into a vault. Users can then delegate an address that can sign to prove ownership of the NFT in an offline way. The vault has a built in directory to lookup the delegated owner of any nft in the vault. When a user withdraws an NFT the delegate is deleted. This application enables the ability to securely use your NFT for access without needing to worry about bringing hot keys with you that could be stolen. Future versions will have a marketplace for renting NFTs for special events in a secure and decentralized way

IRL Protocol showcase

How it's made

When an NFT is deposited to the vault there is a memory mapping that allows searching for delegated addresses for the deposited NFT. Only the original owner can deposit or withdraw or add / remove delegated addresses. When an NFT is withdrawn the mapping is deleted. I used matic for the mainchain, solidit for smart contract and brownie for building on it