
Aave V4 introduces a new Hub and Spoke architecture. This architecture introduces several new design paradigms to Aave, each with their own set of benefits. The contest should focus on edge cases in accounting and new features.
Scope
On what chains are the smart contracts going to be deployed?
The initial deployment target is Ethereum mainnet
If you are integrating tokens, are you allowing only whitelisted tokens to work with the codebase or any complying with the standard? Are they assumed to have certain properties, e.g. be non-reentrant? Are there any types of weird tokens you want to integrate?
Only explicitly whitelisted ERC20 tokens are accepted. Whitelisting is enforced via governance-controlled configuration and assumes:
Asset onboarding follows the Aave DAO’s technical and risk due diligence process, executed by service providers before governance approval. If the tokens are incompatible with the codebase, then they won't be used.
Are there any limitations on values set by admins (or other roles) in the codebase, including restrictions on array lengths?
Privileged roles are trusted actors (Aave DAO and governance-approved executors). Their parameter changes are considered honest, and misconfiguration is out of scope.
That said, the codebase does enforce specific hard limits on certain configuration values:
MIN_ALLOWED_UNDERLYING_DECIMALS) and maximum (MAX_ALLOWED_UNDERLYING_DECIMALS) decimal range; assets outside these bounds cannot be listed.collateralFactor): Each asset’s collateral risk value is capped by a maximum allowed risk, preventing governance from setting risk scores beyond the upper bound enforced by the protocol.maxLiquidationBonus) is constrained to a protocol-defined minimum; the product of the maximum liquidation bonus and the collateral risk score is bounded by a global upper limit; and the liquidation fee (liquidationFee) itself is capped by a protocol‑defined maximum.Beyond these explicit constraints, most configuration values rely on governance processes rather than on-chain caps, consistent with the “trusted admin” assumption.
Are there any limitations on values set by admins (or other roles) in protocols you integrate with, including restrictions on array lengths?
Protocols the system depends on (such as Chainlink price feeds, listed collateral assets, and other external primitives) are treated as trusted, governance-vetted dependencies. Only whitelisted assets and governance-approved integrations are permitted. These components are assumed to behave consistently with their established interfaces and not introduce arbitrary semantic changes (e.g., unexpected proxy upgrades or non-standard ERC20 behavior).
Evaluation of these dependencies (including oracle configuration, asset onboarding, and integration changes) is handled through Aave’s governance processes and risk frameworks. Under the contest’s trust assumptions, these dependencies are considered stable, predictable, and non-malicious.
Is the codebase expected to comply with any specific EIPs?
EIP712 is implemented for typed signatures used by the Spoke setUserPositionManeger intent and for all intents processed through the Signature Gateway. Apart from it, no other EIP compliance requirements beyond standard ERC20 interactions for assets.
For an EIP-violation issue to be valid, it has to qualify for at least Medium severity based on the severity definitions in the "Additional audit info" question.
Are there any off-chain mechanisms involved in the protocol (e.g., keeper bots, arbitrage bots, etc.)? We assume these mechanisms will not misbehave, delay, or go offline unless otherwise specified.
The only off-chain dependency is Chainlink oracle infrastructure. These feeds are assumed to operate correctly, remain available, and not deviate from expected behavior.
What properties/invariants do you want to hold even if breaking them has a low/unknown impact?
Invariants at the the Hub level:
Issues breaking the above invariants may be considered Medium severity even if the actual impact is Low, considering it doesn't conflict with common sense.
Please discuss any design choices you made.
Aave V4 adopts a Liquidity Hub as the canonical accounting layer for all assets: available liquidity, drawn and premium liabilities. User flows are implemented in external Spokes, which initiate Hub mutations and perform asset transfers. The Hub enforces global invariants and liquidity provisioning; Spokes handle borrow logic and risk configuration logic.
All Spokes are governance-permissioned modules. Governance explicitly authorizes which Spokes may call Hub mutators for each asset and maintains the allowlist.
Hub ↔ Spoke Trust Boundary
The system defines an asymmetric trust model:
Spokes operate under Hub-enforced global invariants and per-Spoke caps/flags that throttle or isolate flows without halting the protocol.
Implications:
Collateral Risk Framework
Each reserve receives a dynamic risk score (0–1000 %) controlled by governance. This score feeds into the final interest rate computation resulting in a risk-adjusted rate: low-risk assets map to lower borrowing costs, and higher-risk assets incur higher effective rates.
Please provide links to previous audits (if any) and all the known issues or acceptable risks.
Shown in the private contest repos.
Please list any relevant protocol resources.
Additional audit information.
Upgradeability / Mutability
The contest has custom severity definitions that will be considered during judging:
Critical severity:
Direct loss of funds without (extensive) limitations of external conditions. The loss of the affected party must exceed 20% and 100 USD.
Examples:
High severity:
Direct loss of funds without (extensive) limitations of external conditions. The loss of the affected party must exceed 5% and 50 USD.
Examples:
Medium severity:
Causes a loss of funds but requires certain external conditions or specific states, or a loss is highly constrained. The loss of the affected part must exceed 1% and 10 USD.
Breaks core contract functionality, rendering the contract useless or leading to loss of funds of the affected party that exceeds 1% and 10 USD.
Note: If a single attack can cause a 1% loss but can be replayed indefinitely, it may be considered a 100% loss and can be medium or higher severity, depending on the constraints.
Examples:
Gas optimisation severity:
The report must show how the gas cost for the transaction can be reduced by 5% and the protocol team has to implement a change in the code for the issue to be considered valid. Gas optimisation severity won't have duplicates and only the first one will be considered valid.
Point weights breakdown:
Total Rewards
Contest Pool
Lead Senior Watson
Lead Judge
310,000 USDC
25,000 USDC
30,000 USDC
Status
Scope
Start Time
End Time
Judging Rules