Whitepaper

Abstract

NiftyPays is an innovative NFT ecosystem, enabling participants to benefit from their NFTs by staking them as collateral for loans.

The ecosystem revolves around $NIFTY - a utility token which introduces an incentive mechanism to allow NFT holders to transact in a peer-to-peer manner for various useful functions, such as fractionalisation of NFTs, or lending and borrowing of NFTs. The option of "delegated" staking helps listing partners get more exposure on the platform.

NiftyPays’ lending solution follows a sophisticated NFT pricing discovery model, which depends on the history and price predictability of the collateral. NFTs which can be assigned a value are traded as standard digital assets, while those with no valuation follow a P2P model.

Holders of the $NIFTY token are also able to vote on various features and parameters of the platform.

Overview

Non-fungible tokens (NFTs) are blockchain-based digital assets with unique characteristics, associated with items such as photos, videos, audio, and other types of digital files. By definition, non-fungible digital assets are not inter-changeable, unlike conventional fungible digital tokens.

Since 2020, the market value of NFTs has multiplied more than three times. According to CoinMarketCap, the combined market cap of major NFT projects, including Theta, Chiliz, Decentraland, Enjin, reached $20 billion in May 2021.

Emerging NFT marketplaces allow users to buy, sell, trade and display their NFTs. However, those non-fungible tokens remain illiquid and cannot be used in the current DeFi ecosystem. NFT artists, on the other hand, face challenges such as increasing competition and costly, time-consuming initial crowd engagement.

This is where NiftyPays comes, bringing decentralized finance solutions to help the NFT ecosystem continue growing sustainably.

The platform utilizes its native token as the platform currency, $NIFTY, to incentivise facilitate users to perform the following transactions:

  • Borrowing (pooled)

  • Borrowing (P2P)

  • Fractionalization of NFTs (for liquidity)

  • Voting on various features and parameters of the platform.

Listing partners would be benefit from the following:

  • Exposure to products

  • Delegated staking

Economy setup

Platform functionalities

Lending

Users will be able to receive loans against their staked NFTs as collateral. Depending on the history and price predictability of the collateral, there will be two lending options available:

  • P2P lending

  • Lending via a pool

Price discovery

Methods for NFT price discovery are at their infancy. There are multiple protocols trying to figure this out, however they are have significant shortcomings such as such as:

  • User based pooling - potentially creating a huge number of pools and respective pools tokens which are likely to remain as illiquid as the NFTs itself.

  • Bonding curve pricing - which does not provide instant liquidity, since it requires a statistically significant number of fractions of the token to be sold. Furthermore it is prone to price manipulation.

This is why NiftyPays takes a different, more sophisticated pricing model. NFTs which can be assigned a value, i.e. some trade history and participation in a well established NFT family, are traded as standard digital assets, while those with no valuation follow a P2P model.

NFTs without history

This will be done on a P2P model with the following steps:

  1. The borrower (NFT holder) deposits the NFT as collateral on the platform and suggests a price, LTV, interest rate and liquidation ratio.

  2. The lender has the options to accept on the price or initiate a discussion with the borrower in order to agree on the loan parameters.

  3. After agreeing on the parameters of the loan, this is recorded on the platform and the loan is initiated.

  4. The NFT holder receives a loan based on the LTV ratio, while the lender receives the agreed APY.

  5. The platform monitors the liquidation ratio of the loan. In case the loan is approaching it, there are several options:

    1. The lender and borrower can agree on new liquidation ratio

    2. The lender and borrower can agree on new NFT valuation

    3. The borrower can repay part of the loan

  6. The loan is finalized in one of the following scenarios:

    1. The borrower repays the principle + agreed interest and gets their NFT back

    2. The loan is liquidated and the lender gets the NFT

NFTs with history

NFTs which have a trade history of at least a couple of trades and/or belong to a well-established NFT family (e.g. crypto punks, crypto kitties) or artist will be eligible for an automatic fair price valuation by the platform. Those NFTs can tap into instant liquidity from the platform’s NFT lending pool.

Some of the variables which will go into determining the fair value of the NFT are:

  • Previous sale value of the NFT

  • Previous sale value of NFTs in a similar family

  • Relative value of the NFT within it's specific set/family

  • Transaction history of the addresses which have traded with this NFT

