Get markets / reserves
get_marketsList Aave markets/reserves (symbol, APY, caps, liquidity) on v3, v4, or both. Chain coverage: omit chainId and every response states the chains it read as 'chainsCovered', plus 'chainsNotCovered' when it read fewer than all of them. 'chainsNotServed', when present, lists chains this API holds no market on: Aave supports the chain, there is nothing here to read, so an empty result for one of them is not an answer about that chain, and asking again returns the same nothing. v4 always covers every chain it serves; v3 covers every chain when you pass 'symbols' and Ethereum alone when you do not, because an unfiltered 21-chain listing is hundreds of kilobytes. So to compare one asset across chains, pass symbols and no chainId. Every rate is a percent ('3.32' means 3.32%), named with a Pct suffix. Do not rank on APY alone: 'suppliable'/'borrowable' (v4), 'availableLiquidity' and 'totalSuppliedUsd' (v3) say whether a rate can actually be entered, and isFrozen / isPaused / supplyCapReached / borrowCapReached appear only when set, so a reserve with none of them is not flagged. Both versions return one row per reserve under 'reserves', carrying supplyApyPct and borrowApyPct together plus canSupply / canBorrow for the sides that are actually open, so the two versions read the same way. On v4 one asset appears once per spoke, so rows are labelled with 'spoke' and 'hub'; spokes sharing a hub share its rate, so identical APYs across rows are expected rather than duplicates. 'canSwapFrom' (v4) says whether that token can be the sell side of a token swap, which is the per-reserve form of what get_swappable_tokens answers per chain.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| user | No | Optional wallet address (0x, 40 hex). Adds walletBalance, youCanSupply and youCanBorrow to every row, for this wallet, in the same call. Pass it whenever the question is about what someone can actually do rather than what the rates are. | |
| chainId | No | Chain id to restrict to, e.g. 1 for Ethereum. Omit the argument entirely to cover every chain. | |
| symbols | No | Optional token symbols to return, e.g. ['USDC','GHO']. Case-insensitive. Strongly preferred when you know the asset: a chain has ~70 reserves and listing them all is a large response. | |
| version | No | Protocol version (default all). |