A marketplace to borrow & lend productive gaming NFTs, aka the Guild of Guilds
Narval wants to become the Guild of Guilds, as the first secure & non-collateralized marketplace for lending & borrowing gaming NFTs – Narval aims at solving several pain points: - For Guilds & players: while it is currently time consuming and not capital efficient (collateral required) to source available gaming assets, Narval will enable Guilds & players to seamlessly identify available NFTs across multiple games, and borrow them in a capital efficient way, without collateral - For NFT owners: while tens of million dollars’ worth of gaming assets are currently not used in games for lack of time, skill or interest, Narval will help NFT owners generate yield on their gaming assets by securely delegating them to guilds & players, and capturing a share of the rewards generated by players As the number of P2E and P&E games grows exponentially in the massive gaming market (c. 200bn USD and 3bn players), we believe that Narval will add value by increasing liquidity and financializing this asset class Our marketplace and smart contracts will be based on the following logic: - Creation of a Narval escrow wallet (with browser extension) to receive the NFTs - Whitelisting of gaming functions within the Narval wallet (or blacklisting of unwanted functions eg Transfer) - Possibility for both parties to claim rewards, according to pre-agreed split (eg 70%/30%) - Way for the owner to get back the NFT at end of the pre-agreed timeblock - Possibility for the owner to mint a claim on his/her lent NFT for composability with DeFi (eg ability to sell the claim or use as collateral)
How it's made
The Narval frontend is built on Angular, and uses Moralis to connect to Polygon and store simple data about NFTs available to borrow, and NFTs already lent on the platform. The Narval wallet extension is a fork of Tally. It connects to dApps on Polygon, announces itself as the Narval wallet holding lent NFTs to dApps (by responding to eth_requestAccounts and eth_accounts), and passes requests to eth_sendTransaction and personal_sign to the Narval backend for approval, to allow borrowers to play games, but, crucially, not do anything else with the borrowed NFTs. The existing functionality built into Tally is used to monitor Polygon for transaction state changes. The Narval backend, for this hackathon, is a proof of concept built as a Python Flask app running on Google Cloud's App Engine, utilizing Cloud Datastore for storage of wallet addresses and private keys. A key step to productionizing the backend will be secure key storage, or migration to a trustless Narval wallet utilizing Shamir Secret Sharing or more advanced methods of Multi-Party Computation (MPC) to enable borrowers to play games, and lenders to be confident their lent NFTs cannot be sold or stolen.