If you haven’t yet, check out Economic Primitives of the Metaverse 1: Renting and Lending where we lay out the motivation for exploring this topic including a brief overview of the vision of the metaverse, the role of NFTs, and renting and lending protocols within it.
In this sequel, we hope to introduce a new idea - the metaverse mortgage. We first start off with a debate of its merits, then construct a rudimentary implementation through composing ideas from existing NFT-fi projects, detail what else needs to be built, and finally end with an outline of the possibilities of metaverse mortgages.
The parts are largely modular so feel free to skip to whichever one is the most interesting to you.
Once again, if you enjoy this piece please follow us at @0xtaetaehoho and @ryanshon_twit and consider buying this piece as an NFT to support more student work.
Part 1:
Part 2:
Part 3:
First, the economic primitive we are referring to broadly apply to any leveraged purchase where the asset can be used by the borrower, while a creditor maintains lien rights (control in the case of default) until the debt is fully repaid. We will call this a “mortgage”.
Second, we will provide a brief discussion as to why such a primitive is important. To do this, we explore why land may be necessary, under what conditions it will have value, and how mortgages may be useful under those conditions.
We do not believe that we need to reiterate the prevalence of a mortgage (leveraged purchase) - whether it is the nearly $2T of leveraged buyouts this year, $1.2T of mortgage originations in 2Q20, or $1.3T of autodebt, ~$1T of credit card debt... leveraged purchases are very important to the consumer and the economy of today.
“The main purpose of LANDs is to allow game designers and developers to publish experiences onto them, which can be played by gamers and monetised by themselves.” From The Sandbox.
Privately owned land may be necessary if players can interact with the land by building structures and harvesting materials. This is helpful in preventing spam where low-quality structures are built and clutter the space, or in attributing resources to a particular address. We hope to elaborate on this further in another article.
For now, we highly suggest reading Lars Doucet’s article on considerations when creating virtual land.
We based this section mainly on “The Value and Price of Land” by Willy Verheye, and works by FAO.
“A commodity which is abundantly available has no direct value, but when that same commodity becomes short in supply and/or when different users are competing for, it gets an (exchange) value.”
In reality, we compete for land that provides shelter, the supply of which is limited by our desire to live in a convenient location. Intuitively speaking, housing prices in Manhattan are expensive because of both limited space and the convenience of its location - the desire to be near activity and other people (work, school, nightlife etc…). This is called the agglomeration effect.
Location = time value of money x convenience
In virtual worlds, not only is the supply of land not scarce (ie. Minecraft), a virtual “home” or “land” is not a place for shelter. Additionally, because space itself can be non-Euclidean (ie. you can teleport) there is no concept of “distance from a city-center”, thus value accrual from agglomeration effects are largely design decisions of particular virtual worlds (this doesn’t apply to an AR-based space). Combined with the fact that virtual worlds can have infinite, automatically generated terrain, land becomes a pure commodity.
In reality, land provides the following sources of value:
Let us examine how these factors apply to virtual counterparts.
Within virtual worlds, land as a factor of production is a design decision. A virtual world designer could require raw materials that are harvested on the land to create items - this is the model that Axie employs. Alternatively, the designer could require that all assets and structures are built as NFTs on top of land and reference the underlying land, paying out a royalty fee upon asset interaction/sale - this is the model that Sandbox employs. Each decision changes the value accrued to the land and thus its value.
The functional aspect of land is nebulous within the metaverse. It is not imperative to have a “space” to store items/NFTs (they live as designations in a ledger and are represented in your wallet). The one relevant function might be privacy where ownership of a piece of space gives you the ability to gate people who you do not want from coming into your metaverse property.
Finally, show-off value is accentuated in the metaverse. Your digital space has the capacity to reach an unlimited number of people, not just those in your physical proximity. This might be why properties in prime locations in popular virtual worlds are selling for exorbitant prices - capacity for infinite traffic means exponential engagement and eyeballs. Similarly, only ads, and not humans, reside in Times Square; this might be true for the highest traffic areas of the metaverse.
Here is an example of the above dynamics in action in FFXIV, from Lars Ducet’s “Land speculators will kill your game's growth”.
“There are "apartments" in FFXIV, but they're in low demand and not a target for speculators (and don't seem to get used by players that much, either). The reason for this is that unlike in the real world, you don't have a fundamental need for a mere roof over your head; if you want to go to sleep you just log off. Further, basic amenities are provided by free public inn-rooms which according to Joe are fully furnished instanced areas where you can go to change your hair style, access your retainers/inventory, and customize the look of your armor and clothes. They're basically infinitely available single-occupancy public restrooms. Apartments don't have much to offer in terms of features that you can't already get elsewhere, and their affordances for self-expression and artistry are minimal. Land for houses is where all the demand is, but chronic supply constraints make speculation endemic.”
Already, property in highly desirable areas of crypto-games and virtual worlds is extremely expensive. The cheapest piece of land on Axie trades at 3ETH, while an average mystic land runs in the hundreds of thousands. A piece of land in Sandbox costs around 1ETH, while premier land next to larger structures costs significantly more. During the land presale of Embersword, there were cities that sold for $80,000.
Outside of land, Star Atlas ships sell for $30,000. When crypto-gaming is fully mainstream, the rarest of items will trade at very high values.
In the 1950s, homeownership in the United States was less than 45% and largely restricted to the upper class and white families. With the rise of mortgages in the 1960s, homeownership was sitting at ~65% by the end of the decade.
The benefits of holding a home/land - like those mentioned above are large, whether it means you have access to a mode of production, safety/security/privacy, a store of value, or a roof over your head. Yet the cost is high enough such that only a slim margin of the middle class can outwardly afford to purchase a home without applying for a mortgage.
We’re still parsing through how to think about design decisions and the tradeoffs involved between scarcity and accessibility. Regardless, we believe that in the presence of scarcity, it is important to provide financing opportunities for those without capital to access the same experiences that wealthier asset-owners have access to. In Part 2, we will provide discussions about implementations of this primitive.
From Economic Primitives of the Metaverse 1: Renting and Lending
[Difficulty in implementing complex economic relationships with NFTs] is in part due to the inherent differences between smart contracts and paper contracts. Because in reality, the state is responsible for arbitration and enforcement of contracts, the parties partaking in a contract are all known, and because there is flexibility in renegotiation and termination, contracts don’t have to be fully edge-case exhaustive to be secure. A general agreement can be carried out in good faith with edge-case arbitration outsourced to the judicial system, judgments passed on centuries of precedent/common law, against two parties who are known to each other.
Furthermore, because the ERC721 standard only defines the Owner role, it limits the complexity and functionality of an NFT. At best an approved address can transfer this role, but there are no other natively available roles with differentiated access/rights to said NFTs.
For a mortgage that has a lienholder who is separate from the effective owner/user of the NFT, this is the primary roadblock. The question lies in how we get someone to have the ability to use, sell, and perform all actions available if you custody an NFT while a third party can claim the NFT if the user doesn’t meet their payments, or violates certain covenants.
A Quick Recap: EIP2615
One of the first attempts to solve this problem was EIP2615 by Koshi Shiba. It aimed to extend the ERC721 standard and natively introduce the additional roles of Lien holder, tenant, and owner. If you would like a high level understanding of EIP2615 check out “Economic Primitives of the Metaverse 1: Renting and Lending, Contract Inheritance”.
Composed Protocols
If you are already familiar with the following protocols, skip directly to “The Mortgage.” Before we propose a composed solution, let us briefly examine each part.
(i) Project-Side Implementation of Uncollateralized NFT Lending
We refer to the section: Uncollateralized Project-side Integration (reNFT Uncollateralized) in Economic Primitives of the Metaverse 1 for a more in-depth exploration.
In general, project-side uncollateralized lending works by having the lender of the NFT place the NFT within an escrow contract. When the renter seeks to rent this NFT, the contract simply logs the renter's address alongside the NFT id without transferring the said NFT to the renter’s address. A project then queries the contract to see whether there is currently a renter - in which case it recognizes the renter as the current owner of the NFT - or not - in which case the owner is the wallet that has custody over the NFT (the contract or the original owner).
function handleRent....
rentings[rentingIdentifier] = IRegistry.Renting({
renterAddress: payable(msg.sender),
rentAmount: uint16(cd.rentAmount[i]),
rentDuration: cd.rentDuration[i],
rentedAt: uint32(block.timestamp) ....
There are limitations to this implementation including the requirement that a project integrates this solution, that a renter doesn’t really have “custody” over the NFT they are renting, as well as other issues with interoperability. Fully custodial uncollateralized renting is one aspect where we are the most excited for further developments.
(ii) Un/under-collateralized ERC20 Lending
The general idea of uncollateralized lending is to rely on the wisdom of the crowds for credit-risk ratings. In both Truefi and Goldfinch, members with some locked stake in the protocol are responsible for reviewing and admitting new borrowers, and are rewarded or slashed as a consequence of the performance of the loan.
Truefi/Goldfinch
Truefi and Goldfinch are uncollateralized ERC20 lending platforms that use credit prediction markets. They both work quite similarly, except place the burden of prediction on different entities. We’ll give a brief overview of Truefi, and remark on differences in Goldfinch. The following is a direct quote from a Truefi Medium post.
In the future, the team plans to decentralize process #2, specifically the rigorous onboarding process, to a credit prediction system. Individual holders who stake the governance token TRU, will be able to vote on whether a borrower has access to credit on the platform, taking into account analysis tools provided by the platform and information submitted by the hopeful borrowers.
If they vote yes and the loan is successfully executed, then they will receive a payout, while (presumably) if the borrower defaults they will have their balance slashed to pay back capital providers - the latter part is unconfirmed. It seems that at the moment, all stakers have their balance slashed in the case of default.
Instead of direct prediction markets where anyone with staked TRU can participate, Goldfinch uses a system of “backers”. Backers are KYC’d individuals who stake GFI, the Goldfinch governance token. Backer’s then provide first-loss capital to loan pools. GFI holders can stake on a backer and based on the backer’s total stake, the protocol automatically matches a backer’s contribution to a loan pool from a “senior pool” - senior debt that anyone can contribute to. In the case of default, the GFI of the backer and staked on the backer is used to cover losses.
This system puts the burden of prediction and due diligence on prescient backers and not all stakers. Now GFI holders can rely on experienced backers to perform credit analysis. We are not sure which model will more efficiently direct capital to the best allocators/projects. To learn more about Goldfinch we suggest https://github.com/goldfinch-eng/goldfinch-contracts.
(iii) NFTs as Claims: NFTfi Promissory Note and Goldfinch
NFTfi is a p2p NFT collateralized loan marketplace. NFT owners can place their NFTs up for collateral and receive loans backed by these NFTs. The borrower and lender agree upon the amount, rate, and duration of a loan for particular NFTs off-chain. Then, the agreed-upon info (verified via comparing a hash) is used to call NFTfi.beginLoan().
The NFT is escrowed in the NFTfi contract, while the borrower receives the loan principal in their specified currency, and the lender receives a promissory note. This promissory note represents rights to the principal and interest, as well as the ability to claim the collateral if the borrower defaults on the loan or does not pay back the loan in time. This promissory note is an ERC721 and can be transferred or sold (comments lightly edited for formatting reasons).
function beginLoan(...)
...
// Issue an ERC721 promissory note to the lender that gives them the right to either the principal-plus-interest or the collateral.
_mint(_lender, loan.loanId); ...
The promissory note represents claims to the principal and interest.
// Fetch current owner of loan promissory note.
address lender = ownerOf(_loanId);
// Transfer principal-plus-interest-minus-fees from borrower to lender
IERC20(loan.loanERC20Denomination).transferFrom(loan.borrower, lender, payoffAmount);
The promissory note also presents claims to the collateral in the case of default.
// Fetch the current lender of the promissory note corresponding to this overdue loan.
address lender = ownerOf(_loanId);
// Transfer collateral from this contract to the lender, since the
// lender is seizing collateral for an overdue loan.
require(_transferNftToAddress(
loan.nftCollateralContract,
loan.nftCollateralId,
lender
), 'NFT was not successfully transferred');
Upon the termination of both actions (repayment of interest or claim of collateral), the promissory note is burned.
// Destroy the lender's promissory note.
_burn(_loanId);
Goldfinch also issues NFTs for suppliers of capital to both backers and those in the senior pool. The owner of the NFT is able to only redeem their pro-rata share of initial capital, interest, and principal in each pool to their address.
Check out the redeem/withdrawMax functions below.
https://github.com/goldfinch-eng/goldfinch-contracts/blob/main/v2.0/protocol/core/TranchedPool.sol/ (191)
And so on…
(iv) The On-Chain Credit Score
There are currently alternative credit systems in place such as ARCx Defi Passport Credit Score and Spectral. All of these systems leverage on-chain data to score a user on their credit.
ARCx
This is a direct quote from Issue #20: Reputation from Andrew Beal.
The DeFi Passport is a combination of identity and reputation. Users can (1) prove their wallet address is associated with a real identity (not a bot) and (2) receive a Credit Score between 0-1000 based on the following variables:
In the future, they hope to add factors such as yield farming scores (how long has the user held their yield farmed tokens), airdrop scores, governance scores (how active they’ve been in governance), and trader scores (weights given to people and bots).
For more information on the roadmap and composition of their credit score, we suggest checking out the ARCx docs here. Spectral also works in a similar manner.
Sourcecred
At the moment Sourcecred is a DAO payments tool that allows for the algorithmic rewarding of DAO contributors, restricted to forums that the tool supports (Discord, Discourse, and Github). For example, if you create a fantastic forum post and receive hundreds of likes from the community, you are allocated “Cred”. The project is very interesting and we suggest you check out their docs for further information.
Cred is non-transferable and community-specific. It is not a token but rather a reputation score generated algorithmically on pre-defined weightings and settings of what the community values as contributions. It is therefore possible to look at one’s Cred and extrapolate one’s reputation within different communities, and capacity to make future payments.
This serves as the basis of a construction of “capacity” - the general evaluation of your economic activity. Through studying protocol allocations and historical earnings from Cred scores (or Coordinape GIVE allocations) a credit risk protocol could extrapolate one’s level of activity, reputation, importance to key protocols, and future on-chain earning potential in crypto (we’ve heard from the Coordinape team that there are projects building precisely this).
Whereas in the real world, a bank can look at your job, your income, your house, liabilities, and payment history, protocols that study DAO tooling data can look at your contributions to DAOs, your on-chain income, your reputational and social importance to communities and more.
(v) PartyBid
PartyBid allows people to pool their capital together to purchase NFTs. Upon successfully winning the bid for an NFT, the auction is finalized when it is confirmed that the contract is currently holding the NFT. Through Fractionalize.art, Partybid gives prorated ERC20 tokens to all auction contributors, though this is a feature not used for the mortgage.
function finalize() external nonReentrant { ...
partyStatus = _owner == address(this) ? PartyStatus.WON : PartyStatus.LOST; ...
Using these aforementioned primitives, we can hypothesize how mortgages can be implemented today. Having not yet written or tested these ideas ourselves, we know that there will be many mistakes, be it areas of unforeseen implementation roadblocks, or prohibitively high use of gas. At the very least, we hope that this is a good first step and better implementations come live in the future.
If you would like to follow the implementation attempts of @0xjonomnom, @0xcesare, and @0xtaetaehoho, check out https://github.com/taetaehoho/NFT-mortgage. We strongly(!) welcome the contributions of any experienced engineers.
Here it goes:
Step 1: The individual (or Private Equity fund) who wants a mortgage/leveraged purchase of an NFT prepares their on-chain credit score with an ARCx passport. We assume that they actively participate in multiple circles on Sourcecred or Coordinape with an established history of DAO contributions and on-chain income. Generally, any form of credit verification works.
Step 2: The individual sends an off-chain signed message to a pool of capital (we could call this an NFT merchant bank/mortgage originator). This signed message includes all information required for the lender to evaluate the mortgage including but not limited to:
The individual also approves the usage of their token balance. This is an idea taken from loan markets on NFTfi.
Step 3: The NFT merchant bank sifts through off-chain messages and their senders for attractive deals. It can also do multiple rounds of encrypted message exchange with the potential borrower to hammer out deal terms.
It runs its proprietary credit rating and underwriting models to find the best ROI loans. This process can be decentralized via credit prediction systems like Truefi or Goldfinch.
Step 4: Once the NFT merchant bank decides to take the terms of a loan application, it creates a Partybid. The merchant bank places the collateral of the applicant/borrower into the Partybid and fills the rest required to purchase the NFT (up to security parameters) with its own capital. It then executes the bid in accordance with the maximum payment specified above.
Step 5: When the bid is finalized, the NFT is escrowed in the reNFT uncollateralized lending contract, taking into account the NFT id, the APY, the duration, and the payment token. Only the borrower’s address is able to call rent on this NFT.
During this process, the contract also mints an NFT that represents claiming rights to the yield and the lien rights to the NFT in the case of default. These can be further separated to create mortgage IO and POs.
Step 6: The individual, having already paid the collateral, takes the NFT loan out from the uncollateralized lending contract. Currently, the reNFT contract requires the payment of interest upfront, but this logic can be altered to support incremental payments.
In the final section of Part 2, we trace the process of a real mortgage to understand the deficiencies of existing primitives.
(i) Underwriting
In the underwriting process of a real mortgage, a loan processor (underwriter) will approve or deny an applicant’s request by looking at a variety of factors, including credit history, income, outstanding debts, and assets, and assets. This important step in the process focuses on the three C’s of underwriting — credit, capacity and collateral.
The three C’s that we refer to below are directly from US Bank’s website: https://www.usbank.com/home-loans/mortgage/first-time-home-buyers/mortgage-underwriting-process.html
Crypto credit systems are limited by short payment histories resulting from the rapid adoption of cryptocurrencies, and the inability to look at the borrower’s total assets/liabilities across different wallets and chains. As crypto credit systems evolve and more history is available, mortgage lending will become a more robust marketplace.
(ii) Loan prepayment and modification
Smart contracts will eventually need to employ prepayment and loan modification options for the lender and borrower. Prepayments are when the borrower decides to pay off a loan early, while loan modifications help struggling customers in order to prevent foreclosures and other default triggers.
We recognize the necessity of secure and decentralized loan modification procedures. In the future, we believe that very smart developers will solve these issues.
(iii) Bankruptcy
Current bankruptcy laws have many complexities that tie up legal proceedings initiated by lenders for real assets like homes, commercial real estate, and other assets.
While the metaverse may not be considered a primary place of residence for individuals, it may earn special consideration for commercial real estate. Imagine a business that does all of its eCommerce in the metaverse. If the business goes into bankruptcy but has multiple loans tied to digital assets, then lenders need to have a framework to continue bankruptcy proceedings including liquidation and restructuring.
While we recognize that bankruptcy creates additional complexities in our proposal we believe that the community of very smart developers and future crypto lawyers will solve this issue.
What is an MBS?
A mortgage-backed security (MBS) is a bond that is made up of a bundle of home loans. In the case of an NFT mortgage, these loans are represented by NFTs issued in step 5 of the mortgage process. By design, these can be interest-only or principal-only strips.
Let’s imagine an example where there are three parties - the borrower (Alice the PE fund), the lender/lending pool (Bob the NFT merchant bank/mortgage originator), and the investor (Carl the retirement DAO).
Despite prevailing negative opinion post-GFC, an MBS capital market ecosystem diversifies risk for loan originators and encourages home (NFT) ownership. The originators of the loans (consumer banks) have less capital to allocate towards mortgages than capital providers whose sole purpose (agencies like Fannie Mae, Freddie Mac, Ginnie Mae) is to invest in mortgages.
As mentioned above, the MBS increases home (NFT) ownership potential for lower quality borrowers since the originators and investors can diversify their lending risk away from loans concentrated in regions, loan terms, and other factors (the idea is that given a large enough set of mortgages they will de-risk due to diversification). For the capital providers (agencies/investors), an MBS offers higher returns compared to treasuries with relatively low risk due to the diversification of the mortgage pool.
This allows people to enter NFT marketplaces for more affordable costs, but at the same time encourages riskier lending by mortgage originators as they can pass on this risk to agencies/investors.
The Metaverse Securitization Desk
A security desk creates these MBSs via bundling together many mortgages and sells them to investors. At the moment the NFT lending ecosystem is not robust enough to need securitization, but as mortgages come to market as discussed in Part 1, there will be investors who want exposure to these mortgages without having to originate directly. Securitization desks will provide products for this capital to gain exposure to mortgage markets while providing liquidity for originators.
Private Equity (PE) Funds
The borrower(s) who submits a bid for a mortgage in step 1 of “Part 2: The Mortgage” can be thought of as a PE fund because they are buying yield generating assets with leverage. One can imagine a metaverse PE fundraising money to purchase a large plot of land in the Sandbox with poor game designers. They can then bring in new designers to revamp the game, bring in more players and thus yield, and sell the same plot of land for a higher multiple while using the yield generated to pay back interest on the initial loan.
We hope that we’ve presented something new - the NFT mortgage, sufficiently motivated its necessity, raised further interesting questions to explore, and discussed what this could bring in terms of metaverse economics.
In the next installment “Economic Primitives of the Metaverse 3” we’ll talk more about securitization and other complex financial products. @0xcesare, @0xjonomnom, and @0xtaetaehoho are also working on a test implementation of a metaverse mortgage protocol. Follow our progress here: https://github.com/taetaehoho/NFT-mortgage
As always, if you enjoyed this article, consider purchasing it as an NFT to support more student-led work, and please follow @BlockchainatCU, which funded the writing of this article!
Credits
We’d like to thank @KyleSamani, @TrustToken, @goldfinch_fi, @mrjasonchoi, @ShaanVP, @sourcecred, @christcantino, @ljxie, @dberenzon, @renftlabs, @nickev123, @ballmatthew, @pierskicks, @gabusch, @AriannaSimpson, @Jihoz_Axie, @Dave__White, @Columbia_Biz, @AlgorithmicBot, @Columbia, @gmoneyNFT.
We’d especially like to thank @BlockchainatCU.
Credits to @artemilse_ for all the charts!
Disclaimer: The above content is for informational purposes only, you should not construe any such information or other material as legal, tax, investment, financial, or other advice.