Introduction
1.1 Overview
The Aave Core V3 SRC repository contains the core implementation of Aave’s decentralized lending and borrowing protocol. Aave enables users to deposit assets, earn interest, and use their deposits as collateral to borrow other assets in a trustless, non-custodial manner. It also provides advanced features such as flash loans and dynamic interest rate switching. While the protocol is built on Ethereum using Solidity and widely adopted libraries (e.g., OpenZeppelin), this documentation focuses specifically on Aave’s unique architecture and design decisions.
1.2 Purpose and Scope
This documentation is intended for developers, auditors, and contributors who are familiar with Ethereum and Solidity but are new to Aave. The goals are to:
- Explain the architecture and design choices of Aave’s core protocol.
- Detail the functionality and interrelationships of the contracts, libraries, and modules.
- Provide guidance on building, testing, and deploying the system.
- Outline best practices for contributing to and extending the codebase.
It serves as both an overview and a reference guide for understanding and working with the Aave Core V3 SRC repository.
1.3 How to Use This Documentation
The documentation is organized into multiple sections, each addressing a different aspect of the repository:
- Getting Started: Covers prerequisites, installation, setup, and deployment instructions.
- Repository Structure: Provides a detailed breakdown of the SRC folder’s organization, including contracts, deployments, mocks, and utilities.
- Contracts Documentation: Offers in-depth explanations of the dependencies, extensions, helpers, instances, and core protocol components.
- Deployments: Describes the deployment procedures, scripts, and utilities.
- Contribution Guidelines: Outlines coding standards, commit conventions, testing processes, and the code review workflow.
- Appendix: Includes a glossary, references, change logs, and FAQs.
Each section is designed to be a standalone reference so that you can quickly navigate to the area relevant to your needs as you explore or contribute to the project.

