├── aave-acl // Access control list Package
├── aave-config // Configurator Package
├── aave-data // Data & Deployment Configurations
├── aave-large-packages // Large Packages Package
├── aave-math // Math library Package
├── aave-mock-underlyings // Mock Underlyings Package
├── aave-oracle // Oracle Package
├── aave-core // Core Package
flowchart TD
%% Level 1
aave-config
chainlink-data-feeds
aave-large-packages
aave-mock-underlyings
%% Level 2
aave-acl --> aave-config
aave-math --> aave-config
%% Level 3
aave-oracle --> aave-config
aave-oracle --> aave-acl
aave-oracle --> chainlink-data-feeds
%% Level 4
aave-pool --> aave-acl
aave-pool --> aave-config
aave-pool --> aave-math
aave-pool --> aave-oracle
%% Level 5
aave-data --> aave-acl
aave-data --> aave-config
aave-data --> aave-oracle
aave-data --> aave-data
aave-data --> aave-pool
git clone https://github.com/aave/aptos-aave-v3.git && cd aptos-aave-v3Make sure the following tools are installed:
Start by copying .env.template to .env and editing any relevant values.
make local-testnetmake local-testnet-with-indexermake set-workspace-config \
&& make init-workspace-config \
&& make init-profiles \
&& make init-test-profiles \
&& make fund-profiles \
&& make fund-test-profilesThis will initialize, configure, and fund local accounts with APT.
make compile-all
make publish-allhttps://explorer.aptoslabs.com/?network=local
aave-test-kit is a local simulation environment for Aave on Aptos, inspired by Tenderly.
➡️ See the linked README for Docker-based setup and usage.
These do not require a local testnet.
make test-allThese must be run after successful contract deployment:
make ts-testGenerate full module documentation across all packages:
make doc-allDocs will be generated under each package's doc/ directory.
A TypeScript SDK is available for interacting with the Aave V3 Protocol on Aptos directly from your applications.
pnpm add @aave/aave-v3-aptos-ts-sdk
# or
npm install @aave/aave-v3-aptos-ts-sdk👉 View on npm Browse available functions, types, and usage examples.
📖 For full usage details, please refer to the README documentation on the npm package page.
All audit reports related to Aave's Move implementation on Aptos are stored in the /audits directory at the root of this repository.
/audits
├── Certora Aave Aptos Core V3.0.2 Report.pdf
├── Certora Aave Aptos Core V3.1-V3.3 Report.pdf
├── Certora Aave Aptos Periphery V3.0.2 Report.pdf
├── Ottersec Aave Aptos V3.1-V3.3 Report.pdf
├── Spearbit Aave Aptos Core V3.0.2 Report.pdf
├── Spearbit Aave Aptos Core V3.1-V3.3 Report.pdf
└── Spearbit Aave Aptos Periphery V3.0.2 Report.pdfOfficial documentation for Aave's Move-based smart contracts is now available via GitHub Pages.
The docs are auto-generated from each package and published using MkDocs Material, with clean navigation and search.
👉 View Smart Contract Documentation Browse all modules, structs, functions, and events used across Aave's V3 Aptos packages.
In addition to Move unit tests and integration tests, this repository contains example scripts (such as flashloans) that demonstrate how to interact with the deployed protocol on Aptos. They are all located under the ./examples packages at root level.
Example are compiled separately via calling the main commands listed under ./examples/Makefile:
# For testnet
make compile-scripts-testnet
# For mainnet
make compile-scripts-mainnetOnce compiled, scripts can be executed against the target network compiled above. For example:
# Simple flashloan example
make execute-flashloan-simple
# Complex flashloan example
make execute-flashloan-complexEach script corresponds to a .mv compiled Move script under ./examples/build/AaveScripts/bytecode_scripts/. They are executed via aptos move run-script, with arguments such as asset addresses and flashloan amounts passed in from the Makefile.
🔍 These scripts are primarily intended as examples and tests of protocol functionality, such as taking and repaying flashloans.