Aave V4: Testnet and Codebase are Live

Greetings, Aave community.

Aave V4 testnet is now live, and the full codebase is open for public review. This marks a major step toward mainnet launch and the most significant architectural evolution of the Aave Protocol since V1. The release invites service providers, integrators, and the Aave community to validate the implementation, review the risk and accounting surfaces, and provide feedback ahead of mainnet deployment. As planned, the final stage of development is now concluding in public as we address bug fixes and apply final touches.

Context

Aave V4 restructures the protocol around a new Hub and Spoke architecture. The Liquidity Hub aggregates reserves into a single shared pool, managing indices, accounting, and rate accrual. Spoke implementations handle borrowing logic, which enables upgrades and market expansion without capital fragmentation. This architecture centralizes liquidity into a single layer, removing cross-market fragmentation and providing new Spoke implementations with immediate access to liquidity.

V4 also introduces a host of new features for capital efficiency and risk optimization, one of which are Risk Premiums. Risk Premiums are a new pricing layer that directly ties borrowing costs to the quality of collateral. Safer collateral configurations receive lower premiums, while higher-volatility assets accrue a larger spread. The additional premium flows through the reserve factor, increasing supplier yield and DAO revenue in proportion to risk. Premiums give governance a direct lever over risk-adjusted income where safer assets lower borrow costs while riskier assets return a larger spread to the DAO.

Aave V4 Codebase

The full Aave V4 codebase is now public, please find it at aave-v4. This opens up the review of the new architecture and features, including the Hub and Spoke design, Risk Premiums, dynamic risk configuration, and the updated liquidation engine. Builders can start exploring the implementation and share feedback with the community, documentation can be found in aave.com/docs and aave-v4/docs/overview.md The current set of Spokes also includes the Base Spoke, Treasury Spoke, and a Vault Spoke:

  • The Base Spoke: a standard implementation used for general testing and baseline functionality.

  • The Treasury Spoke: acts as the Liquidity Fee collector, routing protocol fees to the designated treasury destination.

  • The Vault Spoke: is a minimal ERC‑4626–style vault that connects to the Aave V4 Hub as a registered Spoke. Its sole purpose is to enable supply and withdraw functionalities without exposing additional logic from the connected Hubs.

Once Aave V4 approaches production readiness, the codebase will be migrated to the aave-dao organization. Until that transition occurs, the codebase remains under a proprietary license to safeguard the implementation on behalf of the Aave DAO during the active audit and review phase. In the coming weeks, we will present a set of licensing frameworks for the DAO to evaluate, vote on, and ultimately decide on the licensing. Following that decision, the license will be updated upon migration in alignment with the governance outcome.

The tables below provide a comparative overview of gas consumption across the core workflows in Aave V3 and Aave V4. These benchmarks highlight how the new Hub and Spoke architecture, simplified accounting paths, and optimized position‑update logic affect transaction costs in practice. While results vary across action types, the data offers a clear view into where V4 reduces overhead, where costs shift due to new mechanics such as Risk Premium updates, and how the overall system behaves under typical user interactions. These values are estimations and may be subjected to change as the last fixes are applied to the codebase.

Gas Comparison of User Core workflows

ZRP = zero risk premium

Operation Scenario V3 V4 (baseline) Δ vs V3 Δ% V4 (ZRP) Δ vs V3 (ZRP) Δ% vs V3 (ZRP)
Supply 0 borrows, collateral disabled 139,089 125,727 -13,362 -9.6% 125,727 -13,362 -9.6%
Supply 0 borrows, collateral enabled 139,089 108,649 -30,440 -21.9% 108,649 -30,440 -21.9%
Supply First supply + enable collateral 168,607 162,666 -5,941 -3.5% 162,666 -5,941 -3.5%
Borrow First borrow 250,372 270,956 +20,584 +8.2% 199,502 -50,870 -20.3%
Borrow Recurrent (same reserve) 215,290 239,428 +24,138 +11.2% 179,474 -35,816 -16.6%
Repay Full repay 161,770 169,037 +7,267 +4.5% 174,287 +12,517 +7.7%
Repay Partial repay 158,122 227,707 +69,585 +44.0% 192,941 +34,819 +22.0%
Withdraw Full (0 borrows) 155,405 131,341 -24,064 -15.5% 131,341 -24,064 -15.5%
Withdraw Partial (0 borrows) 172,161 136,247 -35,914 -20.9% 136,247 -35,914 -20.9%
Withdraw Partial with 1 borrow 220,677 292,539 +71,862 +32.6% 165,754 -54,923 -24.9%

