Key Features
- Comprehensive DeFi Operations: Supports all core Aave V3 operations (supply, withdraw, borrow, repay) using Vincent Wallets within a Trusted Execution Environment
- Multi-Chain Support: Works across multiple networks where Aave V3 is deployed including Ethereum, Polygon, Arbitrum, Optimism, Base, and many more
- Intelligent Validation: Performs comprehensive precheck validation including balance checks, allowance verification, and borrowing capacity analysis
How It Works
The Aave Ability is built using the Vincent Ability SDK and operates in two phases:1
Precheck Phase
Validates all prerequisites for the Aave operation:
- Validates operation type, asset address, and amount format
- Performs all operation-specific checks, including:
- Ensuring sufficient token balance and allowance (for supply/repay)
- Verifying borrowing capacity and collateral (for borrow)
- Estimates gas costs for the operation
- Returns detailed validation results, including available markets
2
Execution Phase
Executes the Aave protocol operation:
- Retrieves Aave contract addresses for the specified chain
- Constructs and signs the appropriate Aave protocol transaction
- Submits the transaction to the blockchain
- Returns transaction hash and operation details
Getting Started
Depending on your role in the Vincent Ecosystem, you’ll be interacting with this Ability in different ways. Click on the link below that matches your role to see how to get started:- Vincent App Developers: If you’re building a Vincent App that needs to interact with Aave, go here.
- Vincent App Delegatees: If you’re executing this ability on behalf of Vincent App Users, go here.
Adding the Ability to your Vincent App
If you want to enable your App Delegatees to perform Aave operations on behalf of your Vincent App Users, you can add this Ability to your App. Adding Abilities to your Vincent App is done using the Vincent App Dashboard. Visit the Create Vincent App guide to learn more about how to add Abilities to your App during creation, or check out the Updating Your App guide to learn how to add Abilities to an existing App.Executing the Ability as a Vincent App Delegatee
Before executing Aave operations, the following conditions must be met. You can use the Ability’sprecheck
function to check if these conditions are met, or you can check them manually.
- Native Token Balance for Gas Fees: The Vincent App User’s Vincent Wallet must have enough native tokens (ETH, MATIC, etc.) to cover the transaction gas fees for the Aave operation.
- ERC20 Token Approval: For supply and repay operations, the Vincent App User’s Vincent Wallet must have approved the Aave Pool contract to spend the tokens.
To learn more about executing Vincent Abilities, see the Executing Abilities guide.
If your Vincent App has enabled the ERC20 Approval Ability, you can use it to handle submitting the approval transaction using the Vincent Wallet.
Operation-Specific Requirements
Each Aave operation has specific validation requirements that are checked during the precheck phase:- Supply
- Withdraw
- Borrow
- Repay
Requirements for Supply Operation:
- Vincent Wallet must have sufficient token balance to cover the supply amount
- Aave Pool contract must be approved to spend the required token amount
- Both balance and allowance must be greater than or equal to the supply amount
Executing the precheck
Function
This Ability’s precheck
function validates all prerequisites for executing the specified Aave operation and provides detailed account information.
- Parameters
- Implementation
- Response
Before executing the
precheck
function, you’ll need to provide the following parameters for the Aave operation:Executing the execute
Function
This Ability’s execute
function performs the actual Aave protocol operation.
- Parameters
- Implementation
- Response
The
execute
function expects the same parameters as the precheck
function (except rpcUrl
which is not allowed):The
rpcUrl
parameter is not allowed in the execute
function for security reasons. Only the chain
parameter should be used.Supported Networks
The Aave Ability supports operations on the following networks where Aave V3 is deployed:Network Type | Supported Chains |
---|---|
Mainnets | ethereum , polygon , avalanche , arbitrum , optimism , base , fantom , bnb , gnosis , scroll , metis , linea , zksync |
Testnets | sepolia , basesepolia , arbitrumsepolia , optimismsepolia , avalanchefuji , scrollsepolia |
Important Considerations
Amount Format
Amount Format
The
amount
parameter should be specified in human-readable format (e.g., “1.5” for 1.5 tokens), not in wei or smallest units.Chain Parameter vs RPC URL
Chain Parameter vs RPC URL
- For
precheck
: You can provide eitherchain
orrpcUrl
- For
execute
: Onlychain
is allowed,rpcUrl
will cause an error
Gas Estimation
Gas Estimation
The precheck function provides gas estimation, but actual gas usage may vary depending on network conditions.
Health Factor Management
Health Factor Management
Monitor your health factor when borrowing. A health factor below 1.0 triggers liquidation.Important: The Vincent Aave Ability does not validate health factor during the precheck phase. While the ability fetches the Vincent App User’s Vincent Wallet’s account data (including health factor), it only validates borrowing capacity and does not proactively check if a borrow operation would result in an unhealthy position. Health factor validation occurs at the Aave protocol level during transaction execution, and may result in failed transactions.
Error Handling
Common Failure Scenarios
Common Failure Scenarios
- Insufficient Balance: Not enough tokens for supply/repay operations
- Missing Approval: Token not approved for Aave contract spending
- Insufficient Borrowing Capacity: Attempting to borrow more than collateral allows
- Invalid Chain: Chain not supported by Aave V3
- Health Factor Risk: Operation would result in unhealthy position
- Invalid Asset: Token not supported on the specified Aave market