Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add Newrl RWA Protocol #9738

Open
wants to merge 2 commits into
base: main
Choose a base branch
from
Open

Conversation

kousthubraja
Copy link

@kousthubraja kousthubraja commented Apr 8, 2024

Name (to be shown on DefiLlama): Newrl RWA
Twitter Link: https://twitter.com/newrl_layer1
List of audit links if any:
Website Link: https://newrl.net/
Logo (High resolution, will be shown with rounded borders):
https://drive.google.com/drive/folders/1PZJwfR_1YMZGuSU3JDx4YqvvvYmltcJE?usp=sharing
Current TVL:
Treasury Addresses (if the protocol has treasury)
Chain: Polygon
Coingecko ID (so your TVL can appear on Coingecko, leave empty if not listed): (https://api.coingecko.com/api/v3/coins/list)
Coinmarketcap ID (so your TVL can appear on Coinmarketcap, leave empty if not listed): (https://api.coinmarketcap.com/data-api/v3/map/all?listing_status=active,inactive,untracked&start=1&limit=10000)
Short Description (to be shown on DefiLlama):
Newrl RWA enables reliable lending against real world assets such as agri commodities and invoices. The real world asset is tokenized first, with a two-step process of encrypted data storage on IPFS, followed by minting of ERC-20 token on Polygon. This step corresponds in the real-world to either initiation of storage of the corresponding commodity or signing of the invoice by a buyer (depending on which asset it is.)
Once tokenized, the owner gets a ERC-20 token of that commodity in their wallet on polygon. They can then borrow against this on-chain as well as off-chain. In off-chain variant, an intermediary platform enables the tokenization of fiat currency so that the lender can transfer it to the smart contract when lending. The smart contract transfers this stablecoin onwards to the borrower based on the collateral. The borrower can convert the stablecoin back to fiat currency using the on-ramp/off-ramp service provider.
The process is reversed while repaying. Upon repayment including the interest, the collateral token is released from the smart contract to the borrower. They can now take the commodity out of the storage and use it. Upon the exit of the commodity from the storage, the token corresponding to it is destroyed. In case of default, the token is transferred to the lender.
Token address and ticker if any:
Category (full list at https://defillama.com/categories) *Please choose only one: RWA Lending
Oracle Provider(s): Specify the oracle(s) used (e.g., Chainlink, Band, API3, TWAP, etc.):
Implementation Details: Briefly describe how the oracle is integrated into your project:
Documentation/Proof: Provide links to documentation or any other resources that verify the oracle's usage:
forkedFrom (Does your project originate from another project):
methodology (what is being counted as tvl, how is tvl being calculated):
TVL is the value of real world asset tokens locked in the contract as collateral for the real world loans issued. The value of the tokens are derived from USDC or INRC pools available on UniswapV3. The TVL calculation code does the below
Get the quantity of RWA tokens held by the contract
Call Uniswapv3 using graphql to get the LTP(last traded price) of the RWA token in USDC.
Calculate the RWA value using the conversion rate.
Github org/user (Optional, if your code is open source, we can track activity):

@kousthubraja kousthubraja marked this pull request as draft April 8, 2024 07:36
@llamatester
Copy link

Error while running adapter at projects/newrl-rwa:

TypeError: Cannot read properties of undefined (reading 'amountOut')
Truncated error stack:

    at getConversion (/home/runner/work/DefiLlama-Adapters/DefiLlama-Adapters/projects/newrl-rwa/index.js:37:14)
    at async tvl (/home/runner/work/DefiLlama-Adapters/DefiLlama-Adapters/projects/newrl-rwa/index.js:53:28)
    at async getTvl (/home/runner/work/DefiLlama-Adapters/DefiLlama-Adapters/test.js:50:23)
    at async /home/runner/work/DefiLlama-Adapters/DefiLlama-Adapters/test.js:141:9
    at async Promise.all (index 0)
    at async Promise.all (index 3)
    at async /home/runner/work/DefiLlama-Adapters/DefiLlama-Adapters/test.js:184:3

@llamatester
Copy link

The adapter at projects/newrl-rwa exports TVL:

polygon                   27.696072699

total                    27.696072699 

@Prannav-k
Copy link

Filled Form :
Name (to be shown on DefiLlama): Newrl RWA
Twitter Link: https://twitter.com/newrl_layer1
List of audit links if any:
Website Link: https://newrl.net/
Logo (High resolution, will be shown with rounded borders):
https://drive.google.com/drive/folders/1PZJwfR_1YMZGuSU3JDx4YqvvvYmltcJE?usp=sharing
Current TVL:
Treasury Addresses (if the protocol has treasury)
Chain: Polygon
Coingecko ID (so your TVL can appear on Coingecko, leave empty if not listed): (https://api.coingecko.com/api/v3/coins/list)
Coinmarketcap ID (so your TVL can appear on Coinmarketcap, leave empty if not listed): (https://api.coinmarketcap.com/data-api/v3/map/all?listing_status=active,inactive,untracked&start=1&limit=10000)
Short Description (to be shown on DefiLlama):
Newrl RWA enables reliable lending against real world assets such as agri commodities and invoices. The real world asset is tokenized first, with a two-step process of encrypted data storage on IPFS, followed by minting of ERC-20 token on Polygon. This step corresponds in the real-world to either initiation of storage of the corresponding commodity or signing of the invoice by a buyer (depending on which asset it is.)
Once tokenized, the owner gets a ERC-20 token of that commodity in their wallet on polygon. They can then borrow against this on-chain as well as off-chain. In off-chain variant, an intermediary platform enables the tokenization of fiat currency so that the lender can transfer it to the smart contract when lending. The smart contract transfers this stablecoin onwards to the borrower based on the collateral. The borrower can convert the stablecoin back to fiat currency using the on-ramp/off-ramp service provider.
The process is reversed while repaying. Upon repayment including the interest, the collateral token is released from the smart contract to the borrower. They can now take the commodity out of the storage and use it. Upon the exit of the commodity from the storage, the token corresponding to it is destroyed. In case of default, the token is transferred to the lender.
Token address and ticker if any:
Category (full list at https://defillama.com/categories) *Please choose only one: RWA Lending
Oracle Provider(s): Specify the oracle(s) used (e.g., Chainlink, Band, API3, TWAP, etc.):
Implementation Details: Briefly describe how the oracle is integrated into your project:
Documentation/Proof: Provide links to documentation or any other resources that verify the oracle's usage:
forkedFrom (Does your project originate from another project):
methodology (what is being counted as tvl, how is tvl being calculated):
TVL is the value of real world asset tokens locked in the contract as collateral for the real world loans issued. The value of the tokens are derived from USDC or INRC pools available on UniswapV3. The TVL calculation code does the below
Get the quantity of RWA tokens held by the contract
Call Uniswapv3 using graphql to get the LTP(last traded price) of the RWA token in USDC.
Calculate the RWA value using the conversion rate.
Github org/user (Optional, if your code is open source, we can track activity):

@kousthubraja kousthubraja marked this pull request as ready for review April 9, 2024 09:06
@g1nt0ki
Copy link
Member

g1nt0ki commented Apr 9, 2024

@kousthubraja thanks for the PR

I see a couple of issues, you are using uni pools for computing prices, but there is very little liquidity, quite easy to manipulate price.

Who is tokenizing the rwa?

@g1nt0ki g1nt0ki self-assigned this Apr 9, 2024
@kousthubraja
Copy link
Author

kousthubraja commented Apr 9, 2024

@kousthubraja thanks for the PR

I see a couple of issues, you are using uni pools for computing prices, but there is very little liquidity, quite easy to manipulate price.

Who is tokenizing the rwa?

Hi @g1nt0ki , Thanks for reviewing!

Tokenisation is done by ASQI. https://asqi.in/

I understand the prices can vary much due to low pool liquidity which we can address with more stakes. Right now, uni pool is only used for price discovery with actual RWA tokens not held by public but only wallets authorised by dapps. So price manipulation won't be a case with this. We can't calculate the value any other way as commodity tokens like rice, wheat, sugar(included in this phase) cannot be listed on Coingecko or likes. Hence have to use a DeX for the same.

@g1nt0ki
Copy link
Member

g1nt0ki commented Apr 11, 2024

hi @kousthubraja atm, we have two kinds of RWA, one is tokenization like bringing US treasury bonds and stocks on chain, other is lending against rwas. Feel like your projects falls under the latter, these cases, since we cant price/value rwa/off chain assets, we track amount of stablecoins/others tokens in the pool not yet lent out as tvl, and count the borrowed amount under 'borrowed' key, you can check: https://defillama.com/protocol/florence-finance#information

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants