# UiIncentiveDataProviderV3

{% hint style="info" %}
This contract is a **read-only aggregator** for incentive data. It is designed for **frontends** to fetch:

* Global reserve incentives (what rewards exist, how much is emitted).
* User-specific incentive state (how many rewards are claimable).
* Or both in one optimized call.
  {% endhint %}

#### Functions

* **getFullReservesIncentiveData(provider, user) → (AggregatedReserveIncentiveData\[], UserReserveIncentiveData\[])**\
  Returns all **global incentives configuration** and the **user-specific incentive data** in one call.
  * `provider`: Address of the PoolAddressesProvider.
  * `user`: Wallet address to check.
  * **Outputs**:
    * `AggregatedReserveIncentiveData[]`: Incentives setup for each reserve (deposit aToken, variable debt vToken, stable debt sToken). Includes emission rates, reward token info, price feeds, and controller addresses.
    * `UserReserveIncentiveData[]`: For the given user, detailed data about unclaimed rewards and indexes across aToken, vToken, and sToken.

***

* **getReservesIncentivesData(provider) → (AggregatedReserveIncentiveData\[])**\
  Returns **only global incentives configuration** for all reserves (no user-specific data).
  * `provider`: Address of the PoolAddressesProvider.
  * **Outputs**:
    * `AggregatedReserveIncentiveData[]`: Same structure as above, with all reserve-level incentive parameters.

***

* **getUserReservesIncentivesData(provider, user) → (UserReserveIncentiveData\[])**\
  Returns **only the user-specific incentive data**.
  * `provider`: Address of the PoolAddressesProvider.
  * `user`: Wallet address to check.
  * **Outputs**:
    * `UserReserveIncentiveData[]`: For each reserve, lists user unclaimed rewards, indexes, reward token decimals, and price feed info.

```
[
  {
    "inputs": [
      { "internalType": "contract IPoolAddressesProvider", "name": "provider", "type": "address" },
      { "internalType": "address", "name": "user", "type": "address" }
    ],
    "name": "getFullReservesIncentiveData",
    "outputs": [
      {
        "internalType": "struct IUiIncentiveDataProviderV3.AggregatedReserveIncentiveData[]",
        "name": "",
        "type": "tuple[]"
      },
      {
        "internalType": "struct IUiIncentiveDataProviderV3.UserReserveIncentiveData[]",
        "name": "",
        "type": "tuple[]"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      { "internalType": "contract IPoolAddressesProvider", "name": "provider", "type": "address" }
    ],
    "name": "getReservesIncentivesData",
    "outputs": [
      {
        "internalType": "struct IUiIncentiveDataProviderV3.AggregatedReserveIncentiveData[]",
        "name": "",
        "type": "tuple[]"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      { "internalType": "contract IPoolAddressesProvider", "name": "provider", "type": "address" },
      { "internalType": "address", "name": "user", "type": "address" }
    ],
    "name": "getUserReservesIncentivesData",
    "outputs": [
      {
        "internalType": "struct IUiIncentiveDataProviderV3.UserReserveIncentiveData[]",
        "name": "",
        "type": "tuple[]"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  }
]

```


---

# 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://colend.gitbook.io/home/abi/uiincentivedataproviderv3.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.
