GM Lending/Looping
This FAQ provides answers to common questions about the GM Lending Protocol.
Last updated
This FAQ provides answers to common questions about the GM Lending Protocol.
Last updated
What is Gloop's GM Lending Protocol?
The GM Lending Protocol is a decentralized, non-custodial, permissionless lending platform that allows users to lend USDC and borrow USDC against GM tokens deposited as collateral. Borrowers pay interest on their borrows which translates into earnings for USDC depositors.
What assets are allowed as collateral?
Currently, gmBTC, gmETH, and gmSOL are allowed as collateral assets. More tokens will be added in the future. USDC is not allowed as collateral. See the to find out more about GM tokens.
What happens with the yield-bearing GM tokens while inside the platform?
The GM tokens are deposited into ERC-4626 vaults, which use shares (ERC-20 tokens) to represent a claim to ownership on a fraction of the vault's underlying assets. The GM tokens continue to accrue their native yield as they would outside the platform.
What assets are allowed to be borrowed?
The protocol only supports USDC as a borrowable asset for now, but may support other assets in the future.
How do I interact with the GM Lending Pool?
To interact with the Pool, you must own a blockchain address that connects via a browser wallet (MetaMask, Rabby, etc.), mobile wallet (Trust, Family), WalletConnect, hardware wallet (Trezor, Ledger) or other types. Ensure the wallet is connected to the right blockchain network (for now, the Lending Pool is only on Arbitrum Mainnet).
Once connected, you can supply your preferred asset and amount, and you will be sent messages and transactions to be signed in your connected wallet. See the Product section for instructions on supplying USDC or GM assets.
Can funds be frozen?
Gloop has no capability of freezing or altering individual user positions within the Gloop ecosystem. As such, users have continuous access to their deposited funds.
While individual positions are untouchable, the Pool Admin can pause the GM Points, GM Incentives, and GM Vaults contracts. Pausing GM Points means that users will temporarily not be able to claim points. Pausing GM Incentives means that users will temporarily not be able to earn or claim rewards. If a single GM Vault contract is paused, all functions/interactions with that vault's asset are temporarily paused. If all GM Vault contracts are paused, all core interactions with the Lending Pool are temporarily paused.
Learn more about other risks .
How do I enable an asset as collateral?
If you are depositing a GM asset for the first time, it will automatically be enabled as collateral. If you have disabled an asset as collateral, you can always enable it again from your Portfolio.
How do I disable an asset as collateral?
You can disable an asset as collateral by clicking on the asset in your Portfolio and toggling the collateral slider to the "off" position. However, if disabling the asset would bring your Health Factor below 100% (1e18), then the disable transaction will fail.
Once I have deposited collateral, how much USDC can I borrow?
Each asset has a Lending Factor or a "Loan-to-Value" (LTV) percentage, which defines how much value can be borrowed against the specific collateral. As an example, if gmETH has an LTV of 80%, then with $1,000 of gmETH deposited, you can borrow up to a maximum of 800 USDC. The maxBorrowable
value for each collateral asset of a depositor is determined by multiplying the asset's balance by its price, then by its Lending Factor. The sum of these values is the total maximum value a user can borrow.
Can users withdraw collateral while borrowing?
Yes, users can withdraw collateral, but only if doing so doesn’t lower their Health Factor below 100% (1e18). The protocol checks this condition during withdrawal to ensure it won’t make the user’s loan undercollateralized.
How does the protocol calculate a user's health factor?
A user’s Health Factor is the ratio of the value of their collateral to their debt. Values are determined by retrieving asset prices from Oracles, with the collateral values adjusted by their respective Lending Factors. If the Health Factor drops below 100%, the user is eligible for liquidation.
What does the maxBorrowableValue()
function return?
maxBorrowableValue()
calculates the maximum value a user can borrow based on their enabled collateral assets and their respective Lending Factors.
Can I repay a portion of my borrow instead of the entire amount?
Yes, you can repay part or all of your outstanding debt at any time. This will reduce your borrow balance.
What happens if a user doesn't repay their loan?
There is no fixed time period to pay back a borrow position. As long as your position is properly collateralized, you can borrow for an undefined period. However, as time passes, the accrued interest will slowly decrease your Health Factor. This can result in your position becoming more likely to be liquidated.
What happens if my Health Factor falls below 100%?
If your Health Factor drops below 100% due to accrued borrow interest or dropping collateral value, you risk liquidation. This means that liquidators can/will repay part or all of your loan and seize a proportional amount of your collateral at a discount as a reward.
What happens when a user is liquidated?
A liquidator repays a portion of the user's debt in exchange for seizing the collateral at a discount (the liquidation bonus). As long as they can repay some amount of USDC, any user can liquidate an address with poor Health Factor from the Liquidate page.
If liquidated, repays part of your debt and seizes collateral proportional to the debt repaid. The seized collateral is transferred to the liquidator, and any remaining collateral stays in your account.
What is the liquidationBonus
?
The liquidationBonus
is an extra amount of collateral a liquidator can take when liquidating a user whose Health Factor has fallen below 100%. The bonus incentivizes liquidators to repay unhealthy users' debt and seize their collateral.
How are users incentivized to use Gloop's Lending and Borrowing product?
To put otherwise idle/non-working GM tokens to use, any GM token holder can be incentivized to post them as collateral into the protocol, so that they may borrow USDC to put into other DeFI products, with the chance of earning more yield on their principal amount. This borrowing is paid for via interest accrual, which is paid by borrowers to lenders, which incentivizes them to lend their USDC.
How are GM Points earned?
Coming Soon!
How is interest accrued in the protocol?
Interest is accrued over time through the accrueInterest()
function. This function calculates the interest accumulated since the last accrual and updates internal variables to reflect new total borrows and interest distribution.
What happens when interest is accrued?
When interest is accrued, it is now considered outstanding debt and is owed by borrowers. Repayments of debt are distributed among depositors, stakers, and reserves.
How is the interest rate determined for borrowers and lenders?
Interest rates are set by an Interest Rate Model (IRM) specific to each asset, adjusting dynamically based on the asset’s utilization. Higher demand for borrowing will lead to higher interest rates to balance supply and demand.
What is the role of the Interest Rate Model (IRM), and can it change? The IRM sets the interest rate based on factors like liquidity and borrow demand for an asset. Administrators can update the IRM if needed, but it’s usually fixed to a specific model for stability.
How often does the Lending Pool update the interest rates? Interest rates are updated on each borrow or repay transaction and are recalculated based on the utilization rate at that time. The rates dynamically adjust according to supply and demand.
How does the protocol handle interest rates?
The protocol uses an Interest Rate Model (IRM) to calculate dynamic interest rates based on supply and demand. The rate is determined by the utilization rate of the available liquidity in the pool.
What are the protocol fees?
What are totalReserves
?
ThetotalReserves
refers to the interest portion set aside for the protocol’s reserves.
How do I know the total value of my assets and liabilities in the protocol?
The front end should show this in your portfolio view, but if it is down or showing stale numbers for any reason, you can view your total deposited asset tokens by calling balanceOf()
, using the address of the asset and wallet/user you want to query as the arguments. This call will return the current value of your deposit for that asset. Likewise, you can call borrowBalance()
, using the address of the asset and user you want to query as the arguments, which will then return your outstanding debt.
How does the protocol prevent flash loan attacks?
The protocol uses a whenNotSameBlock
modifier to prevent users from making multiple calls within the same block, mitigating the risk of flash loan attacks within the GM Lending Platform boundaries.
Has the platform been audited?
What are the risks associated with using this Lending Pool?
What are the emergency safety features of the platform?
In the event of an emergency or unforeseen circumstance, each individual ERC4626 vault can be paused or the Interest Rate Model can be temporarily detached, which effectively renders the entire platform paused. Pausing is done via approved transactions by Gloop's Multisig.
Protocol fees are taken out of the accrued borrow interest. These fees are set by the Gloop Multisig. The fees can be found . These fees are on top of the gas required to send transactions on the blockchain. However, Arbitrum transactions have now become very inexpensive.
Yes, you can view Halborn's and Kiki's audits .
Key risks include liquidation if your Health Factor falls below 1, fluctuating interest rates, and the potential for smart contract vulnerabilities. Additionally, collateral value can fluctuate based on market conditions. See the section for more.
For additional support or questions, visit our .