what a dollar earns onchain this week: 3.6% on aave, 4.4% on compound, and why usds on aave earns 0.15%
lendrates asks the lending contracts themselves, at one block, what a deposit earns and what a loan costs: aave v3, spark and compound v3 on mainnet, plus the sky savings rate. block 25,982,545, 11:24 utc, read from the contracts with no dashboard in between.
| asset · market | supply | borrow | used | supplied | borrowed |
|---|---|---|---|---|---|
| usdc · compound v3 | 4.40% | 5.34% | 90% | $376m | $340m |
| usdc · aave v3 | 3.63% | 4.40% | 92% | $2.39bn | $2.20bn |
| usdc · spark | 3.61% | 4.36% | 92% | $26.8m | $24.7m |
| usdt · spark | 3.45% | 4.04% | 95% | $320m | $304m |
| usdt · aave v3 | 3.30% | 4.19% | 88% | $3.16bn | $2.78bn |
| usdt · compound v3 | 3.13% | 3.95% | 86% | $183m | $157m |
| dai · aave v3 | 3.12% | 4.83% | 87% | $132m | $115m |
| dai · spark | 2.49% | 4.13% | 68% | $308m | $208m |
| usds · compound v3 | 4.38% | 5.31% | 90% | $1.8m | $1.6m |
| usds · spark | 2.35% | 4.00% | 66% | $1.12bn | $735m |
| usds · aave v3 | 0.15% | 5.69% | 4% | $9.1m | $0.3m |
| usde · aave v3 | 0.69% | 6.55% | 14% | $657m | $94.6m |
| pyusd · aave v3 | 3.98% | 5.04% | 88% | $7.5m | $6.6m |
| pyusd · spark | 0.86% | 4.12% | 24% | $181m | $42.8m |
| weth · aave v3 | 1.47% | 2.08% | 84% | $5.25bn | $4.40bn |
| weth · spark | 1.42% | 1.89% | 79% | $1.40bn | $1.11bn |
| weth · compound v3 | 1.28% | 1.87% | 64% | $127m | $81.1m |
utilization sets the rate
each market on the list prices a loan off the share of the pool that borrowers have taken, and pays lenders that rate times the share that is working, minus the protocol's cut. usdc on compound v3 pays 4.40% at 90% utilization; on aave v3 it pays 3.63% at 92%, from a pool 6 times larger. usds on aave pays 0.15% because borrowers have taken 3.7% of it: $9.1m supplied, $0.3m out. the same dollar in three markets earns rates a factor of 29 apart.
usde on aave is the other kind of pool: $657m supplied, 14% borrowed, 0.69% for the lenders and 6.55% for the few borrowers. people put usde there as collateral to borrow something else against it; the deposit and its rate are both side effects.
weth earns 1.28% to 1.47% and costs 1.87% to 2.08% to borrow: the narrowest spread on the list, on the largest pool, $5.25bn of ether on aave alone. spark holds $1.12bn of usds at 66% utilization and pays 2.35%. for comparison, sky pays 3.60% on its savings rate and 1.25% on the dai savings rate.
how to read it
a supply apy is what the pool pays at this block, and it moves with every borrow and every repayment. the daily dataset adds one row per asset and market every night at 00:33 utc, so you can follow a rate over weeks. the numbers are the contracts' own, read through a public node; the script holds the conversion from each protocol's own rate to a yearly percentage.
rerun it
lendrates --json
python 3.10+, standard library, public rpcs. thirty seconds.
none of it is advice; a rate that reads well today is today's rate. if a number differs from what the protocol's own page shows at the same block, i want to hear about it.