Gas Comparison of Liquidations

Note: V3 “receive ATokens” ≈ V4 “receiveShares”.

Operation Scenario V3 V4 (baseline) Δ vs V3 Δ% V4 (ZRP) Δ vs V3 (ZRP) Δ% vs V3 (ZRP)
Liquidation Full (no receive) 352,397 356,016 +3,619 +1.0% 321,234 -31,163 -8.8%
Liquidation Partial (no receive) 343,302 355,734 +12,432 +3.6% 320,952 -22,350 -6.5%
Liquidation Full (receive shares) 349,700 346,078 -3,622 -1.0% 311,296 -38,404 -11.0%
Liquidation Partial (receive shares) 340,605 345,796 +5,191 +1.5% 311,014 -29,591 -8.7

Security

Formal verification and independent audits are in progress, with testnet operating alongside these evaluations to surface any integration or accounting issues. All reports will be published before the mainnet release, supported by an expanded bug-bounty program covering the entire V4 architecture.

The security program encompasses several layers: independent researcher reviews, multi-firm end-to-end manual audits, and formal verification led by Certora. It also includes the development of a reusable invariant-testing suite with fuzzing and scenario generation, along with a community security contest. This layered structure is designed to identify issues through diverse methodologies, minimize correlated blind spots, and offer the DAO a comprehensive security assessment before the mainnet launch.

For additional detail on the security effort, please refer to the community discussion at Aave V4 Security Funding.

Testnet Launch

Aave V4 testnet is launched as a Tenderly‑based fork environment, which allows for deep customization and a broader and more realistic asset configuration than would be feasible on a standard Ethereum testnet. This approach allows us to more accurately exercise V4’s Hub and Spoke architecture, test interactions across a wider set of tokens, and iterate faster on configuration and operational flows.

Aave Pro

Alongside the testnet, we are introducing a redesigned Aave interface, called Aave Pro, built specifically for V4. Aave Pro is designed to improve the overall Aave experience for power users and DeFi-natives.

The testnet includes an initial, simplified version of the interface that focuses on core user flows (supply, borrow, repay, withdrawal, collateral configuration, and position visibility) while the full interface continues through active development and will be introduced in the mainnet launch. These components together provide a representative testing surface for the intended mainnet layout of Hubs and Spokes.

Hub-Spokes Architecture

The Hub and Spoke model used in the testnet reproduces a configuration potentially similar to a production release, with additional dynamics introduced for evaluation. In particular, the testnet includes cross‑Hub credit line configurations, such as granting credit from the Core Hub to both the Yield Seeking Spoke and the Frontier Spoke, to validate how liquidity flows behave when Spokes draw from multiple Hubs under distinct risk profiles.

The tables below summarize the Hubs deployed in the testnet, the assets supported within each, and the Spokes connected to them. These configurations were discussed in a recurring “V4 Office Hours” call with various service providers, but the final configuration needs to be reviewed by the risk providers and decided by a separate governance proposal.

