{"id":18704978,"url":"https://github.com/aave/aptos-aave-v3","last_synced_at":"2026-01-24T13:37:42.616Z","repository":{"id":254418552,"uuid":"822594985","full_name":"aave/aptos-aave-v3","owner":"aave","description":"Aave's V3 Protocol on Aptos","archived":false,"fork":false,"pushed_at":"2025-01-07T09:09:26.000Z","size":879,"stargazers_count":36,"open_issues_count":1,"forks_count":4,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-01-07T09:35:27.670Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Move","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/aave.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-07-01T12:50:49.000Z","updated_at":"2025-01-07T09:09:32.000Z","dependencies_parsed_at":"2024-08-23T11:12:20.229Z","dependency_job_id":null,"html_url":"https://github.com/aave/aptos-aave-v3","commit_stats":null,"previous_names":["aave/aptos-aave-v3"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aave%2Faptos-aave-v3","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aave%2Faptos-aave-v3/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aave%2Faptos-aave-v3/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aave%2Faptos-aave-v3/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/aave","download_url":"https://codeload.github.com/aave/aptos-aave-v3/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":239567891,"owners_count":19660574,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-07T12:09:19.753Z","updated_at":"2026-01-24T13:37:42.610Z","avatar_url":"https://github.com/aave.png","language":"Move","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n    \u003ca href=\"https://aptos.aave.com/\"\u003e\n      \u003cimg src=\"./assets/logo.png\" alt=\"Logo\" style=\"transform: scale(0.7);\"\u003e\n    \u003c/a\u003e\n    \u003ch1 align=\"center\"\u003eAave's V3 Protocol on Aptos\u003c/h1\u003e\n    \u003cp align=\"center\"\u003e\n        This is the official Aptos version of the Aave V3 Protocol.\n    \u003c/p\u003e\n    \u003cp align=\"center\"\u003e\n        \u003ca href=\"https://github.com/aave/aptos-aave-v3/actions/workflows/unit_tests.yml\"\u003e\n            \u003cimg src=\"https://github.com/aave/aptos-aave-v3/actions/workflows/unit_tests.yml/badge.svg\" alt=\"CI\"\u003e\n        \u003c/a\u003e\n        \u003ca href=\"https://codecov.io/gh/aave/aptos-aave-v3\"\u003e\n          \u003cimg src=\"https://codecov.io/gh/aave/aptos-aave-v3/graph/badge.svg?token=OSHPA0N2BQ\" alt=\"Coverage\"/\u003e\n        \u003c/a\u003e\n        \u003ca href=\"https://github.com/aave/aptos-aave-v3/blob/main/LICENSE\"\u003e\n          \u003cimg src=\"https://img.shields.io/badge/license-Apache--2.0-007EC7.svg\" alt=\"License\"/\u003e\n        \u003c/a\u003e\n    \u003c/p\u003e\n    \u003cp align=\"center\"\u003e\n        \u003ca href=\"https://aave.com/docs\"\u003e📚 Documentation\u003c/a\u003e\n        \u003cspan\u003e\u0026nbsp;\u003c/span\u003e\n        \u003ca href=\"https://github.com/aave/aptos-aave-v3/issues/new?labels=bug\u0026template=bug-report---.md\"\u003e🐛 Report Bug\u003c/a\u003e\n        \u003cspan\u003e\u0026nbsp;\u003c/span\u003e\n        \u003ca href=\"https://github.com/aave/aptos-aave-v3/issues/new?labels=enhancement\u0026template=feature-request---.md\"\u003e✨ Request Feature\u003c/a\u003e\n    \u003c/p\u003e\n\u003c/div\u003e\n\n---\n\n```bash=\n├── aave-acl                // Access control list Package\n├── aave-config             // Configurator Package\n├── aave-data               // Data \u0026 Deployment Configurations\n├── aave-large-packages     // Large Packages Package\n├── aave-math               // Math library Package\n├── aave-mock-underlyings   // Mock Underlyings Package\n├── aave-oracle             // Oracle Package\n├── aave-core               // Core Package\n```\n\n---\n\n## 📊 Inter-package Dependency Graph\n\n```mermaid\nflowchart TD\n\n  %% Level 1\n  aave-config\n  chainlink-data-feeds\n  aave-large-packages\n  aave-mock-underlyings\n\n  %% Level 2\n  aave-acl --\u003e aave-config\n  aave-math --\u003e aave-config\n\n  %% Level 3\n  aave-oracle --\u003e aave-config\n  aave-oracle --\u003e aave-acl\n  aave-oracle --\u003e chainlink-data-feeds\n\n  %% Level 4\n  aave-pool --\u003e aave-acl\n  aave-pool --\u003e aave-config\n  aave-pool --\u003e aave-math\n  aave-pool --\u003e aave-oracle\n\n  %% Level 5\n  aave-data --\u003e aave-acl\n  aave-data --\u003e aave-config\n  aave-data --\u003e aave-oracle\n  aave-data --\u003e aave-data\n  aave-data --\u003e aave-pool\n```\n\n---\n\n## 🚀 Getting Started\n\n### 1. 🧩 Clone the Repository\n\n```bash\ngit clone https://github.com/aave/aptos-aave-v3.git \u0026\u0026 cd aptos-aave-v3\n```\n\n---\n\n### 2. 🛠️ Prerequisites\n\nMake sure the following tools are installed:\n\n- [Aptos CLI](https://aptos.dev/tools/aptos-cli/)\n- [yq](https://github.com/mikefarah/yq)\n- [Node.js + pnpm](https://pnpm.io/installation)\n- [codespell](https://pypi.org/project/codespell/)\n- [pre-commit](https://pre-commit.com/#install)\n- [Python 3](https://www.python.org/downloads/)\n- [GNU Make](https://www.gnu.org/software/make/)\n\n---\n\n## 🧪 Running a Local Testnet\n\n### 🧰 Option 1: Using Makefile\n\nStart by copying `.env.template` to `.env` and editing any relevant values.\n\n#### ✅ Start the testnet\n\n```bash\nmake local-testnet\n```\n\n#### ✅ With indexer (e.g. for Petra Wallet support)\n\n```bash\nmake local-testnet-with-indexer\n```\n\n#### 🔧 Configure workspace\n\n```bash\nmake set-workspace-config \\\n  \u0026\u0026 make init-workspace-config \\\n  \u0026\u0026 make init-profiles \\\n  \u0026\u0026 make init-test-profiles \\\n  \u0026\u0026 make fund-profiles \\\n  \u0026\u0026 make fund-test-profiles\n```\n\nThis will initialize, configure, and fund local accounts with APT.\n\n#### 🛠️ Compile \u0026 Deploy\n\n```bash\nmake compile-all\nmake publish-all\n```\n\n#### 🌐 View your local testnet\n\n[https://explorer.aptoslabs.com/?network=local](https://explorer.aptoslabs.com/?network=local)\n\n---\n\n### 🐳 Option 2: Using `aave-test-kit` (Docker)\n\n[`aave-test-kit`](aave-test-kit/README.md) is a local simulation environment for Aave on Aptos, inspired by Tenderly.\n\n➡️ See the linked README for Docker-based setup and usage.\n\n---\n\n## 🧪 Testing\n\n### ✅ Run Unit Tests (Move)\n\nThese do **not require a local testnet**.\n\n```bash\nmake test-all\n```\n\n---\n\n### 🔬 Run TypeScript Integration Tests\n\nThese must be run **after successful contract deployment**:\n\n```bash\nmake ts-test\n```\n\n---\n\n## 📝 Generate Aptos Move Docs\n\nGenerate full module documentation across all packages:\n\n```bash\nmake doc-all\n```\n\nDocs will be generated under each package's `doc/` directory.\n\n---\n\n## 🧰 TypeScript SDK\n\nA TypeScript SDK is available for interacting with the Aave V3 Protocol on Aptos directly from your applications.\n\n### 📦 Install via npm\n\n```bash\npnpm add @aave/aave-v3-aptos-ts-sdk\n# or\nnpm install @aave/aave-v3-aptos-ts-sdk\n```\n\n### 📘 Explore the SDK\n\n👉 **[View on npm](https://www.npmjs.com/package/@aave/aave-v3-aptos-ts-sdk)**\nBrowse available functions, types, and usage examples.\n\n📖 For full usage details, please refer to the [README documentation](https://www.npmjs.com/package/@aave/aave-v3-aptos-ts-sdk#readme) on the npm package page.\n\n---\n\n## 🔐 Security Audits\n\nAll audit reports related to Aave's Move implementation on Aptos are stored in the `/audits` directory at the root of this repository.\n\n### 📁 Audit Directory Structure\n\n```bash\n/audits\n├── Certora Aave Aptos Core V3.0.2 Report.pdf\n├── Certora Aave Aptos Core V3.1-V3.3 Report.pdf\n├── Certora Aave Aptos Periphery V3.0.2 Report.pdf\n├── Ottersec Aave Aptos V3.1-V3.3 Report.pdf\n├── Spearbit Aave Aptos Core V3.0.2 Report.pdf\n├── Spearbit Aave Aptos Core V3.1-V3.3 Report.pdf\n└── Spearbit Aave Aptos Periphery V3.0.2 Report.pdf\n```\n\n📂 [Browse Audit Reports](/audits)\n\n---\n\n## 📚 Aave Move Smart Contract Docs\n\nOfficial documentation for Aave's Move-based smart contracts is now available via GitHub Pages.\n\nThe docs are auto-generated from each package and published using [MkDocs Material](https://squidfunk.github.io/mkdocs-material/), with clean navigation and search.\n\n### 📥 Explore the Docs\n\n👉 **[View Smart Contract Documentation](https://aave.github.io/aptos-aave-v3)**\nBrowse all modules, structs, functions, and events used across Aave's V3 Aptos packages.\n\n---\n\n## 📜 Running Examples\n\nIn 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.\n\n### 🛠️ Compile Example Scripts\n\nExample are compiled separately via calling the main commands listed under `./examples/Makefile`:\n\n```bash\n# For testnet\nmake compile-scripts-testnet\n\n# For mainnet\nmake compile-scripts-mainnet\n```\n\n### 🚀 Execute Example Scripts\n\nOnce compiled, scripts can be executed against the target network compiled above. For example:\n\n```bash\n# Simple flashloan example\nmake execute-flashloan-simple\n\n# Complex flashloan example\nmake execute-flashloan-complex\n```\n\nEach 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.\n\n🔍 These scripts are primarily intended as examples and tests of protocol functionality, such as taking and repaying flashloans.\n\n---\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faave%2Faptos-aave-v3","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Faave%2Faptos-aave-v3","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faave%2Faptos-aave-v3/lists"}