Using the above parameters and k-means clustering, the protocol will suggest the relative value of the NFT compared to similar NFTs in the cluster. The subset of NFTs analyzed as well as their transaction history will be selected via ChainLink's verifiable random functions.

K-means clustering is a method of vector quantization, originally from signal processing, that aims to partition observations into clusters in which each observation belongs to the cluster with the nearest mean (cluster centers or cluster centroid), serving as a prototype of the cluster.

The way the k-means clustering algorithm works is as follows:

  1. Randomly select ‘c’ cluster centers.

  2. Calculate the distance between each data point and cluster centers.

  3. Assign the data point to the cluster center whose distance from the cluster center is minimum of all the cluster centers.

  4. Recalculate the new cluster center using:

vi=(1/ci)j=1ciXiv_{i} = (1/c_{i}) \sum_{j=1}^{c_{i}}X_{i}

Where:

  • cic_{i}represents the number of data points in iicluster

  • XX = {x1x_{1},x2x_{2},……..,xnx_{n}} is the set of data points

  • VV = {v1v_{1},v2v_{2},…….,vcv_{c}} is the set of centers

  1. Recalculate the distance between each data point and new obtained cluster centers.

  2. Stop if no data point was reassigned, otherwise repeat from step 3.

Lending solution

The lending solution follows industry-standard functionalities of pooled lending and a dynamic, curve-based interest rate based on the lending pool’s current utilization. The process is as follows:

NFT holders (borrowers) deposit their NFTs as collateral in a pool. On the flip side, lenders deposit stablecoins in the lending pool. Lenders receive interest rate on their deposits as per the utilization curve (and formula) below:

APYL=(2U×102C×10+ML)×UAPY_{L} = (\frac{2^{U\times 10}}{2^{C \times 10}} + M_{L}) \times U

Where:

  • APYLAPY_{L}is the lender APY

  • UUis the pool utilization in terms of %

  • MLM_{L}is the minimum lender margin (default 2%)

  • CCis the soft cap on the interest rate

As an example of the above:

  • While the utilization rate of the pool is around 50%, any lenders would receive an effective APY of 1.78%

  • When the pool utilization reaches 80%, the effective APY becomes 11.60%

When a borrower wants to receive a loan versus the pool, they need to post collateral in NFTs. Based on the automatic fair price valuation of the NFTs and the amount deposited, the borrower can take a loan with:

  • Maximum LTV (loan to value) of 50%. For example, if a borrower deposits an NFT valued at 30 000 USD (fair value based on our Price oracle), the maximum loan in USDC which they can obtain is 30 000 x 0.5 = 15 000 USDC

  • Liquidation ratio of 60%. The liquidation ratio is the LTV at which the protocol sells the collateral on the open market to secure the loan position. Continuing the example above, a liquidation rate of 60% means that if the borrower skips a few interest payments and the total outstanding (principal + interest due) reaches 30 000 x 0.6 = 18 000 USDC, the loans gets liquidated.

The following curve and formula define the interest rate which the borrower pays on the loan:

IRB=(2U×102C×10+ML+MC)×UIR_{B} = (\frac{2^{U\times 10}}{2^{C \times 10}} + M_{L} + M_{C})\times U

Where:

  • IRBIR_{B}is the interest rate paid by the borrower

  • UUis the pool utilization in terms of %

  • MLM_{L} is the minimum lender margin (default 2%)

  • CCis the soft cap on the interest rate

  • MCM_{C}is the loan margin collected by the Nifty platform

Collateral liquidation

In the event of a failure to repay and a NFT collateral needs to be liquidated, the liquidation will be done as a three-step process.

  1. The NFT will be auctioned off as a whole with the minimal sale price being slightly higher than the loan value.

  2. If the above step fails, the NFT will be fractionalized and sold via the exponential bonding curve as described in the fractionalization step above. Since the curve pays royalties, the cost of purchasing all fractions will be significantly higher (3x) than the original NFT valuation. A 3x price on the bonding curve ensures that the value of the collateral will be recovered as long as 70% of the fractions are sold.

  3. If all of the above fail (partially or fully), the lender will receive compensation from the NIFTY reinsurance pool.