Hubs Listed Assets Connected Spokes
Prime Hub ETH, wstETH, USDT, USDC, GHO Prime Spoke
Core Hub ETH, wstETH, WBTC, cbBTC, USDT, USDC, GHO, AAVE Core Spoke
LST Spoke (e-Mode)
Yield Seeking Spoke
Frontier Spoke
Yield Seeking Hub PT-sUSDe, sUSDe, USDT, USDC, GHO Yield Seeking Spoke
Frontier Hub UNI, LDO, 1INCH, USDT, USDC, GHO Frontier Spoke
Spokes Collateral Assets Borrowable Assets Connected Hubs
Prime Spoke ETH, wstETH, USDT, USDC, GHO ETH, wstETH, USDT, USDC, GHO Prime Hub
Core Spoke ETH, wstETH, WBTC, cbBTC, USDT, USDC, GHO, AAVE ETH, wstETH, WBTC, cbBTC, USDT, USDC, GHO, AAVE Core Hub
LST Spoke (e-Mode) wstETH ETH Core Hub
Yield Seeking Spoke PT-sUSDe, sUSDe USDT, USDC, GHO Yield Seeking Hub
Core Hub
Frontier Spoke UNI, LDO, 1INCH USDT, USDC, GHO Frontier Hub
Core Hub

Hubs Configuration

The following section details the configuration of each Hub deployed in the testnet. These configurations are designed to validate reserve behavior, interest‑rate dynamics, cross‑Hub credit flows, and the interaction patterns between Hubs and their connected Spokes.

By exercising multiple asset classes, risk surfaces, and these new configuration parameters, the testnet offers a comprehensive environment to evaluate how the architecture performs under realistic conditions.

Prime Hub

Assets Configuration

Parameter ETH wstETH USDT USDC GHO
active True True True True True
Frozen False False False False False
Paused False False False False False
decimals 18 18 6 6 18
liquidityFee 10_00 5_00 10_00 10_00 10_00

Spokes Configuration

Parameter ETH wstETH USDT USDC GHO
Prime Spoke
Add Cap (asset units) 225 150 3_000_000 3_000_000 17_500_000
Draw Cap (asset units) 200 75 2_760_000 2_760_000 15_000_000
Collateral Enabled True True True True True
Borrowing Enabled True True True True True

Interest Rate Strategy Configuration

Parameter ETH wstETH USDT USDC GHO
Optimal Utilization 90_00 90_00 92_00 92_00 92_00
Base Variable Borrow Rate 0 0 0 0 0
variableRateSlope1 2_70 55 5_50 5_50 5_50
variableRateSlope2 80_00 85_00 35_00 35_00 35_00

Core Hub

Assets Configuration

Parameter ETH wstETH WBTC cbBTC AAVE USDT USDC GHO
active True True True True True True True True
Frozen False False False False False False False False
Paused False False False False False False False False
decimals 18 18 8 8 18 6 6 18
liquidityFee 10_00 5_00 50_00 50_00 10_00 10_00 10_00 10_00

Spokes Configuration

Parameter ETH wstETH WBTC cbBTC AAVE USDT USDC GHO
Core Spoke
Add Cap (asset units) 800 45 20 5 9_500 3_000_000 3_000_000 8_000_000
Draw Cap (asset units) 725 15 7 3 5_000 2_760_000 2_760_000 5_500_000
Collateral Enabled True True True True True True True True
Borrowing Enabled True True True True True True True True
LST Spoke (e-Mode)
Add Cap (asset units) 225 200 - - - - - -
Draw Cap (asset units) 0 100 - - - - - -
Collateral Enabled True False - - - - - -
Borrowing Enabled False True - - - - - -
Yield Seeking Spoke
Add Cap (asset units) - - - - - - 2_000_000 -
Draw Cap (asset units) - - - - - - 1_000_000 -
Collateral Enabled - - - - - - False -
Borrowing Enabled - - - - - - True -
Frontier Spoke
Add Cap (asset units) - - - - - - 2_000_000 -
Draw Cap (asset units) - - - - - - 1_000_000 -
Collateral Enabled - - - - - - False -
Borrowing Enabled - - - - - - True -

Interest Rate Strategy Configuration

