The Bitcoin Credit Stack
all rates APR, act/365 · as of 2026-10-06
Market › Algorithmic › Aave v4 › Ethereum

Aave v4 (Ethereum)

aave_v4_ethereum · onchain_pooled · operated by Aave DAO · registered

One of 2 deployments of Aave v4 · also on Avalanche

BTC collateral
not read yet
Dollar debt against bitcoin
not read yet
Aggregate LTV
not read yet
Borrow rate (USD loans)
not read yet
Lend rate (USD loans)
not read yet
Liquidates at
not read yet

Debt and rates count loans made in US dollars and dollar stablecoins. Loans in euros, francs, yen, ether or bitcoin itself are separate books, shown by currency on each venue, never added in.

Powered by CoinGecko

BTC collateral of Algorithmic
Dollar debt against bitcoin of the market — Algorithmic 13%, 14% of its bitcoin collateral

Loan duration is not a venue figure on an on-chain pool: these markets are open-term, and a position runs until it is repaid or liquidated. A fixed term exists only where the venue writes one — the custodial desks (cefi_credit_rates.term_days) and Gavel's auction, which is fixed-rate and fixed-term by construction.

10 of 10 criteria researched. What the criteria are →

Markets — as served, not a venue rate

One row per market, as the venue publishes them. These are market rates: combining them into a single venue rate is a weighting across this venue's markets, and choosing one here would be a methodology decision taken in a web page.

No BTC market rows are served for this venue. It runs contracts, so the absence is this dataset’s, not the venue’s.

Price

What does credit cost here, and how is the price formed?

Rate formationalgorithmic_utilisation
source
Aave v4 on Ethereum (chain 1) — each hub asset names an AssetInterestRateStrategy (Hub.getAsset().irStrategy; 0xAD88791B0F81D1FA242f637eB05bee0cbc53fe2f, 0x31280650661b8443723fa9739b3A164E3696af48, 0xDCd924047a4bDBFef9CCDDe845E5D45373Ad276D, 0xD7eC225DC053151100A0ef47b94a77AAD9C413b7); per github.com/aave/aave-v4 main@40232a0 (2026-09-15) src/hub/AssetInterestRateStrategy.sol calculateInterestRate() = baseDrawnRate + rateGrowthBeforeOptimal x usage/optimal, plus rateGrowthAfterOptimal above the optimal usage ratio, usage = drawn / (liquidity + drawn + swept). Read 2026-10-06 via getInterestRateData(assetId): Core WETH optimal 92%, base 0, slope 2.2% / 14%; Core WBTC and cbBTC optimal 80%, base 0.25%, slope 4% / 60%; Core USDC optimal 92%, base 0, 5% / 20%; collateral-only assets (wstETH, weETH, rsETH, LBTC, Prime WBTC/cbBTC/WETH/wstETH) carry a flat 0 curve and are not borrowable on any spoke. The curve's parameters are administered (Hub.setInterestRateData, restricted to HUB_CONFIGURATOR_ROLE); the rate itself is set by utilisation.
Term structureopen_ended
source
Aave v4 on Ethereum (chain 1) — no position has an expiry (published source github.com/aave/aave-v4 main@40232a0 (2026-09-15): Spoke.getUserPosition returns shares and a dynamic-config key, no maturity); a borrow persists until repaid or liquidated. (Pendle PT reserves on Ethereum spokes mature, but the loan against them does not.)
Rate certaintyvariable
source
Aave v4 on Ethereum (chain 1) — debt accrues at the hub asset's drawn rate, re-set at every hub action from utilisation (Hub.getAssetDrawnRate / getAsset().drawnRate, ray), plus a per-user RISK PREMIUM charged as extra 'premium shares' and computed from the collateral's collateralRisk (Spoke._calculateUserAccountData). Read 2026-10-06 at block 26133621: drawn rate WETH (Core) 2.686%, WBTC (Core) 0.330%, cbBTC (Core) 0.331%, USDC (Core) 4.941%, USDT (Core) 4.952%, USDC (Prime) 4.992%, USDe (Plus) 6.300%; Prime-hub WETH/WBTC/cbBTC/wstETH and Core-hub wstETH/weETH/rsETH/LBTC are supplied but not lent (owed 0). ⚠ collateralRisk is 0 bps on every reserve read, so the premium is currently zero; governance can raise it.