Reinsurance

The NIFTY reinsurance pool will be a voluntary participation pool of $NIFTY tokens. This pool can be used to compensate lenders in case an NFT collateral cannot be sold to fully repay a loan. Participants in this pool will be rewarded with a percentage of all fees collected on the platform in exchange for them securing the loans.

This means that after tokens are deposited, the shares of the pool become a de-facto cashflow generating product and can be evaluated via the standard Discounted Cashflow Analysis, after applying a high enough discount rate to account for risks associated with the compensation for lenders.

Discounted Cash Flow Analysis (DCA) has been around for a while. It has been established as one of the main evaluation methodologies for productive assets based on its future cash flows. The purpose of DCF analysis is to estimate the money received, adjusted for the time value of money. While it was not widely been used in cryptocurrency up 2019, currently we are seeing more and more productive tokens which can be evaluated via this formula such as UniSwap LP tokens and the AAVE token . The formula for calculating the net present value of a future cash flow goes as follows:

NPV=CF1(1+r)2+CF2(1+r)2+...+CFn(1+r)n+TVNPV = \frac{CF{1}}{(1+r)^2}+\frac{CF{2}}{(1+r)^2}+...+\frac{CF_{n}}{(1+r)^n}+ TV%0

Where:

  • NPVNPVis the net present value of the investment

  • CF1CF_{1}is an expected future cash flow at period nn

  • rris the discount rate, also referred to as the cost of capital

  • TVTVis the terminal value (or exit value) of the investment

In turn, TVTVis evaluated as:

TV=CFn×(1+g)rg+A(1+r)nTV = \frac{CF_{n}\times (1+g)}{r -g} + \frac{A}{(1+r)^n}%0

With the two new elements being:

  • rrrepresenting the expected long-term growth rate of the underlying business.

  • AArepresenting any liquid assets available at the end of period nn

Fractionalisation

The platform will support fractionalization of NFTs and sale via an exponential bonding curve with back pay of royalties.

In a nutshell, after the NFT is fractionalized, it will be sold via a bonding curve. Each subsequent fraction sold this way will cost more than the previous with a percentage of the price difference going to all previous fraction buyers, essentially representing a Royalty payment. An example of one of the possible setups for a bonding curve and the respective formula and pricing are shown below.

The Price (P) on bonding curve above can be defined as a function of the fractions sold (F):

P=1+0.001×F4P = 1 + 0.001 \times F^{4}

Fees

The platform will charge fees for various actions such as:

  • Unstaking (0.5% fee)

  • A % of the interest on all loans (3% margin)

  • Liquidation of collateral (5% fee)

  • Fractionalization (0.5% fee)

  • Weekly promotions / lotteries

$NIFTY

The native digital cryptographically-secured utility token of the NiftyPays platform ($NIFTY) is a transferable representation of attributed functions specified in the protocol/code of the NiftyPays platform, and which is designed to be used solely as an interoperable utility token on the platform.

$NIFTY is a non-refundable functional utility token which will be used as the governance token and economic incentives which will be distributed to encourage users to contribute to and maintain the ecosystem on the NiftyPays platform, thereby creating a win-win system where every participant is fairly compensated for its efforts. $NIFTY is an integral and indispensable part of the NiftyPays platform, because without $NIFTY, there would be no incentive for users to expend resources to participate in activities or provide services for the benefit of the entire ecosystem on the NiftyPays platform. Given that additional $NIFTY will be awarded to a user based only on its actual usage, activity and contribution on the NiftyPays platform, users of the NiftyPays platform and/or holders of $NIFTY which did not actively participate will not receive any $NIFTY incentives.

$NIFTY introduces an incentive mechanism to allow NFT holders to transact in a peer-to-peer manner for various useful functions, such as fractionalisation of NFTs, or lending and borrowing of NFTs.

$NIFTY does not in any way represent any shareholding, participation, right, title, or interest in the Company, the Distributor, their respective affiliates, or any other company, enterprise or undertaking, nor will $NIFTY entitle token holders to any promise of fees, dividends, revenue, profits or investment returns, and are not intended to constitute securities in Singapore or any relevant jurisdiction. $NIFTY may only be utilised on the NiftyPays platform, and ownership of $NIFTY carries no rights, express or implied, other than the right to use $NIFTY as a means to enable usage of and interaction within the NiftyPays platform.

