Ubiloan is a startup that specializes in providing financing services to digital asset holders. The company raises funds from liquidity providers, automated loans, and loan recoveries through decentralized smart contracts. Through Ubiloan, holders of NFT assets can pledge their NFTs and pay a certain interest rate to obtain the corresponding loan.
In Ubiloan's plans, it will focus on GameFi's narrative loop, providing bulk loan application services on Ether for holders of gaming asset NFTs during the first phase. At the same time, it will use a variety of NFT standardized protocols and relatively mature technical solutions to maximize the liquidity and security of NFTs.
Specifically, Ubiloan has built a decentralized, immutable, and transparent lending protocol for GameFi NFT. Through this agreement, depositors can provide liquidity to market pool contracts to earn passive income. At the same time, borrowers can borrow pooled funds through a collateralized loan service over-collateralized) or a credit loan service non-collateralized). This peer-to-peer model can provide immediate loans with features based on the status of the pool, collateral, and credit checks.
Operating model

In Ubiloan's model, an immediate loan is available as long as the NFT holder (i.e. the borrower) pledges its NFT holdings in the Ubiloan agreement.
In turn, the liquidity provider, as a lender, is required to deposit specific tokens into Ubiloan's liquidity pool in order to earn interest.
This makes it no longer necessary to match lending activity individually. Instead, it became dependent on pooled funds as well as the amount borrowed and the collateral.
As a result, instant loans take on the characteristics of a pool-based state.
Through this peer-to-peer model, both borrowers and lenders can use Ubiloan to complete instant loans in an automated and decentralized manner without the need for trust.
Protocol Architecture

1. The LendingPool contract
As the main entry point to the Ubiloan protocol, the LendingPool contract provides the user with seven core operations:
①Deposits
②Withdrawals
③Borrowing and Lending
④Repayment
⑤Auction
⑥Redemption
⑦Liquidation
And to perform these core operations, the LendingPool contract uses tokenization to assist. When a user deposits a specific reserve, he or she will receive a corresponding number of Ubiloan liquidity tokens (ULT), which map the liquidity deposited and accrue interest on the underlying assets deposited.
The ULT will be minted when the user makes a deposit and destroyed when the deposit is withdrawn, and its value will fluctuate in the process. And whenever a user opens a borrowing position for a lending activity, the NFT acting as collateral will be locked and cannot be transferred.
2. NFT Loan Manager
When the NFT is used as collateral for a loan, the Ubiloan Protocol's NFT Loan Manager will adopt a unique management model to maintain the relationship between the NFT and the loan.
3. Ubiloan Liquidity Tokens
Ubiloan Liquidity Tokens (ULT) are tokens that are minted and destroyed when assets are supplied and withdrawn to the Ubiloan marketplace and are used primarily to represent the amount of crypto assets supplied by users and the revenue earned from those assets.
The value of the ULT is pegged at a 1:1 ratio to the value of the corresponding supplied assets, which can be securely stored, transferred or traded. At the same time, all proceeds collected by the ULT reserve will be distributed directly to ULT holders by means of an ever-increasing wallet balance.
4. Ubiloan Debt Token
The Ubiloan Debt Token (UDT) is an interest-bearing token that will be minted and destroyed as it is borrowed and repaid. the UDT represents the debt owed by the token holder.
The value of the UDT is linked 1:1 to the value of the borrowed asset, which represents the total amount currently owed to the agreement, i.e. the principal debt + accrued interest.
5. Ubiloan NFT
Ubiloan NFT (UNFT) represents the tokenized collateral used throughout the Ubiloan protocol and is inherently non-transferable.
UNFT is a promissory note token that is minted and destroyed upon borrowing and repayment, meaning that UNFT has the same token ID as the NFT for which the token holder is acting as collateral for the borrowing.
UNFT's tokens are linked 1:1 to the value of the corresponding NFT collateral. All tokens owned by their holders can be easily integrated into the NFT wallet and social media.
6. LendingPool Configurator
The LendingPool Configurator provides the main configuration functions of the LendingPool, specifically
- Activating/deactivating a reserve;
- Enabling/disabling the borrowing of a reserve;
- Freezing/unfreezing a reserve;
- Updating the decimal point of a reserve;
- Updating the interest rate policy address;
- Activating/deactivating an NFT collection;
- Freezing/unfreezing an NFT collection
- Activating/deactivating specific NFT collections as collateral
- Updating the loan-to-value (LTV) ratio for a set of NFTs
- Updating the liquidation threshold for a particular NFT collection;
- Updating the liquidation grant for a particular NFT collection;
- Activating/deactivating all functions of the LendingPool
- LendingPool Contract Interaction Process
The LendingPool contract allows the user to interact with the reserve funds in the LendingPool through the following actions:

1. Accumulated Interest
Accumulated interest is the process of calculating interest based on the block timestamp rolled forward Each interest calculation is done through other core operations such as deposits, withdrawals, borrowing, repayments, auctions, redemptions, and liquidations.
2. Deposits
- The specific sequence of actions for a user to make a deposit is shown below:
- Obtain information about the reserves and ensure that they are in a valid state.
- Update the cumulative liquidity index and the cumulative variable borrowing index.
- Update the variable borrowing rate and the liquidity rate.
- Deposit the user-specified WETH into the ULT contract.
- Calculate the fixed deposit balance and cast the ULT for the user in the same amount as the deposit slip.
3. Withdrawal
- The specific sequence of actions for user withdrawals is shown below:
- Obtain information about the reserve and ensure that it is in a valid state.
- Update the cumulative liquidity index and the cumulative variable borrowing index.
- Update the variable borrowing rate and the liquidity rate.
- Calculate the assessed withdrawal balance and destroy the equivalent amount of ULT.
- Withdraw the corresponding WETH from the ULT contract to the user.
4. Borrowing and Lending
- The specific sequence of actions for user borrowing is shown below:
- Obtain information on reserves, NFT and user loans.
- Update the cumulative liquidity index and the cumulative variable borrowing index.
- Extract the lender of the user loan from the given NFT information.
- Validate the prerequisites for lending activity:
1) Ensure that the status of the reserve and NFT is Active.
2) Calculate the health factor and ensure it is greater than 1.
3) Ensure that the amount borrowed cannot exceed the maximum allowed loan amount for the current mortgage NFT
If Lender = 0, it means that the NFT is not currently pledged for lending and can subsequently be done as follows:
1) Pledge the NFT to the lending pool contract.
2)Create a borrowing record for the current user and set the borrowing status to Active.
3)Mint UNFT to the user
If Lender ≠ 0, it means that the current NFT has been used for lending and the following operations can be performed subsequently:
1) Make sure the loan status is Active.
2) Add or subtract the scaled borrowing balance from the user's loan.
Mint the debt tokens corresponding to the scaled borrowing balance to the user.
Update the variable borrowing rate and liquidity rate.
Transfer the corresponding WETH from the ULT contract to the user.
5、Repayment
The specific sequence of actions for user repayment is shown below:
Obtain information about the reserve, NFT, and the user's loan.
Obtain the total amount of the user's debt
Prerequisites for validating repayment:
1)Ensure that the reserve and NFT remain active.
2) Ensure that the status of the user's loan is Active.
If the current repayment amount is less than the debt amount, the value of the scaled debt balance minus the scaled repayment balance is used as the new scaled debt balance. Otherwise, perform the following actions:
1) Change the status of the user loan from Active to Repaid.
2) Burn the UNFT.
3) Transfer the pledged NFT from the UNFT contract to the lending pool contract.
Destroy the debt tokens corresponding to the repayment amount.
Update the variable borrowing rate and liquidity rate.
Transfer the corresponding repayment WETH from the user to the ULT contract.
Transfer the pledged NFT from the lending pool contract to the user if the user's repayment amount is greater than or equal to the total debt amount.
6、Auction
The specific sequence of actions for the auction is shown below:
Obtain information about reserves, NFT, and user loans.
Verify the prerequisites for the auction:
1) Ensure the status of the user loan is active/auctioned.
2) Validate the auction parameters.
Update the Cumulative Liquidity Index and the Cumulative Variable Borrowing Index.
Calculate auction-related prices for:
1) Obtain the loan amount.
2) Calculate the threshold price.
3) Calculate the strong leveling price.
Check the conditions for a successful auction:
1) The accumulated debt amount must be greater than the threshold price.
2) The auction price must be greater than or equal to the strong level price.
3) The auction price must be greater than or equal to the accumulated debt amount.
4) The auction price must be greater than or equal to the previous highest auction price plus 1% of the accumulated debt amount.
4) The current block time cannot be greater than the auction cutoff time, i.e. Auction End Timestamp = Auction Start Timestamp + Auction Duration + Extra Auction Duration.
Record current auction entry user loan information
Lock the current highest auction price to the lending pool contract
Return the corresponding amount in the lending pool contract to the previous bidder.
Update the variable borrowing rate and liquidity rate.
7. Redemption
The specific sequence of actions for redemption is shown below:
Obtain information on reserves, NFT, user debits, and credits
Verify the prerequisites for redemption:
1) Ensure that the reserve and NFT remain active.
2) Ensure that the status of the user loan is auctioned.
3) Ensure that the current block-out time cannot be greater than the redemption cutoff time, i.e. redeemEndTimestamp = bidStartTimestamp + redeemDuration + extraRedeemDuration.
Update time.
Update the cumulative liquidity index and cumulative variable borrowing index.
Obtain the amount of debt.
Calculate the penalty due to the decrease in NFT value.
Make sure minRedeemAmount ≤ redeemAmount ≤ maxRedeemAmount.
Update the user's loan information:
1) Change the user's loan status from Auction to Active
2) Calculate the new debt amount.
3) Reset other data fields
Destroys the debt tokens corresponding to the redemption amount.
Update the variable borrowing rate and liquidity rate.
The borrower transfers the redemption amount to the Ubiloan liquidity contract.
Transferring the last locked auction price to the corresponding bidder.
Transferring the penalty from the borrower to the first bidder.
8. Liquidation
The specific sequence of actions for liquidation is shown below:
Obtain information about reserves, NFT, and user loans.
Verify the prerequisites for liquidation:
1) Ensure that reserves and NFTs remain active.
2) Ensure that the status of the user loan is auctioned.
3) Ensure that the current block time cannot be greater than the auction cutoff time, i.e. auction End Timestamp = auction Start Timestamp + auction Duration + extra Auction Duration.
Update the cumulative liquidity index and cumulative variable borrowing index.
Obtain the debt amount.
Calculate the difference between the final liquidation amount and the debt amount:
1) If liquidation Amount < debt Amount, the additional amount of debt needs to be repaid by the liquidator. This means that the liquidation price is not sufficient to repay the debt and the difference is transferred from the liquidator to the debit pool contract.
2) If liquidation Amount > debt Amount, the excess amount will be transferred to the borrower.
Update user loan information.
Destroying debt tokens corresponding to the debt amount.
Update the variable borrowing rate and liquidity rate.
Transfers the debt amount from the borrowing pool contract to the liquidity contract, indicating that the debt has been repaid.
Transfer the pledged NFT to the liquidator.
Conclusion
Ubiloan realizes low-cost circulation of market funds through highly financialized means. This not only makes the crypto market more liquid but also enables entrepreneurs to have more diversified financing and allocation methods.
It takes NFT as the medium of capital allocation, which has a certain easing effect on the liquidity dilemma of NFT. But from a practical point of view, how to price NFT as collateral is still a more complicated problem. The question is also about the success of the model.
All Comments