βββ 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.pdfπ Browse Audit Reports
Official 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.
This project supports AI coding agents (Claude Code, Codex, Cursor, etc.) via shared skills from avaralabs/skills.
Install skills for all supported agents:
./scripts/update-agents.shOr for a specific agent only:
./scripts/update-agents.sh claude-code
./scripts/update-agents.sh codexThis installs skills into .agents/skills/ with symlinks in each agent's config directory (e.g., .claude/skills/).
Same can be achieved using the command:
pnpm run update-agents # Install AI agent skills from avaralabs/skillsDownload Aptos reference documentation for AI agents (stored locally in llms/, gitignored):
make download-llms
# or
pnpm run download-llmsThe project includes Claude Code configuration out of the box:
CLAUDE.md+PROJECT.mdβ project knowledge and workflow instructions.claude/settings.jsonβ shared plugins and permissions.claude/settings.local.jsonβ personal overrides (not committed)
Configured in .mcp.json (auto-enabled via .claude/settings.json):
- Aptos β Aptos blockchain interaction (
APTOS_BOT_KEYenv var required) - GitHub β issues, PRs, project boards (
GITHUB_PERSONAL_ACCESS_TOKENenv var required) - Linear β issue tracking
- Sentry β error monitoring, issue lookup, stack traces (
SENTRY_AUTH_TOKENenv var required) - Google Cloud β general GCP interaction via gcloud CLI (requires
gcloudCLI authenticated) - Google Cloud Storage β GCS bucket and object operations
- Google Cloud Observability β logs, metrics, traces, error reports
- Google Drive β file access via OAuth
Add required tokens to your shell profile (~/.bashrc or ~/.zshrc):
export APTOS_BOT_KEY="your_aptos_bot_key_here"
export GITHUB_PERSONAL_ACCESS_TOKEN="ghp_your_token_here"
export SENTRY_AUTH_TOKEN="your_sentry_token_here"- GitHub β requires a Personal Access Token with
repo,issues, andprojectscopes - Linear β authenticates via browser OAuth on first use (no token needed)
- Google Cloud β requires the
gcloudCLI to be installed and authenticated (gcloud auth login) - Google Drive β authenticates via browser OAuth on first use
Restart your terminal and Claude Code after adding tokens. Never commit them to the repo.