# Core Pools

{% hint style="info" %}
**HyperLend Core Pools are based on Aave V3 contracts.**
{% endhint %}

The source code of the HyperLend Core contracts is available on [GitHub](https://github.com/hyperlendx/hyperlend-core).

***

**Pool**

The `Pool` contract is the main entry point into the Hyperlend Core Pools. Most user interactions with the protocol occur through this contract.&#x20;

**PoolConfigurator**

The `PoolConfigurator` provides configuration methods for the `Pool` contract. The write methods in this contract can only be called by addresses with the appropriate permissioned system roles managed by the `ACLManager`.

***

**PoolAddressesProvider**

The `PoolAddressesProvider` acts as a registry for various protocol components, including the  `Pool`contract. It also can modify the implementation of proxy contracts.

***

**Oracle**

The `Oracle` is the registry of oracles used to fetch asset prices and manage price sources.

**ProtocolDataProvider**

The `ProtocolDataProvider`collects and preprocesses information from the `Pool`contract, making it easier to use.

**InterestRateStrategy**

The `InterestRateStrategy` contract calculates the interest rates based on the state of the reserve.

***

**hToken**

`hTokens` are yield-generating tokens minted and burned upon the supply and withdrawal of assets to and from the Hyperlend Pool.

**VariableDebtToken**

`VariableDebtTokens` are non-transferable tokens that accrue interest, representing borrow positions with variable borrow rates.

***


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.hyperlend.finance/developer-documentation/core-pools.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
