Creating a wNFT

This page describes the process of wrapping NFT and fungible token assets using the protocol.

wNFT Introduction protocol supports ERC721, ERC1155, ERC20 assets through a "wrapper" ERC721 contract, AssetWrapper, that simply stores assets returning an NFT to the minter with an associated unique integer based identifier.

Given Ethereum only supports uint256, the maximum number of such wNFT's is 2**256-1. See the AssetWrapper contract source here for more detail.

1. Logging into the app

You can begin interacting with the protocol using, which performs MetaMask address based authentication and supports all protocol functionality.


Note on App Requirements

Ensure you have the latest version of MetaMask installed. Note, you can connect to MetaMask and the app using a hardware wallet, such as a Ledger. Ensure you have the latest firmware installed for Ledger (if connecting to MM via Ledger Live) and you are running updated MetaMask version.

Navigate to and click Connect Wallet.

You will be prompted to sign a zero-gas payload by MetaMask attesting your wallet address.

Upon logging in, you will be redirected to the My Wallet page, which shows you a representation of all the NFT's in your wallet that supports (see Collections Supported) as well as ERC20's.

To begin the creation of a wNFTwNFT - Acronym representing a "wrapped NFT" created by minting against the AssetWrapper contract in protocol., hover over an asset in your wallet until you see the Add as collateral button and click it.

You should immediately see the NFT highlighted and Added as Collateral. This step simply selects the NFT for addition into a new wNFT, which you will mint as part of the Create Loan Request process. Once you've added all the collateral you intend to deposit in the wNFT, click Create Loan Request to mint the wNFT, and approve / deposit the selected collateral into it.


Depositing Multiple Collateral

Remember you can always come back and deposit more collateral into your wNFT. Once you've deposited the first asset, you also mint a new wNFT that your address then owns. Mint, wrapping, unwrapping of wNFT's are all facilitated via the AssetWrapper contract of the Pawn protocol.

Clicking on Create Loan Request will prompt you to add your NFT to the not yet minted wNFT. You can also add ERC20 collateral to your bundle at any point. When clicking Confirm on an NFT in the modal, MetaMask will prompt you for an approval to the AssetWrapper contract, which mints the wNFT wrapping your asset.

Once the approval transaction completes, you should see a green check mark next to your asset in the Approval modal indicating the asset is ready to be deposited into a wNFT. To save on gas, we combine the creation of a Loan Request with the creation of a wNFT.


Approvals stick between sessions

If you were to exit your session and return at a later time, you will not be prompted for an approval again on the same asset if it was already approved in the past but not deposited into a wNFT.

With an asset confirmed, you have the minimum necessary (1 asset) to create a loan request using the wNFT wrapping the asset as collateral. Click Set Loan Terms* to establish the terms of your loan request. Once you click Finalize** on the terms, the following actions on chain actions will take place as evidenced by MetaMask prompts.

  1. Approve - You will be prompted to approve to spend from Asset Wrapper (an NFT instance or wNFT) on your behalf.
  2. Mint wNFT - You will pay gas to Asset Wrapper to mint a wNFT and deposit your asset(s) that you confirmed in the prior step as an atomic transaction.
  3. Sign Loan Terms - You will be prompted to make a signed payload request against Origination Controller for the terms of the loan that attests your wallet against the terms.

Once you are done with the MetaMask prompted transactions you will see a Success modal.

Navigating to My Loans, you will see your new loan request. Clicking into it will show you detail, including the contents of the wNFT you minted to collateral the request.

What’s Next