Parameter ETH wstETH WBTC cbBTC AAVE USDT USDC GHO
Optimal Utilization 90_00 90_00 80_00 80_00 45_00 92_00 92_00 92_00
Base Variable Borrow Rate 0 0 30 0 0 0 0 0
variableRateSlope1 2_70 55 4_00 4_00 5_00 5_50 5_50 5_50
variableRateSlope2 80_00 85_00 300_00 60_00 300_00 35_00 35_00 35_00

Yield Seeking Hub

Assets Configuration

Parameter PT-sUSDe sUSDe USDT USDC GHO
active True True True True True
Frozen False False False False False
Paused False False False False False
decimals 18 18 6 6 18
liquidityFee 10_00 10_00 10_00 10_00 10_00

Spokes Configuration

Parameter PT-sUSDe sUSDe USDT USDC GHO
Yield Seeking Spoke
Add Cap (asset units) 6_000_000 5_000_000 3_000_000 3_000_000 17_500_000
Draw Cap (asset units) 0 0 2_760_000 2_760_000 15_500_000
Collateral Enabled True True False False False
Borrowing Enabled False False True True True

Interest Rate Strategy Configuration

Parameter PT-sUSDe sUSDe
Optimal Utilization 45_00 90_00
Base Variable Borrow Rate 0 0
variableRateSlope1 10_00 6_25
variableRateSlope2 300_00 40_00

Frontier Hub

Assets Configuration

Parameter UNI LDO 1INCH USDT USDC GHO
active True True True True True True
Frozen False False False False False False
Paused False False False False False False
decimals 18 18 18 6 6 18
liquidityFee 5_00 10_00 10_00 10_00 10_00 10_00

Spokes Configuration

Parameter UNI LDO 1INCH USDT USDC GHO
Frontier Spoke
Add Cap (asset units) 600_000 50_000_000 500_000 3_000_000 3_000_000 17_500_000
Draw Cap (asset units) 0 0 0 2_760_000 2_760_000 15_500_000
Collateral Enabled True True True False False False
Borrowing Enabled False False False True True True

Interest Rate Strategy Configuration

Parameter UNI LDO 1INCH
Optimal Utilization 45_00 45_00 45_00
Base Variable Borrow Rate 0 0 0
variableRateSlope1 7_00 7_00 9_00
variableRateSlope2 300_00 300_00 300_00

Spokes Configuration

Prime Spoke - Reserve Config

Parameter ETH wstETH USDT USDC GHO
active True True True True True
Frozen False False False False False
Paused False False False False False
borrowable True True True True True
collateral True True True True True
decimals 18 18 6 6 18
liquidationBonus 105_00 106_00 100_00 100_00 100_00
collateralRisk 0 0 0 0 0
CollateralFactor 85_00 83_00 83_00 83_00 83_00
liquidationFee 10_00 10_00 10_00 10_00 10_00
Hub Prime Hub Prime Hub Prime Hub Prime Hub Prime Hub

Core Spoke - Reserve Config

Parameter ETH wstETH WBTC cbBTC USDT USDC GHO AAVE
active True True True True True True True True
Frozen False False False False False False False False
Paused False False False False False False False False
borrowable True True True True True True True True
collateral True True True True True True True True
decimals 18 18 8 8 6 6 18 18
liquidationBonus 105_00 106_00 105_00 107_50 100_00 100_00 100_00 105_00
collateralRisk 0 0 0 0 0 0 0 0
CollateralFactor 85_00 83_00 78_00 78_00 83_00 83_00 83_00 78_00
liquidationFee 10_00 10_00 10_00 10_00 10_00 10_00 10_00 10_00
Hub Core Hub Core Hub Core Hub Core Hub Core Hub Core Hub Core Hub Core Hub

LST Spoke (e-Mode) - Reserve Config

Parameter ETH wstETH
active True True
Frozen False False
Paused False False
borrowable True False
collateral False True
decimals 18 18
liquidationBonus 0 106_00
collateralRisk 0 0
CollateralFactor 0 93_00
liquidationFee 0 15_00
Hub Core Hub Core Hub

