Earning System
Point system for lending platform activity.
Overview
GM Points represent the user's positive-sum participation in the GM Lending platform. The main activities that earn points are below. See the Calculations section below for specific examples. Any other questions not answered here might be in the FAQs.
Base Points
To begin earning Points, you must lend at least 100 USDC to the protocol. Once you meet this requirement, you will immediately accrue Base Points for lending or borrowing USDC, without staking.
Lending:
Earn 2 Points for every dollar coin of USDC you lend per 1,000 seconds.
Borrowing:
Earn 1 Point for every dollar coin of USDC you borrow per 1,000 seconds.
Points are accrued over the program’s total duration.
Staking Boosts
For GLOOP stakers, Point calculations are boosted.
Boosts count only while your stake is locked.
Once your lock ends, you continue to earn Base Points only.
If you unstake before lock expiry, boosts stop immediately.
The longer you lock, the higher your boost:
0 days
10%
1.1×
14 days
25%
1.25×
28 days
50%
1.5×
56 days
100%
2.0×
Applying Boosts ("lesser of" rule)
For each 1 GLOOP staked, the boost % applies to $1 of the user’s lent funds and $1 of user's borrowed funds, up to their total funds of each. Put in other words:
For lending: boost applies only up to the lesser of staked GLOOP vs lent USDC.
For borrowing: boost applies only up to the lesser of staked GLOOP vs borrowed USDC.
Example: Stake 2,000 GLOOP tokens, lend $3,000 USDC, and borrow $1,000 USDC → Boost applies to only $2,000 of the lent USDC, but applies over the full $1,000 borrowed USDC
Point Parameters and Formulas
Base Lending Points = 2 points/dollar/second * USDC lent balance * (total seconds / 1,000)
Base Borrowing Points = 1 point/dollar/second * USDC borrowed balance * (total seconds / 1,000)
Boosted Lending Points = 2 points/dollar/second * min(S, L) * (multiplier - 1) * (t_locked / 1000)
Boosted Borrowing Points = 1 point/dollar/second * min(S, B) * (multiplier - 1) * (t_locked / 1000)
Users' Total Earned Points = Base Lending Points + Boosted Lending Points + Base Borrowing Points + Boosted Borrowing Points
Notes:
t_locked = seconds staked within staking period. Cannot be more than staking lock duration.
min(S, L) = the lesser of the staking $ and lent $ amounts.
min(S, B) = the lesser of the staking $ and borrowed $ amounts.
Elapsed time is calculated via
lastUpdateTime, which is the last time the user transacted with the Lending Pool. This number gets updated to the timestamp of the block that the most recent transaction was executed in. So if a user borrows 10 days after their one and only deposit, then they will accrue points on that deposit for those 10 days, but not the immediate borrow, and thelastUpdateTimewill be updated to the time of the borrow.Once
block.timestamp > lockPeriodend time, then points are not boosted, and the user only earns base points + default stake boost (10%). Once fully unstaked, user only earns points with no multiplier for lent/borrowed USDC.
End of Program and Claiming Points
After the Points Program ends, users do not need to claim points or do do anything to store their accumulated points. Information on airdrops will be released around that time.
You may withdraw funds at any time, however, to maximize point earning, keep at least the minimum amount of 100 USDC deposited until the program ends.
Quick Reference Table
This table shows a quick look at how points are boosted at each different level. The last column is the Total Points you would receive every 1,000 seconds.
Staked GLOOP
Lock Period
Lent USDC
Borrowed USDC
Boost Multiplier
Time Active
Time Locked
Base Lending
Boosted Lending
Base Borrowing
Boosted Borrowing
Total Points (per 1,000 seconds)
0
—
$1,500
$500
None
Full Program
—
3,000
0
500
0
3,500
500
0 days
$1,000
$0
1.1× (10%)
Full Program
0 days
2,000
+50
0
0
2,050
1,000
14 days
$1,000
$1,000
1.25× (25%)
Full Program
14 days
2,000
+250
1,000
+250
3,500
2,000
28 days
$3,000
$1,000
1.5× (50%)
Full Program
28 days
6,000
+1,000
1,000
+500
8,500
5,000
56 days
$2,000
$5,000
2.0× (100%)
Full Program
56 days
4,000
+2,000
5,000
+5,000
16,000
Point Calculation Examples
Assumptions: For all examples, the GM Points Program is 56 days, lending earns 2 points per dollar per second, and borrowing earns 1 point per dollar per second. The users have also deposited GM tokens enabled as collateral, so that they can borrow. The amount of GM tokens deposited doesn't matter for GM Point calculation purposes.
Example Calculation #1: Lending, Borrowing, and Staking
User actions:
Lend $3,000 USDC and borrow $1,000 USDC during the program.
Wait 28 days and then stake 2000 GLOOP with a 28-day lock (50% boost).
The program runs for the remaining 28 days
Breakdown:
28 days of seconds = 28 * 24 * 60 * 60 = 2,419,200 seconds
56 days of seconds = 56 * 24 * 60 * 60 = 4,838,400 seconds
Base Lending (56 days) = 2 * 3,000 * (4,838,400 / 1,000 seconds) = 29,030,400 Points
Boosted Lending (28 days) = 2 * 2,000 * 0.5 * (2,419,200 / 1,000 seconds) = 4,838,400 Points
Base Borrowing (56 days) = 1* 1,000 (4,838,400 / 1,000 seconds) = 4,838,400 Points
Boosted Borrowing (28 days) = 1 * 1,000 * 0.5 * (2,419,200 / 1,000 seconds) = 1,209,600 Points
Total = 29,030,400 + 4,838,400 + 2,419,200 + 1,209,600 = 37,497,600 Points
Example Calculation #2: Lending, Borrowing, Staking, Withdrawing
User actions:
Lend $3,000 USDC and borrow $1,000 USDC during the program.
Stakes 2,000 GLOOP with a 56-day lock (100% boost).
After 28 days, user withdraws 2000 of the 3000 USDC lent.
Breakdown:
28 days of seconds = 28 * 24 * 60 * 60 = 2,419,200 seconds
For the first 28 days:
Base Lending = 2 * 3,000 * (2,419,200 / 1,000 seconds) = 14,515,200 Points
Boosted Lending = 2 * 2,000 * 1 * (2,419,200 / 1,000 seconds) = 9,676,800 Points
Base Borrowing = 1 * 1,000 * (2,419,200 / 1,000 seconds) = 2,419,200 Points
Boosted Borrowing = 1 * 1,000 * 1 * (2,419,200 / 1,000 seconds) = 2,419,200 Points
Subtotal_first28 = 14,515,200 + 9,676,800 + 2,419,200 + 2,419,200 = 29,030,400
After 28 days, user withdraws 2000 lent USDC:
Base Lending = 2 * 1,000 * (2,419,200 / 1,000 seconds) = 4,838,400 Points
Boosted Lending = 2 * 1,000 * 1 * (2,419,200 / 1,000 seconds) = 4,838,400 Points
Base Borrowing = 1 * 1,000 * (2,419,200 / 1,000 seconds) = 2,419,200 Points
Boosted Borrowing = 1 * 1,000 * 1 * (2,419,200 / 1,000 seconds) = 2,419,200 Points
Subtotal_second28 = 4,838,400 + 4,838,400 + 2,419,200 + 2,419,200 = 14,515,200
Total Points = 29,030,400 + 14,515,200 = 43,545,000 Points
Last updated