> ## Documentation Index
> Fetch the complete documentation index at: https://docs.compasslabs.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# List aave markets

> List Aave lending markets with supply and borrow rates.

Returns rates organized by token symbol, with chain-specific data for each token. Each token includes rates for all chains where it's available, plus information about which chain offers the highest supply APY.

APY values are returned in percentage format (e.g., 4.5 means 4.5%). Tokens with zero APY on both supply and borrow are excluded.

To deposit into an Aave market, use the [manage endpoint](https://docs.compasslabs.ai/v2/api-reference/earn/manage-earn-position) with `venue_type=AAVE`.



## OpenAPI

````yaml /v2/combined_spec.json get /v2/earn/aave_markets
openapi: 3.1.0
info:
  title: Compass API
  description: Compass Labs DeFi API
  version: 0.0.1
servers:
  - url: https://api.compasslabs.ai
    description: Production server
security:
  - ApiKeyAuth: []
paths:
  /v2/earn/aave_markets:
    get:
      tags:
        - Earn
      summary: List aave markets
      description: >-
        List Aave lending markets with supply and borrow rates.


        Returns rates organized by token symbol, with chain-specific data for
        each token. Each token includes rates for all chains where it's
        available, plus information about which chain offers the highest supply
        APY.


        APY values are returned in percentage format (e.g., 4.5 means 4.5%).
        Tokens with zero APY on both supply and borrow are excluded.


        To deposit into an Aave market, use the [manage
        endpoint](https://docs.compasslabs.ai/v2/api-reference/earn/manage-earn-position)
        with `venue_type=AAVE`.
      operationId: v2_earn_aave_markets
      parameters:
        - name: chain
          in: query
          required: false
          schema:
            anyOf:
              - $ref: '#/components/schemas/Chain'
              - type: 'null'
            title: Chain
            default: null
          description: >-
            Optional chain filter. If not provided, returns rates for all
            chains.
        - name: days
          in: query
          required: false
          schema:
            type: integer
            maximum: 30
            minimum: 1
            default: 30
            title: Days
          description: >-
            Window in days used to compute `supply_apy_avg` / `borrow_apy_avg`.
            Mirrors the `days` parameter of the v1 `/v1/aave/avg_rate` endpoint.
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListAaveMarketsResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      x-codeSamples:
        - lang: python
          label: Python (SDK)
          source: |-
            from compass_api_sdk import CompassAPI


            with CompassAPI(
                api_key_auth="<YOUR_API_KEY_HERE>",
            ) as compass_api:

                res = compass_api.earn.earn_aave_markets(days=30)

                # Handle response
                print(res)
        - lang: typescript
          label: Typescript (SDK)
          source: |-
            import { CompassApiSDK } from "@compass-labs/api-sdk";

            const compassApiSDK = new CompassApiSDK({
              apiKeyAuth: "<YOUR_API_KEY_HERE>",
            });

            async function run() {
              const result = await compassApiSDK.earn.earnAaveMarkets({
                days: 30,
              });

              console.log(result);
            }

            run();
components:
  schemas:
    Chain:
      type: string
      enum:
        - base
        - ethereum
        - arbitrum
        - hyperevm
        - tempo
        - bsc
      title: Chain
      description: The chain to use.
    ListAaveMarketsResponse:
      properties:
        markets:
          additionalProperties:
            $ref: '#/components/schemas/TokenMarketData'
          type: object
          title: Markets
          description: >-
            Market data keyed by token symbol. Each token contains
            chain-specific data and information about which chain has the
            highest supply APY.
          example:
            USDC:
              chains:
                arbitrum:
                  a_token_address: '0x724dc807b04555b71ed48a6896b6F41593b8C637'
                  address: '0xaf88d065e77c8cC2239327C5EDb3A432268e5831'
                  available_liquidity: '400000.00'
                  borrow_apy: '4.80'
                  borrow_apy_avg: '4.70'
                  liquidation_threshold: '78.00'
                  ltv: '75.00'
                  reserves:
                    - a_token_address: '0x724dc807b04555b71ed48a6896b6F41593b8C637'
                      address: '0xaf88d065e77c8cC2239327C5EDb3A432268e5831'
                      available_liquidity: '400000.00'
                      borrow_apy: '4.80'
                      borrow_apy_avg: '4.70'
                      liquidation_threshold: '78.00'
                      ltv: '75.00'
                      supply_apy: '3.10'
                      supply_apy_avg: '3.05'
                      total_borrowed: '600000.00'
                      utilization_rate: '60.00'
                    - a_token_address: '0x625E7708f30cA75bfd92586e17077590C60eb4cD'
                      address: '0xFF970A61A04b1cA14834A43f5dE4533eBDDB5CC8'
                      available_liquidity: '100000.00'
                      borrow_apy: '5.60'
                      borrow_apy_avg: '5.50'
                      liquidation_threshold: '0.00'
                      ltv: '0.00'
                      supply_apy: '2.40'
                      supply_apy_avg: '2.35'
                      total_borrowed: '100000.00'
                      utilization_rate: '50.00'
                  supply_apy: '3.10'
                  supply_apy_avg: '3.05'
                  total_borrowed: '600000.00'
                  utilization_rate: '60.00'
                base:
                  a_token_address: '0x4e65fE4DbA92790696d040ac24Aa414708F5c0AB'
                  address: '0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913'
                  available_liquidity: '1234567.68'
                  borrow_apy: '7.35'
                  borrow_apy_avg: '7.10'
                  liquidation_threshold: '80.00'
                  ltv: '77.00'
                  reserves:
                    - a_token_address: '0x4e65fE4DbA92790696d040ac24Aa414708F5c0AB'
                      address: '0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913'
                      available_liquidity: '1234567.68'
                      borrow_apy: '7.35'
                      borrow_apy_avg: '7.10'
                      liquidation_threshold: '80.00'
                      ltv: '77.00'
                      supply_apy: '5.10'
                      supply_apy_avg: '4.95'
                      total_borrowed: '987654.32'
                      utilization_rate: '44.40'
                  supply_apy: '5.10'
                  supply_apy_avg: '4.95'
                  total_borrowed: '987654.32'
                  utilization_rate: '44.40'
                ethereum:
                  a_token_address: '0x98C23E9d8f34FEFb1B7BD6a91B7FF122F4e16F5c'
                  address: '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48'
                  available_liquidity: '2345678.11'
                  borrow_apy: '6.21'
                  borrow_apy_avg: '6.05'
                  liquidation_threshold: '80.00'
                  ltv: '77.00'
                  reserves:
                    - a_token_address: '0x98C23E9d8f34FEFb1B7BD6a91B7FF122F4e16F5c'
                      address: '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48'
                      available_liquidity: '2345678.11'
                      borrow_apy: '6.21'
                      borrow_apy_avg: '6.05'
                      liquidation_threshold: '80.00'
                      ltv: '77.00'
                      supply_apy: '4.52'
                      supply_apy_avg: '4.41'
                      total_borrowed: '1234567.89'
                      utilization_rate: '34.50'
                  supply_apy: '4.52'
                  supply_apy_avg: '4.41'
                  total_borrowed: '1234567.89'
                  utilization_rate: '34.50'
              max_supply_apy:
                a_token_address: '0x4e65fE4DbA92790696d040ac24Aa414708F5c0AB'
                address: '0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913'
                borrow_apy: '7.35'
                chain: base
                supply_apy: '5.10'
      type: object
      required:
        - markets
      title: ListAaveMarketsResponse
      description: Response containing Aave market rates organized by token symbol.
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    TokenMarketData:
      properties:
        chains:
          additionalProperties:
            $ref: '#/components/schemas/ChainMarketInfo'
          type: object
          title: Chains
          description: >-
            Market data per chain. Keys are chain names (ethereum, base,
            arbitrum).
        max_supply_apy:
          $ref: '#/components/schemas/MaxSupplyApyInfo'
          description: >-
            Information about the chain with the highest supply APY for this
            token.
      type: object
      required:
        - chains
        - max_supply_apy
      title: TokenMarketData
      description: Market data for a single token across all chains.
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
              - type: string
              - type: integer
          type: array
          title: Location
        msg:
          type: string
          title: Message
        type:
          type: string
          title: Error Type
      type: object
      required:
        - loc
        - msg
        - type
      title: ValidationError
    ChainMarketInfo:
      properties:
        address:
          type: string
          title: Address
          description: >-
            Underlying token (reserve) contract address on this chain. This is
            Aave's canonical per-reserve identifier.
        a_token_address:
          type: string
          title: A Token Address
          description: >-
            Aave aToken contract address on this chain. This is the
            interest-bearing token that represents the supply position.
        supply_apy:
          type: string
          title: Supply Apy
          description: >-
            Variable rate APY for deposits, in percentage (e.g., 4.5 means
            4.5%).
        borrow_apy:
          type: string
          title: Borrow Apy
          description: Variable rate APY for loans, in percentage (e.g., 6.2 means 6.2%).
        supply_apy_avg:
          type: string
          title: Supply Apy Avg
          description: >-
            Variable rate APY for deposits averaged over the `days` window in
            the request (default 30 days), in percentage. Computed the same way
            as the v1 `/v1/aave/avg_rate` endpoint.
        borrow_apy_avg:
          type: string
          title: Borrow Apy Avg
          description: >-
            Variable rate APY for loans averaged over the `days` window in the
            request (default 30 days), in percentage. Computed the same way as
            the v1 `/v1/aave/avg_rate` endpoint.
        total_borrowed:
          type: string
          title: Total Borrowed
          description: >-
            Total amount currently borrowed from this market, in token units
            (e.g., 1234567.89 USDC).
        available_liquidity:
          type: string
          title: Available Liquidity
          description: >-
            Amount of tokens available to borrow, in token units. Equals total
            supplied minus total borrowed.
        utilization_rate:
          type: string
          title: Utilization Rate
          description: >-
            Percentage of supplied tokens that are currently borrowed (e.g.,
            85.0 means 85%).
        ltv:
          type: string
          title: Ltv
          description: >-
            Maximum loan-to-value when this reserve is used as collateral, in
            percentage (e.g., 80.0 means 80%). This is the highest LTV you can
            borrow at against this asset; 0 means it cannot be used as
            collateral.
        liquidation_threshold:
          type: string
          title: Liquidation Threshold
          description: >-
            Liquidation threshold when this reserve is used as collateral, in
            percentage (e.g., 82.5 means 82.5%). A position whose LTV crosses
            this can be liquidated; 0 means the asset cannot be used as
            collateral.
        reserves:
          items:
            $ref: '#/components/schemas/ReserveInfo'
          type: array
          title: Reserves
          description: >-
            Every Aave reserve for this token on this chain, ordered by
            liquidity (highest first). Identified by underlying `address`. For
            most tokens this has a single entry equal to the canonical reserve
            above; where a chain has multiple reserves for one symbol (e.g.
            Arbitrum native USDC and bridged USDC.e), all are listed with their
            individual rates.
          default: []
      type: object
      required:
        - address
        - a_token_address
        - supply_apy
        - borrow_apy
        - supply_apy_avg
        - borrow_apy_avg
        - total_borrowed
        - available_liquidity
        - utilization_rate
        - ltv
        - liquidation_threshold
      title: ChainMarketInfo
      description: >-
        Rate information for a token on a specific chain.


        The top-level fields describe the canonical (highest-liquidity) reserve
        for this

        token on this chain, preserving the original single-reserve shape.
        `reserves`

        lists every reserve for the token on this chain so clients can
        disambiguate

        cases like native USDC vs bridged USDC.e on Arbitrum.
    MaxSupplyApyInfo:
      properties:
        chain:
          type: string
          title: Chain
          description: Chain name with the highest supply APY for this token.
        address:
          type: string
          title: Address
          description: Token contract address on the chain with highest supply APY.
        a_token_address:
          type: string
          title: A Token Address
          description: Aave aToken contract address on the chain with highest supply APY.
        supply_apy:
          type: string
          title: Supply Apy
          description: >-
            The highest supply APY for this token across all chains, in
            percentage.
        borrow_apy:
          type: string
          title: Borrow Apy
          description: Borrow APY on the chain with the highest supply APY, in percentage.
      type: object
      required:
        - chain
        - address
        - a_token_address
        - supply_apy
        - borrow_apy
      title: MaxSupplyApyInfo
      description: Information about the chain with the highest supply APY for a token.
    ReserveInfo:
      properties:
        address:
          type: string
          title: Address
          description: >-
            Underlying token (reserve) contract address on this chain. This is
            Aave's canonical per-reserve identifier.
        a_token_address:
          type: string
          title: A Token Address
          description: >-
            Aave aToken contract address on this chain. This is the
            interest-bearing token that represents the supply position.
        supply_apy:
          type: string
          title: Supply Apy
          description: >-
            Variable rate APY for deposits, in percentage (e.g., 4.5 means
            4.5%).
        borrow_apy:
          type: string
          title: Borrow Apy
          description: Variable rate APY for loans, in percentage (e.g., 6.2 means 6.2%).
        supply_apy_avg:
          type: string
          title: Supply Apy Avg
          description: >-
            Variable rate APY for deposits averaged over the `days` window in
            the request (default 30 days), in percentage. Computed the same way
            as the v1 `/v1/aave/avg_rate` endpoint.
        borrow_apy_avg:
          type: string
          title: Borrow Apy Avg
          description: >-
            Variable rate APY for loans averaged over the `days` window in the
            request (default 30 days), in percentage. Computed the same way as
            the v1 `/v1/aave/avg_rate` endpoint.
        total_borrowed:
          type: string
          title: Total Borrowed
          description: >-
            Total amount currently borrowed from this market, in token units
            (e.g., 1234567.89 USDC).
        available_liquidity:
          type: string
          title: Available Liquidity
          description: >-
            Amount of tokens available to borrow, in token units. Equals total
            supplied minus total borrowed.
        utilization_rate:
          type: string
          title: Utilization Rate
          description: >-
            Percentage of supplied tokens that are currently borrowed (e.g.,
            85.0 means 85%).
        ltv:
          type: string
          title: Ltv
          description: >-
            Maximum loan-to-value when this reserve is used as collateral, in
            percentage (e.g., 80.0 means 80%). This is the highest LTV you can
            borrow at against this asset; 0 means it cannot be used as
            collateral.
        liquidation_threshold:
          type: string
          title: Liquidation Threshold
          description: >-
            Liquidation threshold when this reserve is used as collateral, in
            percentage (e.g., 82.5 means 82.5%). A position whose LTV crosses
            this can be liquidated; 0 means the asset cannot be used as
            collateral.
      type: object
      required:
        - address
        - a_token_address
        - supply_apy
        - borrow_apy
        - supply_apy_avg
        - borrow_apy_avg
        - total_borrowed
        - available_liquidity
        - utilization_rate
        - ltv
        - liquidation_threshold
      title: ReserveInfo
      description: >-
        Rate and liquidity information for a single Aave reserve on a chain.


        A reserve is identified by its underlying token `address` — Aave's
        canonical

        reserve identifier. The same token symbol can map to more than one
        reserve on a

        chain (e.g. native USDC and bridged USDC.e on Arbitrum), each with its
        own rates

        and liquidity.
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: x-api-key
      description: >-
        Your Compass API Key. Get your key
        [here](https://www.compasslabs.ai/dashboard).

````