Yield Seeking Spoke - Reserve Config

Parameter PT-sUSDe sUSDe USDT USDC GHO USDC’
active True True True True True True
Frozen False False False False False False
Paused False False False False False False
borrowable False False True True True True
collateral True True False False False False
decimals 18 18 6 6 18 6
liquidationBonus 105_00 106_00 0 0 0 0
collateralRisk 8_00 9_00 0 0 0 0
CollateralFactor 78_00 80_00 0 0 0 0
liquidationFee 10_00 10_00 0 0 0 0
Hub Yield Seeking Hub Yield Seeking Hub Yield Seeking Hub Yield Seeking Hub Yield Seeking Hub Yield Seeking Hub

Frontier Spoke - Reserve Config

Parameter UNI LDO 1INCH USDT USDC GHO USDC’
active True True True True True True True
Frozen False False False False False False False
Paused False False False False False False False
borrowable False False False True True True True
collateral True True True False False False False
decimals 18 18 18 6 6 18 6
liquidationBonus 105_00 106_00 105_00 0 0 0 0
collateralRisk 5_00 7_00 10_00 0 0 0 0
CollateralFactor 78_00 78_00 78_00 0 0 0 0
liquidationFee 10_00 10_00 10_00 0 0 0 0
Hub Frontier Hub Frontier Hub Frontier Hub Frontier Hub Frontier Hub Frontier Hub Core Hub

Next Steps

The V4 testnet will remain active throughout the audit and parameter-calibration period. During this window we invite contributors to review the codebase, validate Hub-to-Spoke liquidity flows and liquidation behavior, and assess how Risk Premiums evolve under different collateral compositions.

Testnet marks the final major gate before the mainnet proposal. As reviews progress, we will consolidate findings, refine parameters where needed, and return to the DAO with the deployment configuration for Aave V4. Thank you to the service providers and community members who have supported the development process. We look forward to your feedback as Testnet enters this validation phase.

Aave Labs

14 Likes

Yummy :face_savoring_food: . :shallow_pan_of_food: :face_savoring_food: . Time to dive into the code. It’s gonna be a long weekend.

1 Like

Very nice team!

Found small (but annoying) bug with rounding in UI. If i choose max i get validation issue, if i manually decrease the amount a bit it does work.

1 Like

Im still a bit surprised that I cannot see my liquidation price here, while DefiSaver is giving me this data. Thats why I prefer using it over the official UI 99% of the time.

Would be very great if more information would be added, like how my HF will change if i add more collateral, etc.

Otherwise I can echo @roelios comment. Same happening to me.

3 Likes

Team, where is this one located? I see treasury and spoke.sol. Is there any reference implementation you can point me to?

I’m also wondering about this ‘Vault Spoke’ :eyes: @AaveLabs @Emilio

Please check interface:

  • faucet is not working / access must be improve
  • currently ethereum mainnet tokens are displayed not testnet ones

are you using only one collateral? thats the only config where liquidation price can be shown, otherwise its difficult to map out when you have collateral composition of multiple assets.

1 Like

Difficult or impossible? :eyes:

1 Like

Thats my position:

Im either blind and not seeing a liquidation price or its heavily hidden somewhere within the UI.

Referring to DeFi Saver, do you have multiple assets as collateral activated against your borrow?

No, I had Aave as collateral and borrowed stablecoins against it.
Also DefiSaver cannot show you the liquidation price if you use multiple assets, they also state this in their docs, that the calculation would be too heavy. But for one collateral its possible.
Which is great, cause assuming im using several spokes and only one collateral for each, it would be great to see this kind of data. That way, I can monitor each position even better.
HF is nice, but for me personally the liquidation price is great for a deeper understanding of how aggressive i can be with longing assets via Aave for example.

Yes exactly, its quite unuseful with multi collateral approach. However, with one asset as collateral, we would show liquidation price (this is planned for mainnet). Whereas its multi-asset, revert to HF.

1 Like