Platform actors

NiftyPays will enable the following types of users on the platform:

NFT holders. Users holding non-fungible tokens which wish to borrow to access liquidity, enter into NFT rental contracts, or introduce fractional ownership. In order to incentivise participation in the platform, users which utilise the services available on the platform by staking these tokens as collateral for loans will be entitled to receive $NIFTY token incentives.

DeFi lenders. Users providing fungible digital assets as loans to NFT holders and receiving APY in accordance to the predetermined loan conditions. Similarly, these users which participate in the platform by providing loans to other users by staking their assets would receive $NIFTY token incentives for their liquidity services.

Listing partners. Third party content creators (i.e. listing partners) may list their NFT projects on the NiftyPays platform to gain exposure, and gain access to $NIFTY liquidity by distributing their native project tokens to participants who have provided $NIFTY liquidity ("delegated" staking). These third party NFT projects would also receive $NIFTY incentives for interacting with the platform.

Platform participation

In order for listing partners to gain access to NiftyPays platform, they would be required to put up a stake of $NIFTY as a security deposit to ensure good behaviour. This would drive added utility to $NIFTY as an access token.

The staking requirements will be based on a bonding curve so that partners which join early will have a much lower staking requirement than partners which join at a later stage. This mechanism will automatically regulate the number of partners on the platform based on their willingness to join.

SR=5000×P14SR = 5000 \times P^{\frac{1}{4}}

Where:

  • SRSRis the staking requirement

  • PPis the current number of partners on the platform

The above setup ensures high rewards for early adopters as the net tokens distributed are higher, and they are distributed amongst fewer users.

Governance

In order to promote decentralised community governance for the network, $NIFTY would allow holders to propose and vote on governance proposals to determine future features and/or parameters of the NiftyPays platform, with voting weight calculated in proportion to the tokens staked. For the avoidance of doubt, the right to vote is restricted solely to voting on features of the NiftyPays platform; the right to vote does not entitle $NIFTY holders to vote on the operation and management of the Company, its affiliates, or their assets or the disposition of such assets to token holders, and does not constitute any equity interest in any of these entities. The arrangement is not intended to be any form of joint venture or partnership.

The NiftyPays governance will have three distinct stages:

  1. Early days - during this period, the team is in complete control of the project, and no voting is done. This is because there will be bugs and events which require immediate hotfixes, and this cannot be done democratically.

  2. Semi-decentralisation - during this period, the team is still in complete control of the project and can deploy hotfixes same as above, but for the non-urgent decision, it can take community input via a forum or even via off-chain voting like a snapshot - https://snapshot.page/#/

  3. Complete decentralization - during this stage, the project is fully decentralized, and all decisions are made via a strict procedure, and all voting is done on-chain. The process is detailed below:

It is the community members which would drive development of the NiftyPays platform, so $NIFTY token incentives would need to be distributed to compensate them for their time, expertise and effort. Only users who have staked tokens to participate in submission of proposals, commenting, reviewing and/or voting will be entitled to receive $NIFTY token governance rewards.

During Stage 3, NiftyPays will follow a governance structure similar to this of Compound, as follows:

Anybody with 1% of $NIFTY delegated to their address can propose a governance action; these are simple sets of activities, such as changing parameters of the platform that no one else can modify. Proposals are executable code, not suggestions for a team or foundation to implement.

All proposals are subject to a three-day voting period, and any address with voting power can vote for or against the proposal. If a majority and the minimum votes (i.e., quorum) are cast for the proposal, it is queued in the Timelock and can be implemented after two days. The quorum is currently set to 50% of all governance votes.

Anyone can also cancel a proposal if the original proposer loses the required vote power to create proposals (1% of total governance votes) after it was added. This helps prevent someone from making a malicious proposal and immediately withdrawing the governance contract’s votes.

During an initial seed launch period, a portion of the tokens will be distributed among the core contributors, who can delegate voting weight to themselves or the public as they see fit.

Last updated