Aave v4 (Avalanche)
One of 2 deployments of Aave v4 · also on Ethereum
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.
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 formation | algorithmic_utilisationsourceAave v4 on Avalanche (chain 43114) — each hub asset names an AssetInterestRateStrategy (Hub.getAsset().irStrategy; 0x446eb3913b3fd3a9219A07B0f6AbE98BD0fAeed4); 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): BTC.b optimal 80%, base 0, slope 4% / 80%; WETH.e optimal 90%, base 0, 2.5% / 8%; USDC/USDT optimal 90%, base 0, 4% / 10%; WAVAX optimal 65%, base 1%, 4% / 144.28%. The curve's parameters are administered (Hub.setInterestRateData, restricted to HUB_CONFIGURATOR_ROLE); the rate itself is set by utilisation. |
|---|---|
| Term structure | open_endedsourceAave v4 on Avalanche (chain 43114) — 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 certainty | variablesourceAave v4 on Avalanche (chain 43114) — 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 96881085: drawn rate WETH.e 1.043%, BTC.b 0.000% (owed 0.00431055 BTC.b; the stored rate rounds to zero at that usage), USDC 1.253%, USDT 1.107%, WAVAX 3.862%. ⚠ 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 dependency | singlesourceAave v4 on Avalanche (chain 43114) — each lending spoke has its own AaveOracle (Spoke.ORACLE(); e.g. MAIN 0x84B50B131a82dA689C0205C00d603c1c92A5f8a4), 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 96881085: BTC.b → 0x2779D32d5166BAaa2B2b658333bA7e6Ec0C65743 "BTC / USD" (aggregator 0xa9Afa74dDAC812B86Eeaa60A035c6592470F4A48; last update 670 s before the read); WETH.e → 0x976B3D034E162d8bD72D6b9C989d545b839003b0 "ETH / USD" (aggregator 0x9ff520924dC295074F43a8a01Ee30a4D39a4223b); sAVAX → "Capped sAVAX / AVAX / USD". ⚠ BTC.b and WETH.e are priced as bitcoin and ether: a bridge depeg would not show. ⚠ 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 & liquidation | thresholdsourceAave v4 on Avalanche (chain 43114) — 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 96881085 (Spoke.getLiquidationConfig(), getDynamicReserveConfig()): MAIN targetHealthFactor 1.24, healthFactorForMaxBonus 0.90; BTC.b collateral factor 75%, max bonus 107.22%; WETH.e 83%, 105.55%; WAVAX 73%; USDC/USDT 78%. liquidationFee 10% of the bonus. BTC.b and WETH.e have only dynamic-config key 0. An under-collateralised remainder is reported to the hub as a deficit (Hub.getAssetDeficitRay; 0 for every asset read). |
| Custody & backing | protocol_custodialsourceAave v4 on Avalanche (chain 43114) — read 2026-10-06 at block 96881085: the tokens sit in the HUB contracts (e.g. Core hub 0xd07369fAE4A5BB13c9Ce446B052c7867B1AbDf6e holds 98.84666967 BTC.b and 185.6102 WETH.e: 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 0xe069096bDAfF9bAD15b2f1079EaF0f1685a24522 (authority()). ⚠ ADMIN_ROLE (0) of that AccessManager is held, with ZERO execution delay, by the Aave governance Executor Lvl 1 0x3C06dce358add17aAf230f2234bCCC4afd50d090 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 hub and all three lending spokes 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. |
| Recourse | non_recoursesourceAave v4 on Avalanche (chain 43114) — 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 record | 2 months observedsourceAave v4 on Avalanche (chain 43114) — the hub was created at block 89721368 (2026-07-07); just under 3 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 accepted | BTC (1 representation as collateral): BTC.b; also ETH-family (WETH.e) and others (WAVAX, sAVAX, USDC, USDT, EURC)sourceAave v4 on Avalanche (chain 43114) — read 2026-10-06 at block 96881085: 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: 98.8507 BTC.b at MAIN (CF 75.00%); BTC.b owed 0.00431055 (MAIN). Ether as collateral: 297.1775 WETH.e at MAIN (CF 83.00%); WETH.e owed 111.5908 (MAIN). |
|---|---|
| Book depth & concentration | disclosedsourceAave v4 on Avalanche (chain 43114) — 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.
- 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_custodialAave v4 on Avalanche (chain 43114) — read 2026-10-06 at block 96881085: the tokens sit in the HUB contracts (e.g. Core hub 0xd07369fAE4A5BB13c9Ce446B052c7867B1AbDf6e holds 98.84666967 BTC.b and 185.6102 WETH.e: 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 0xe069096bDAfF9bAD15b2f1079EaF0f1685a24522 (authority()). ⚠ ADMIN_ROLE (0) of that AccessManager is held, with ZERO execution delay, by the Aave governance Executor Lvl 1 0x3C06dce358add17aAf230f2234bCCC4afd50d090 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 hub and all three lending spokes 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. - representation incomplete
source
wrapper_registry · wrapper_registry.yaml as of 2026-09-02deployment · chain 43114 incompletewhether 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- BTC.b established · direct_wrapped · identified by symbolBTC.B established · issuer Avalanche / Ava Labs · bridge · holders []WAS custodian 'Avalanche Bridge'. No custodian holds it: the bridge address is controlled by an Intel SGX enclave requiring 6 of 8 Wardens (Halborn, Avascan, Bware Labs, Ankr, Chainstack, Protofire, Blockdaemon, Ava Labs). ⚠ Lombard has since acquired the BTC.b bridge infrastructure and assumed its operations, so this row's operator — though not its 6-of-8 mechanism — is now the same party as LBTC's. Dated, not backdated.
source
issuer_docmedium.com/avalancheavax 'Bridging Bitcoin To Avalanche: A Technical Overview'; avax.network 'BTC.b Technical Transition to Lombard's Architecture'
- BTC.b established · direct_wrapped · identified by symbol
source
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 locked | not read yet — no pegged-bitcoin reserve of this venue appeared in the latest collateral read |
|---|---|
| Debt outstanding | not 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 |
| Utilisation | 29.9% the pool's dollar reserves: borrowed over supplied across 4 reserve(s), latest day — the whole pool, not its bitcoin book defi_rates_llama, quantity-gated |
| Venue-level borrow APR | not read yet — no USD loan at this venue cleared the curve's gates and $250k floor in the last 30 days |
| Venue-level lend APR | not read yet — no dollar supply rate at this venue cleared the gates in the last 30 days |
| Intermediation margin | not read yet — needs both a borrow and a lend rate; the borrow rate is not served here |
| Trailing realised average (7/30/90d) | 7d 1.32% · 30d 1.32% · 90d 1.32% 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 aggregate | not read yet — this venue has no borrow rate to compare |
| Spread to matched Treasuries | not read yet — this venue has no borrow rate to compare |
| Origination flow | not read yet — loan events are read for Morpho Blue (Ethereum, Base) and the six Aave v3 chains only |
| Repayment flow | not read yet — loan events are read for Morpho Blue (Ethereum, Base) and the six Aave v3 chains only |
| Aggregate and distributional LTV | not 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 distribution | not 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 incidence | not 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 share | not read yet — borrower concentration is read where a pool is read account by account (21 venues) |
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.
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.
https://mcp.bitcoincreditstack.com/mcp