What DeFi actually paid.
A year of weekly stablecoin yield, borrow costs and RWA returns across Aave and Morpho on Ethereum, Arbitrum and Base — read straight from chain state.
What lending USDC actually paid.
Weekly supply APY across Aave v3 and Morpho Blue.
USDC supply APY
USDC utilization
Borrowed ÷ suppliedUSDC available liquidity
Supplied minus borrowed| Venue | Chain | Current | Δ 1w | Mean | Min | Max | σ | Util now | Peak util | Supplied |
|---|---|---|---|---|---|---|---|---|---|---|
| Aave v3 | Arbitrum | 2.60% | −0.05 | 2.98% | 1.44% | 5.91% | ±1.02 | 80.1% | 92.9% | $168.6M |
| Aave v3 | Base | 3.44% | −0.07 | 3.83% | 2.51% | 6.12% | ±1.00 | 86.7% | 88.4% | $177.9M |
| Aave v3 | Ethereum | 3.30% | +0.10 | 3.64% | 1.65% | 13.43% | ±1.61 | 91.1% | 100.0% | $2.1B |
| Morpho Blue | Arbitrum | 3.18% | +0.60 | 3.11% | 0.04% | 6.49% | ±1.05 | 89.6% | 98.7% | $2.3M |
| Morpho Blue | Base | 4.32% | −0.04 | 5.13% | 3.33% | 6.90% | ±1.21 | 89.0% | 91.1% | $1.5B |
| Morpho Blue | Ethereum | 3.44% | −0.76 | 3.65% | 1.92% | 6.13% | ±0.81 | 86.7% | 91.4% | $308.1M |
The cost of borrowing against BTC and ETH.
Weekly borrow APY for USDC, with the terms behind each market.
USDC borrow APY against crypto collateral
| Market | Chain | Venue | Borrow APY | Mean | Peak | σ | Util now | Max LTV | Liq. threshold | Liq. penalty | Liquidity |
|---|---|---|---|---|---|---|---|---|---|---|---|
| tBTC/USDC | Ethereum | Aave v3pooled | 4.04% | 4.85% | 15.03% | ±1.72 | 91.1% | 73.0% | 78.0% | 7.5% | $190.6M |
| WBTC/USDC | Ethereum | Aave v3pooled | 4.04% | 4.85% | 15.03% | ±1.72 | 91.1% | 73.0% | 78.0% | 5.0% | $190.6M |
| wstETH/USDC | Ethereum | Aave v3pooled | 4.04% | 4.85% | 15.03% | ±1.72 | 91.1% | 78.5% | 81.0% | 6.0% | $190.6M |
| rETH/USDC | Ethereum | Aave v3pooled | 4.04% | 4.85% | 15.03% | ±1.72 | 91.1% | 75.0% | 79.0% | 7.5% | $190.6M |
| cbETH/USDC | Ethereum | Aave v3pooled | 4.04% | 4.85% | 15.03% | ±1.72 | 91.1% | 75.0% | 79.0% | 7.5% | $190.6M |
| WETH/USDC | Ethereum | Aave v3pooled | 4.04% | 4.85% | 15.03% | ±1.72 | 91.1% | 80.5% | 83.0% | 5.0% | $190.6M |
| cbBTC/USDC | Ethereum | Aave v3pooled | 4.04% | 4.85% | 15.03% | ±1.72 | 91.1% | 73.0% | 78.0% | 7.5% | $190.6M |
| weETH/USDC | Ethereum | Aave v3pooled | 4.04% | 4.85% | 15.03% | ±1.72 | 91.1% | 77.5% | 80.0% | 7.0% | $190.6M |
| cbBTC/USDC | Base | Morpho Blue | 4.86% | 5.77% | 7.63% | ±1.31 | 89.0% | 86.0% | 86.0% | — | $161.5M |
| cbBTC/USDC | Ethereum | Morpho Blue | 3.97% | 4.17% | 6.74% | ±0.82 | 86.7% | 86.0% | 86.0% | — | $41.0M |
| WBTC/USDC | Arbitrum | Aave v3pooled | 3.62% | 4.37% | 7.12% | ±1.12 | 80.1% | 73.0% | 78.0% | 7.0% | $33.6M |
| weETH/USDC | Arbitrum | Aave v3pooled | 3.62% | 4.37% | 7.12% | ±1.12 | 80.1% | 75.0% | 77.0% | 7.5% | $33.6M |
| wstETH/USDC | Arbitrum | Aave v3pooled | 3.62% | 4.37% | 7.12% | ±1.12 | 80.1% | 75.0% | 79.0% | 7.2% | $33.6M |
| WETH/USDC | Arbitrum | Aave v3pooled | 3.62% | 4.37% | 7.12% | ±1.12 | 80.1% | 80.0% | 84.0% | 5.0% | $33.6M |
| rETH/USDC | Arbitrum | Aave v3pooled | 3.62% | 4.37% | 7.12% | ±1.12 | 80.1% | 69.0% | 74.0% | 7.5% | $33.6M |
| weETH/USDC | Base | Aave v3pooled | 4.43% | 5.46% | 8.01% | ±1.39 | 86.7% | 75.0% | 77.0% | 7.5% | $23.7M |
| cbETH/USDC | Base | Aave v3pooled | 4.43% | 5.46% | 8.01% | ±1.39 | 86.7% | 75.0% | 79.0% | 7.5% | $23.7M |
| WETH/USDC | Base | Aave v3pooled | 4.43% | 5.46% | 8.01% | ±1.39 | 86.7% | 80.0% | 83.0% | 5.0% | $23.7M |
| wstETH/USDC | Base | Aave v3pooled | 4.43% | 5.46% | 8.01% | ±1.39 | 86.7% | 75.0% | 79.0% | 6.0% | $23.7M |
| cbBTC/USDC | Base | Aave v3pooled | 4.43% | 5.46% | 8.01% | ±1.39 | 86.7% | 73.0% | 78.0% | 7.5% | $23.7M |
| WBTC/USDC | Ethereum | Morpho Blue | 3.96% | 4.15% | 6.36% | ±0.79 | 86.8% | 86.0% | 86.0% | — | $16.3M |
| WETH/USDC | Base | Morpho Blue | 4.86% | 5.62% | 7.67% | ±1.23 | 89.0% | 86.0% | 86.0% | — | $8.9M |
| cbETH/USDC | Base | Morpho Blue | 4.86% | 5.47% | 8.62% | ±1.39 | 89.0% | 86.0% | 86.0% | — | $557K |
| weETH/USDC | Arbitrum | Morpho Blue | 4.02% | 4.89% | 10.81% | ±2.52 | 84.1% | 86.0% | 86.0% | — | $267K |
| wstETH/USDC | Arbitrum | Morpho Blue | 3.55% | 3.53% | 6.71% | ±1.05 | 89.6% | 86.0% | 86.0% | — | $237K |
| WBTC/USDC | Arbitrum | Morpho Blue | 3.81% | 4.04% | 7.22% | ±1.29 | 88.6% | 86.0% | 86.0% | — | $222K |
| WBTC/USDC.e | Arbitrum | Aave v3pooled | 10.25% | 8.05% | 10.27% | ±1.22 | 88.0% | 73.0% | 78.0% | 7.0% | $129K |
| weETH/USDC.e | Arbitrum | Aave v3pooled | 10.25% | 8.05% | 10.27% | ±1.22 | 88.0% | 75.0% | 77.0% | 7.5% | $129K |
| wstETH/USDC.e | Arbitrum | Aave v3pooled | 10.25% | 8.05% | 10.27% | ±1.22 | 88.0% | 75.0% | 79.0% | 7.2% | $129K |
| WETH/USDC.e | Arbitrum | Aave v3pooled | 10.25% | 8.05% | 10.27% | ±1.22 | 88.0% | 80.0% | 84.0% | 5.0% | $129K |
| rETH/USDC.e | Arbitrum | Aave v3pooled | 10.25% | 8.05% | 10.27% | ±1.22 | 88.0% | 69.0% | 74.0% | 7.5% | $129K |
Pick a market. Turn it up. Watch the buffer close.
A 4% yield is not a trade; a 4% yield levered against a 3.4% borrow is. Post collateral, borrow against it, swap back, repeat. These are 288 live markets with the terms that decide how far the loop can go — the same market set the Compass looping tool offers, read live rather than from the weekly history above.
- PT-USD3-17DEC2026 yieldfixed to maturity · 2026-12-1714.25%
- PT-USD3-17DEC2026 supplynot lent on Morpho Blue0.00%
- USDC borrow6.77%
- Position LTV
- 66.7%
- Health factor
- 1.29
- Survives a drop of
- 22.5% in PT-USD3-17DEC2026
- Breaks even at
- 21.37% borrow
| Market | Chain | Venue | Max lev. | Survives drop | ||||||
|---|---|---|---|---|---|---|---|---|---|---|
| PT-USD3-17DEC2026/USDCPT 87d | Ethereum | Morpho Blue | 14.25%fixed to maturity | 0.00% | 6.77% | 84.0% | 5.5× | +29.2% | 22.5% | $2.0M |
| WHYPE/USDC | HyperEVM | Hyperlendpooled | 0.00% | 14.97% | 6.00% | 65.0% | 2.6× | +29.1% @2.6× | 25.0% | $33.3M |
| PT-apyUSD-5NOV2026/USDCPT 45d | Ethereum | Morpho Blue | 14.37%fixed to maturity | 0.00% | 7.62% | 84.0% | 5.5× | +27.9% | 22.5% | $951K |
| apyUSD/USDC | Ethereum | Morpho Blue | 12.65%staking | 0.00% | 5.78% | 84.0% | 5.5× | +26.4% | 22.5% | $4.0M |
| apyUSD/apxUSD | Ethereum | Morpho Blue | 12.65%staking | 0.00% | 7.65% | 84.0% | 5.5× | +22.6% | 22.5% | $749K |
| PT-apxUSD-5NOV2026/apxUSDPT 45d | Ethereum | Morpho Blue | 10.21%fixed to maturity | 0.00% | 4.47% | 92.0% | 8.4× | +21.7% | 29.5% | $49K |
| PT-apyUSD-5NOV2026/apxUSDPT 45d | Ethereum | Morpho Blue | 14.37%fixed to maturity | 0.00% | 10.87% | 89.0% | 7.1× | +21.4% | 27.1% | $690K |
| PT-apxUSD-5NOV2026/USDCPT 45d | Ethereum | Morpho Blue | 10.21%fixed to maturity | 0.00% | 4.95% | 84.0% | 5.5× | +20.7% | 22.5% | $207K |
76 of 288 have no yield measurement for their collateral. Their net APY is marked ≥ and counts that leg as zero, so it is a floor on the real carry, not an estimate of it.
Methodology — how the levered figures are computed
With M the multiplier, y what the collateral earns by itself, s the venue’s supply rate on that collateral, b the cost of borrowing the loan token and lt the liquidation threshold, one unit of equity holds M units of collateral funded by M−1 of debt. So net APY = M·(y + s) − (M−1)·b, position LTV = (M−1)/M, health factor = M·lt/(M−1), and the collateral price drop the position survives is 1 − (M−1)/(M·lt). That last one assumes the debt holds its peg, which is why it reads as a depeg buffer when the collateral is itself a stablecoin.
The per-loop LTV and the multiplier are two different controls, not one twice. The LTV sizes each borrow leg and is capped by the market (Aave’s max borrowable LTV; on Morpho the LLTV shaded by the backend’s 0.98 safety factor). It sets the ceiling on the multiplier through the loop engine’s own arithmetic: a 0.9/(1−ltv) hard gate and a finite geometric sum over 15 supply iterations, at an assumed 0.5% slippage per swap. That ceiling is structural only — each leg really chains off a live swap’s guaranteed floor, so the reachable maximum is lower than this and moves minute to minute.
Each COLLATERAL/LOAN pair lists three rates, in earning order. Collateral yield is what the collateral earns inside its own price, from one of three sources: a staking rate (a liquid-staking token appreciating against its underlying), a vault rate (an ERC-4626 share, joined on the share token’s address, which is its vault’s address), or a Pendle PT’s implied APY, fixed to maturity while the borrow leg floats; a plain asset like USDC is an honest 0.00%. Supply APY is what the venue pays on the collateral the loop deposits — spot and exact on Aave, where a supply becomes an interest-accruing aToken, and a structural 0.00% on Morpho, which posts collateral without lending it. Borrow APY is the cost of borrowing the loan token. Every intrinsic figure is a trailing-7-day measurement netted against spot pool rates.
The collateral-yield column is three-valued. A rate means it was measured. 0.00% means the token genuinely earns nothing by itself. A dash means no measurement — most often a liquid-staking token, where a rate exists but is not tracked yet. In that case the net APY counts the missing leg as zero and is marked ≥: a floor on the real carry, not an estimate of it. The debt side gets the stricter treatment: debt owed in an appreciating token costs that appreciation on top of pool interest, and an unmeasured one withholds the carry rather than understating the cost.
Market terms, rates and liquidity are read live from the Compass API at request time, cached five minutes — unlike the charts above, which are weekly history. Four reads per chain: Aave reserves, Morpho markets, Pendle markets (for PT collateral) and the vault list (for ERC-4626 collateral). On Ethereum, Arbitrum and Base that means Aave v3 reserves and Morpho Blue markets; on HyperEVM the same two endpoints serve Hyperlend (an Aave v3 fork) and Felix (a Morpho deployment at a non-canonical singleton), which is why those rows are named differently. HyperEVM has no weekly history, so its rows carry no worst-week borrow figure. Markets under $25k of borrowable liquidity are dropped, since a single loop leg would move their rate. Rows marked pooled come from a venue that lends one reserve per asset, so the borrow rate is the same whatever backs the loan, and the row pairs it with the collateral’s own LTV and liquidation threshold.
The two earning columns sum to exactly the collateral leg the API computes for an open position (pool rate plus intrinsic yield), so a loop opened through the API reports the same carry that this page projects — /v2/credit/looped_positions merely shows the two as one number where this table splits them.
Two things are missing and both flatter the position. Costs: nothing here accounts for swap slippage, gas, or the fact that opening the loop pushes the borrow rate up on the way in. E-mode: Aave-style venues grant a much higher LTV to correlated pairs, and the markets endpoint reports only the base parameters — Hyperlend’s wstHYPE against WHYPE, for instance, is listed here at its base LTV when an e-mode loop would be allowed materially more. So the multiplier ceiling on those pairs is understated, and the liquidation buffer at a given multiplier is a little pessimistic. Neither is guessed at rather than shown.
Tokenized yield, measured as NAV drift.
Realized return for tokenized T-bills and basis trades.
NAV growth, indexed — first observed week = 100
| Token | Chain | Realized APY | Denominated in | NAV (USD) | TVL | Weeks |
|---|---|---|---|---|---|---|
| mBASIS | Base | 7.00% | USD | $1.2028 | $165K | 52 |
| mBASIS | Ethereum | 7.00% | USD | $1.2028 | $131K | 52 |
| mTBILL | Base | 3.42% | USD | $1.0678 | $189K | 52 |
| mTBILL | Ethereum | 3.42% | USD | $1.0678 | $53.2M | 52 |
| mBTC | Ethereum | 0.34% | BTC | $64,614.4722 | $9K | 52 |
Every rate on this page is
one HTTP call away.
Compass exposes live vault, market and position data across Aave, Morpho and Pendle — and returns unsigned transactions when you’re ready to act on it.