Quality

What stands behind a position, and what can change under the reader?

Oracle dependencysingle
source
Aave v4 on Ethereum (chain 1) — each lending spoke has its own AaveOracle (Spoke.ORACLE(); e.g. MAIN 0x99B2B6CEa9C3D2fd8F4d90f86741C44B212a6127), and per github.com/aave/aave-v4 main@40232a0 (2026-09-15) src/spoke/AaveOracle.sol it holds exactly ONE price source per reserve (getReserveSource(reserveId)) and returns source.latestAnswer(), reverting only on a price <= 0. Read 2026-10-06 at block 26133621: WBTC → 0xDaa4B74C6bAc4e25188e64ebc68DB5050b690cAc "wBTC/BTC/USD" = ASSET_TO_PEG 0xfdFD9C85aD200c506Cf9e21F1FD8dd01932FBB23 ("WBTC / BTC") x PEG_TO_BASE 0xb41E773f507F7a7EA890b1afB7d2b660c30C8B0A ("BTC / USD"); cbBTC → the BTC / USD feed 0xb41E…8B0A itself (aggregator 0xdc715c751f1cc129A6b47fEDC87D9918a4580502; last update 1,284 s before the read block); LBTC → 0xf8c04B50499872A5B5137219DEc0F791f7f620D0 "Capped LBTC / BTC / USD" (RATIO_PROVIDER 0x1De9fcfeDF3E51266c188ee422fbA1c7860DA0eF x BTC / USD); WETH → 0x5424384B256154046E9667dDFaaa5e550145215e "ETH / USD"; wstETH → 0xe1D97bF61901B075E9626c8A2340a7De385861Ef (stETH contract's exchange ratio x ETH / USD); weETH → 0x87625393534d5C102cADB66D37201dF24cc26d4C (weETH contract's ratio x ETH / USD); rsETH → 0x7292C95A5f6A501a9c4B34f6393e221F2A0139c3 "Capped rsETH / ETH / USD". The same source contract serves a given asset on every spoke. ⚠ cbBTC is priced as BITCOIN (a cbBTC depeg would not show); wstETH/weETH/rsETH/LBTC are priced from their issuers' exchange-rate contracts, capped, not from a market price. ⚠ No fallback source and NO staleness check in AaveOracle (latestAnswer, not latestRoundData). ⚠ Price sources are set by the spoke's governance (updateReservePriceSource, restricted) and are not timelocked on chain (see custody_model).
Default & liquidationthreshold
source
Aave v4 on Ethereum (chain 1) — per github.com/aave/aave-v4 main@40232a0 (2026-09-15) (Spoke.liquidationCall, LiquidationLogic._validateLiquidationCall) any address other than the borrower may liquidate a position whose health factor (sum of collateral value x collateralFactor / debt, computed per spoke) is below 1.0; borrowing is allowed only while the health factor stays >= 1.0, so the collateral factor is both the borrow limit and the liquidation threshold. Liquidation repays debt only as far as the spoke's targetHealthFactor and pays a bonus that scales from 0 at HF 1.0 up to maxLiquidationBonus at healthFactorForMaxBonus; liquidationFee is the protocol's share of the bonus. Read 2026-10-06 at block 26133621 (Spoke.getLiquidationConfig(), getDynamicReserveConfig()): targetHealthFactor / healthFactorForMaxBonus — MAIN 1.24 / 0.90, BLUECHIP 1.174 / 0.90, LOMBARD_BTC 1.0615 / 0.99, ETHERFI 1.0191 / 0.99, LIDO 1.0137 / 0.99, KELP 1.0218 / 0.99. Collateral factor / max bonus — WBTC and cbBTC 78% / 105.55% at MAIN and 84.5% / 104.44% at BLUECHIP; LBTC 86% / 103% at LOMBARD_BTC; WETH 83% / 105.55% (MAIN), 86% / 104.44% (BLUECHIP); wstETH 80% (MAIN), 85.5% (BLUECHIP), 95.5% (LIDO); weETH 80% (MAIN), 95.5% (ETHERFI). liquidationFee 10% of the bonus on every collateral reserve. ⚠ A position keeps the dynamic-config key in force when it last took on risk; governance can add a new key (applies to new or refreshed positions) or edit an existing one (applies to everyone on it). wstETH, weETH and rsETH each have a key 1 with collateralFactor 0; wstETH/weETH were restored to their prior factor at key 2, rsETH (KELP) was not. An under-collateralised remainder is reported to the hub as a deficit (Hub.getAssetDeficitRay; 0 for every asset read).
Custody & backingprotocol_custodial
source
Aave v4 on Ethereum (chain 1) — read 2026-10-06 at block 26133621: the tokens sit in the HUB contracts (e.g. Core hub 0xCca852Bc40e560adC3b1Cc58CA5b55638ce826c9 holds 475.59496782 WBTC, 148.9993477 cbBTC, 8.32612679 LBTC, 3,346.6027 WETH, 10,772.5168 wstETH, 50,457.8021 weETH; Prime hub 0x943827DCA022D0F354a8a8c332dA1e5Eb9f9F931 holds 349.65120686 WBTC, 179.03622904 cbBTC, 2,539.6127 WETH, 6,950.3712 wstETH: ERC-20 balanceOf(hub) equals Hub.getAsset().liquidity to the wei for every BTC and ETH asset; swept 0, no reinvestment controller). Hubs and spokes are TransparentUpgradeableProxy contracts (EIP-1967 implementation and admin slots read). Every hub and spoke is 'restricted' by the AccessManager 0x08aE3BE30958cDd1847ec58fFfd4C451a87fDF01 (authority()). ⚠ ADMIN_ROLE (0) of that AccessManager is held, with ZERO execution delay, by the Aave governance Executor Lvl 1 0x5300A1a15135EA4dc7aD5a167152C01EFc9b192A AND by the 'V4_SECURITY_COUNCIL' 0x187AAE17d4931310B3fc75743e7F16Bdc9eD77e9 (a Safe, threshold 5 of 8, read; same address on both chains; named in the address book's Misc file). ⚠ The ProxyAdmins of the CORE, PLUS and PRIME hubs and of 12 of the 13 lending spokes (all but USDG_PENDLE; the GLOBAL_DOLLAR hub's and USDG_PENDLE's are owned by Executor Lvl 1) are owned by that 5-of-8 Safe, which can therefore upgrade the contracts holding the funds without a governance vote or timelock. Who the Safe's 8 signers are was not established.
Recoursenon_recourse
source
Aave v4 on Ethereum (chain 1) — per github.com/aave/aave-v4 main@40232a0 (2026-09-15) (no view function states it) a borrower's liability is bounded by the collateral on that spoke; an uncovered remainder is written off to the hub as a deficit (Hub.reportDeficit; getAssetDeficitRay 0 on every asset read 2026-10-06) and borne by that hub's suppliers or eliminated by HUB_DEFICIT_ELIMINATOR_ROLE (no members). Nothing pursues the borrower off-chain.
Track record6 months observed
source
Aave v4 on Ethereum (chain 1) — the hubs were created at blocks 24720887–24720895 (2026-03-23); about 6.5 months to the read date. Positions and debt were read live on 2026-10-06. ⚠ The creation transactions were located with the Routescan explorer API (getcontractcreation) and their blocks then read from the chain (eth_getTransactionReceipt); the date of the first borrow was not established (no archive node was available to the reader).

Composition

Who and what makes up this market?

Collateral acceptedBTC (3 representations as collateral): WBTC, cbBTC, LBTC; also ETH-family (WETH, wstETH, weETH; rsETH listed but frozen with collateralFactor 0) and others (AAVE, LINK, XAUt, PAXG, sUSDe, USDe, Pendle PTs, syrupUSDG, USDC, USDT, EURC)
source
Aave v4 on Ethereum (chain 1) — read 2026-10-06 at block 26133621: each lending spoke's reserves (Spoke.getReserveCount / getReserve / getReserveConfig / getDynamicReserveConfig(reserveId, reserve.dynamicConfigKey) / getReserveSuppliedAssets / getReserveTotalDebt), spokes enumerated from the address book and cross-checked against each hub's own list (Hub.getSpokeCount / getSpokeAddress / getSpokeConfig; root github.com/bgd-labs/aave-address-book main@5895697 (2026-10-06): scripts/configs/v4/ethereum.ts, scripts/configs/v4/avalanche.ts (generated into src/AaveV4Ethereum.sol / src/AaveV4Avalanche.sol)). A reserve counts as collateral when its current collateralFactor > 0 and it is not frozen or paused. ⚠ 'supplied' is all supply to the reserve, not only supply a user has switched on as collateral (setUsingAsCollateral is per user; getUserReserveStatus). Bitcoin as collateral, read: 349.5956 WBTC at BLUECHIP (CF 84.50%); 483.3164 WBTC at MAIN (CF 78.00%); 179.0252 cbBTC at BLUECHIP (CF 84.50%); 151.4473 cbBTC at MAIN (CF 78.00%); 8.3261 LBTC at LOMBARD_BTC (CF 86.00%). Ether as collateral: 2539.4255 WETH at BLUECHIP (CF 86.00%); 43307.9079 WETH at MAIN (CF 83.00%); 6950.3685 wstETH at BLUECHIP (CF 85.50%); 10743.1731 wstETH at MAIN (CF 80.00%); 29.3438 wstETH at LIDO (CF 95.50%); 12952.0055 weETH at MAIN (CF 80.00%); 37504.8794 weETH at ETHERFI (CF 95.50%); rsETH 1,212.1128 at KELP is frozen with collateralFactor 0. Bitcoin is also LENT: WBTC owed 7.73317927 (3.98272456 at MAIN, 3.75045472 at LOMBARD_BTC — the latter against LBTC only) and cbBTC owed 2.44809746 (0.63904338 MAIN, 1.80905408 LOMBARD_BTC). ⚠ Ether lent against ether is the largest single book: ETHERFI owes 38,566.5530 WETH against 37,504.8794 weETH.
Book depth & concentrationdisclosed
source
Aave v4 on Ethereum (chain 1) — aggregate supply and debt are public view calls per reserve (Spoke.getReserveSuppliedAssets / getReserveTotalDebt) and per hub asset and spoke (Hub.getSpokeAddedAssets / getSpokeTotalOwed); each position is readable by address (Spoke.getUserPosition / getUserAccountData). Enumerating borrowers needs the spokes' events (Borrow/Supply logs); that was not done here.
Observability
price: none — Not yet observed: registered 2026-10-06 by EC1 (migration 212); the venue's own direct read is to be built by PV1 (EC1 Phase 2). As of 2026-10-06.
quantity: none — Not yet observed: registered 2026-10-06 by EC1 (migration 212); the venue's own direct read is to be built by PV1 (EC1 Phase 2). As of 2026-10-06.
composition: none — Not yet observed: registered 2026-10-06 by EC1 (migration 212); the venue's own direct read is to be built by PV1 (EC1 Phase 2). As of 2026-10-06.

What the loans are denominated in

Not yet established for this venue — which is not the same as dollars.

Backing chain

backing_chain (v1 §9.5, D29): the ordered claims standing between a creditor and the coins, each link derived from a sourced fact already held and carrying it in `derived_from` — the custody cell, the venue's borrow card, or wrapper_registry.yaml for who holds the bitcoin behind a token. A `representation` link has one branch per token the venue takes; branches are alternatives, not a sequence. A link nobody has established is shown with status `incomplete` and names what is missing — it is never dropped, because a missing link omitted makes a long chain look short. `undisclosed` means the party does not publish it; `incomplete` means this dataset has not established it. NEVER SCORED AND NEVER COUNTED: no length, link count or ranking is published, and none should be derived — chain length and link transparency are orthogonal (ETP-backed margin is the longest chain here and every link of it is regulated). `recourse` is what the creditor holds beyond the chain. ⚠ Tokens are identified BY SYMBOL: the wrapper registry is not keyed by chain or address, so every `representation` link carries a `deployment` step that is incomplete — whether a token is native to the chain of the venue or a bridge receipt (one more link) is not established — and a symbol the registry knows to name a different token on a venue is shown unresolved, not given that wrapper's holders.

  1. contract_escrow established — the protocol contract — the collateral is escrowed and neither the operator nor the borrower can move it
    source
    attribute · custody_model = protocol_custodial
    Aave v4 on Ethereum (chain 1) — read 2026-10-06 at block 26133621: the tokens sit in the HUB contracts (e.g. Core hub 0xCca852Bc40e560adC3b1Cc58CA5b55638ce826c9 holds 475.59496782 WBTC, 148.9993477 cbBTC, 8.32612679 LBTC, 3,346.6027 WETH, 10,772.5168 wstETH, 50,457.8021 weETH; Prime hub 0x943827DCA022D0F354a8a8c332dA1e5Eb9f9F931 holds 349.65120686 WBTC, 179.03622904 cbBTC, 2,539.6127 WETH, 6,950.3712 wstETH: ERC-20 balanceOf(hub) equals Hub.getAsset().liquidity to the wei for every BTC and ETH asset; swept 0, no reinvestment controller). Hubs and spokes are TransparentUpgradeableProxy contracts (EIP-1967 implementation and admin slots read). Every hub and spoke is 'restricted' by the AccessManager 0x08aE3BE30958cDd1847ec58fFfd4C451a87fDF01 (authority()). ⚠ ADMIN_ROLE (0) of that AccessManager is held, with ZERO execution delay, by the Aave governance Executor Lvl 1 0x5300A1a15135EA4dc7aD5a167152C01EFc9b192A AND by the 'V4_SECURITY_COUNCIL' 0x187AAE17d4931310B3fc75743e7F16Bdc9eD77e9 (a Safe, threshold 5 of 8, read; same address on both chains; named in the address book's Misc file). ⚠ The ProxyAdmins of the CORE, PLUS and PRIME hubs and of 12 of the 13 lending spokes (all but USDG_PENDLE; the GLOBAL_DOLLAR hub's and USDG_PENDLE's are owned by Executor Lvl 1) are owned by that 5-of-8 Safe, which can therefore upgrade the contracts holding the funds without a governance vote or timelock. Who the Safe's 8 signers are was not established.
  2. representation incomplete
    source
    wrapper_registry · wrapper_registry.yaml as of 2026-09-02
    deployment · chain 1 incomplete
    whether each token is issued natively on this chain or bridged to it — a further link when bridged — is not in wrapper_registry.yaml, which is keyed by symbol, not by chain or address
    • WBTC established · direct_wrapped · identified by symbol
      WBTC established · issuer BitGo · custodial · holders [BitGo]
      Reserves in 2-of-3 multisig with BitGo holding two keys. Since 2024 BitGo custodies jointly with BiT Global, a Hong Kong custodian part-owned by Justin Sun — a second name on the same bitcoin, recorded but not split because no share is published.
      source
      issuer_doc
      BitGo, 'Wrapped BTC Launches with BitGo Custody and Full Proof of Assets', blog.bitgo.com; proof-of-reserve at wbtc.network
    • cbBTC established · direct_wrapped · identified by symbol
      CBBTC established · issuer Coinbase · custodial · holders [Coinbase]
      source
      issuer_doc
      coinbase.com/cbbtc — 'backed 1:1 and held in custody by Coinbase', cold storage
    • LBTC established · yield_bearing · identified by symbol
      LBTC established · issuer Lombard · consortium · holders [Anchorage Digital Bank, Kraken Institutional]
      WAS 'Lombard'. Lombard is the protocol. Its documentation places the BTC in Lombard-owned, segregated, bankruptcy-remote accounts at Anchorage Digital Bank, with the active allocation at Kraken Institutional and Anchorage; Bitwise holds trading authority only. Mint, burn and bridge require majority consensus of a 14-member Security Consortium. No public split between the two custodians, so the pair is carried whole.
      source
      issuer_doc
      docs.lombard.finance/use/lbtc; anchorage.com 'Lombard Builds LBTC's Institutional Structure on Anchorage Digital'
Recourse: non_recourse
source
attribute · recourse
Aave v4 on Ethereum (chain 1) — per github.com/aave/aave-v4 main@40232a0 (2026-09-15) (no view function states it) a borrower's liability is bounded by the collateral on that spoke; an uncovered remainder is written off to the hub as a deficit (Hub.reportDeficit; getAssetDeficitRay 0 on every asset read 2026-10-06) and borne by that hub's suppliers or eliminated by HUB_DEFICIT_ELIMINATOR_ROLE (no members). Nothing pursues the borrower off-chain.

The generic axis set

Identical for every venue, identically computed. An axis that cannot be computed here renders its reason — never silently omitted, because an omitted axis says it was not considered. A figure that covers only part of what the axis asks is marked, with what it leaves out beneath it.

Collateral lockednot read yet — no pegged-bitcoin reserve of this venue appeared in the latest collateral read
Debt outstandingnot read yet — this pool lends against its whole basket, and its accounts are not yet read one by one, which is what assigns debt to bitcoin exactly
Utilisation56.0%
the pool's dollar reserves: borrowed over supplied across 21 reserve(s), latest day — the whole pool, not its bitcoin book
defi_rates_llama, quantity-gated
Venue-level borrow APRnot read yet — no USD loan at this venue cleared the curve's gates and $250k floor in the last 30 days
Venue-level lend APRnot read yet — no dollar supply rate at this venue cleared the gates in the last 30 days
Intermediation marginnot read yet — needs both a borrow and a lend rate; the borrow rate is not served here
Trailing realised average (7/30/90d)7d 4.50% · 30d 4.50% · 90d 4.50%
dollar loans, debt-weighted over the days observed (1 / 1 / 1 of 7 / 30 / 90); continuously compounded
defi_rates_llama — the 30-day window's rows, gates and floor (098)
Rate volatility (30/90d)not read yet — fewer than ten days of the daily rate in the last 30 — too few for a volatility
Spread to the pair aggregatenot read yet — this venue has no borrow rate to compare
Spread to matched Treasuriesnot read yet — this venue has no borrow rate to compare
Origination flownot read yet — loan events are read for Morpho Blue (Ethereum, Base) and the six Aave v3 chains only
Repayment flownot read yet — loan events are read for Morpho Blue (Ethereum, Base) and the six Aave v3 chains only
Aggregate and distributional LTVnot read yet — a pool's debt has no collateral of its own; the LTV of its bitcoin-only borrowers needs an account-level read, which this venue does not have yet
Residence distributionnot read yet — how long positions stay open needs each loan's history; it is held for Morpho Blue and the Aave v3 chains and not yet computed
Liquidation incidencenot read yet — liquidations are read from events for Morpho Blue and the Aave v3 chains, and as positions past threshold where a pool is read account by account
Top-10 concentration sharenot read yet — borrower concentration is read where a pool is read account by account (21 venues)

Source: Board of Governors of the Federal Reserve System (H.15, H.4.1, H.6).

There is no score on this page and none will be added. The criteria are published and versioned before any venue is measured against them, and this venue's row is produced by the same pipeline as every other.

Access routes

Not yet surveyed. No one has looked for an MCP server for this venue. That is not the same as having looked and found none, and this row will not say the second while meaning the first. The listing criteria are published.

Ask your own question about this venue
read-only MCP · zero write tools · no account

How this venue compares depends on what you'd borrow, for how long, against what. That's a question for your AI, with this data behind it.

Orientation · Aave v4 (Ethereum)Holder · Aave v4 (Ethereum)Treasurer · Aave v4 (Ethereum)Analyst · Aave v4 (Ethereum)Risk · Aave v4 (Ethereum)
Add to Claude ↗Connect in Cursor ↗Connect in VS Code ↗Add to ChatGPT ↗Add to Grok ↗or copy the MCP URLhttps://mcp.bitcoincreditstack.com/mcp