---
title: "GET /markets"
method: GET
path: "/markets"
tags: ["markets"]
---

# GET /markets

`GET /markets`

Returns market data for listed markets, optionally filterable by asset address, name, symbol, underlying address, underlying name or underlying symbol.

**Versioning** (controlled via `accept-version` header):
- `stable` (default): `chainId` is **required**. Response includes a top-level `tokens` array of `TokenMetadata` objects. Markets include `rewardsDistributors` and `pointsDistributions`.
- `next`: `chainId` is optional for cross-chain queries. Token metadata is embedded inside each market as `underlyingTokenMetadata` with nested `tokenPrices`. Supports `accountAddress` for Prime APY data. No top-level `tokens` field.

## Query parameters

- `chainId` string
- `address` string
- `symbol` string
- `name` string
- `underlyingAddress` string
- `underlyingName` string
- `underlyingSymbol` string
- `order` string
- `limit` integer
- `page` integer
- `accountAddress` string

## Headers

- `accept-version` 'stable' | 'next'

## Response `200`

Returns Market data for all listed markets.

- union
  - MarketsStableResponse — Response when using accept-version: stable. chainId is required. Returns a top-level tokens array alongside the paginated market list.
    - `limit` number, required
    - `page` number, required
    - `total` number, required
    - `result` Market[], required
      - `address` string, required
      - `chainId` string, required
      - `symbol` string
      - `name` string
      - `underlyingAddress` string, nullable
      - `underlyingName` string
      - `underlyingSymbol` string
      - `underlyingDecimal` integer
      - `borrowerDailyXvsMantissa` string, nullable
      - `supplierDailyXvsMantissa` string, nullable
      - `xvsBorrowIndex` string, nullable
      - `xvsSupplyIndex` string, nullable
      - `borrowRatePerBlock` string
      - `supplyRatePerBlock` string
      - `exchangeRateMantissa` string
      - `underlyingPriceMantissa` string
      - `totalBorrowsMantissa` string
      - `totalSupplyMantissa` string
      - `cashMantissa` string
      - `totalReservesMantissa` string
      - `reserveFactorMantissa` string
      - `collateralFactorMantissa` string
      - `liquidationThresholdMantissa` string
      - `liquidationIncentiveMantissa` string
      - `isBorrowable` boolean
      - `canBeCollateral` boolean
      - `borrowApy` string
      - `supplyApy` string
      - `borrowApyDecimal` string, nullable
      - `supplyApyDecimal` string, nullable
      - `totalBorrowApyDecimal` string, nullable
      - `totalSupplyApyDecimal` string, nullable
      - `borrowXvsApy` string, nullable
      - `supplyXvsApy` string, nullable
      - `borrowXvsApr` string, nullable
      - `supplyXvsApr` string, nullable
      - `totalSupplyUnderlyingCents` integer
      - `totalBorrowCents` integer
      - `liquidityCents` string
      - `tokenPriceCents` string
      - `totalDistributedMantissa` string, nullable
      - `lastCalculatedXvsAccruedBlockNumber` string, nullable
      - `supplyCapsMantissa` string, nullable
      - `borrowCapsMantissa` string
      - `borrowerCount` integer
      - `supplierCount` integer
      - `estimatedPrimeBorrowApyBoost` string, nullable
      - `estimatedPrimeSupplyApyBoost` string, nullable
      - `pausedActionsBitmap` integer
      - `isListed` boolean
      - `poolComptrollerAddress` string, required
      - `badDebtMantissa` string
      - `isPriceInvalid` boolean
      - `rewardsDistributors` RewardsDistributor[]
        - `id` string, required
        - `rewardTokenAddress` string, required
        - `marketAddress` string, required
        - `chainId` string, required
        - `lastRewardingSupplyBlockOrTimestamp` string, required
        - `lastRewardingBorrowBlockOrTimestamp` string, required
        - `supplySpeed` string, required
        - `borrowSpeed` string, required
        - `priceMantissa` string
        - `rewardsDistributorContractAddress` string, required
        - `rewardType` 'venus' | 'merkl' | 'intrinsic' | 'off-chain' | 'yield-to-maturity', required
        - `rewardDetails` object, nullable
          - `name` string
          - `description` string
          - `merklCampaignId` string
          - `apr` string
          - `apy` string
        - `isActive` boolean, required
      - `pointsDistributions` PointsDistribution[]
        - `id` string, required
        - `pointsProgram` 'ethena' | 'etherfi' | 'kelp' | 'solv' | 'aster', required
        - `marketAddress` string, required
        - `chainId` string, required
        - `action` 'supply' | 'borrow', required
        - `title` string, required
        - `incentive` string, nullable
        - `description` string, nullable
        - `extraInfoUrl` string, nullable
        - `startDate` string, nullable
        - `endDate` string, nullable
      - `eModeSettings` EModeSetting[] — E-mode settings for this market. Present in the stable /pools response only.
        - `id` string, required
        - `chainId` string, required
        - `marketAddress` string, required
        - `poolId` integer, required
        - `collateralFactorMantissa` string, required
        - `liquidationThresholdMantissa` string, required
        - `liquidationIncentiveMantissa` string, required
        - `canBeCollateral` boolean, required
        - `isBorrowable` boolean, required
      - `underlyingTokenMetadata` TokenMetadata[] — Embedded token metadata with price data. Present in the next version response only.
        - `address` string, required
        - `name` string, nullable
        - `symbol` string, nullable
        - `chainId` string, required
        - `decimals` integer, required
        - `maturityDate` string, nullable
        - `tokenPrices` TokenPrice[]
          - `id` string, required
          - `tokenAddress` string, required
          - `tokenWrappedAddress` string, nullable
          - `priceMantissa` string, nullable
          - `chainId` string, required
          - `priceSource` 'oracle' | 'coingecko' | 'merkl', required
          - `priceOracleAddress` string, nullable
          - `mainOracleAddress` string, nullable
          - `mainOracleName` string, nullable
          - `isPriceInvalid` boolean
          - `hasErrorFetchingPrice` boolean
    - `tokens` TokenMetadata[], required — Token metadata (with prices) for every underlying and reward token referenced in result. Not present in the next version — token metadata is embedded inside each market as underlyingTokenMetadata instead.
      - `address` string, required
      - `name` string, nullable
      - `symbol` string, nullable
      - `chainId` string, required
      - `decimals` integer, required
      - `maturityDate` string, nullable
      - `tokenPrices` TokenPrice[]
        - `id` string, required
        - `tokenAddress` string, required
        - `tokenWrappedAddress` string, nullable
        - `priceMantissa` string, nullable
        - `chainId` string, required
        - `priceSource` 'oracle' | 'coingecko' | 'merkl', required
        - `priceOracleAddress` string, nullable
        - `mainOracleAddress` string, nullable
        - `mainOracleName` string, nullable
        - `isPriceInvalid` boolean
        - `hasErrorFetchingPrice` boolean
  - MarketsNextResponse — Response when using accept-version: next. chainId is optional. Token metadata is embedded inside each market as underlyingTokenMetadata. Supports accountAddress for Prime APY data.
    - `limit` number, required
    - `page` number, required
    - `total` number, required
    - `result` Market[], required — Markets with underlyingTokenMetadata (and tokenPrices) embedded in each item. No separate tokens field.
      - `address` string, required
      - `chainId` string, required
      - `symbol` string
      - `name` string
      - `underlyingAddress` string, nullable
      - `underlyingName` string
      - `underlyingSymbol` string
      - `underlyingDecimal` integer
      - `borrowerDailyXvsMantissa` string, nullable
      - `supplierDailyXvsMantissa` string, nullable
      - `xvsBorrowIndex` string, nullable
      - `xvsSupplyIndex` string, nullable
      - `borrowRatePerBlock` string
      - `supplyRatePerBlock` string
      - `exchangeRateMantissa` string
      - `underlyingPriceMantissa` string
      - `totalBorrowsMantissa` string
      - `totalSupplyMantissa` string
      - `cashMantissa` string
      - `totalReservesMantissa` string
      - `reserveFactorMantissa` string
      - `collateralFactorMantissa` string
      - `liquidationThresholdMantissa` string
      - `liquidationIncentiveMantissa` string
      - `isBorrowable` boolean
      - `canBeCollateral` boolean
      - `borrowApy` string
      - `supplyApy` string
      - `borrowApyDecimal` string, nullable
      - `supplyApyDecimal` string, nullable
      - `totalBorrowApyDecimal` string, nullable
      - `totalSupplyApyDecimal` string, nullable
      - `borrowXvsApy` string, nullable
      - `supplyXvsApy` string, nullable
      - `borrowXvsApr` string, nullable
      - `supplyXvsApr` string, nullable
      - `totalSupplyUnderlyingCents` integer
      - `totalBorrowCents` integer
      - `liquidityCents` string
      - `tokenPriceCents` string
      - `totalDistributedMantissa` string, nullable
      - `lastCalculatedXvsAccruedBlockNumber` string, nullable
      - `supplyCapsMantissa` string, nullable
      - `borrowCapsMantissa` string
      - `borrowerCount` integer
      - `supplierCount` integer
      - `estimatedPrimeBorrowApyBoost` string, nullable
      - `estimatedPrimeSupplyApyBoost` string, nullable
      - `pausedActionsBitmap` integer
      - `isListed` boolean
      - `poolComptrollerAddress` string, required
      - `badDebtMantissa` string
      - `isPriceInvalid` boolean
      - `rewardsDistributors` RewardsDistributor[]
        - `id` string, required
        - `rewardTokenAddress` string, required
        - `marketAddress` string, required
        - `chainId` string, required
        - `lastRewardingSupplyBlockOrTimestamp` string, required
        - `lastRewardingBorrowBlockOrTimestamp` string, required
        - `supplySpeed` string, required
        - `borrowSpeed` string, required
        - `priceMantissa` string
        - `rewardsDistributorContractAddress` string, required
        - `rewardType` 'venus' | 'merkl' | 'intrinsic' | 'off-chain' | 'yield-to-maturity', required
        - `rewardDetails` object, nullable
          - `name` string
          - `description` string
          - `merklCampaignId` string
          - `apr` string
          - `apy` string
        - `isActive` boolean, required
      - `pointsDistributions` PointsDistribution[]
        - `id` string, required
        - `pointsProgram` 'ethena' | 'etherfi' | 'kelp' | 'solv' | 'aster', required
        - `marketAddress` string, required
        - `chainId` string, required
        - `action` 'supply' | 'borrow', required
        - `title` string, required
        - `incentive` string, nullable
        - `description` string, nullable
        - `extraInfoUrl` string, nullable
        - `startDate` string, nullable
        - `endDate` string, nullable
      - `eModeSettings` EModeSetting[] — E-mode settings for this market. Present in the stable /pools response only.
        - `id` string, required
        - `chainId` string, required
        - `marketAddress` string, required
        - `poolId` integer, required
        - `collateralFactorMantissa` string, required
        - `liquidationThresholdMantissa` string, required
        - `liquidationIncentiveMantissa` string, required
        - `canBeCollateral` boolean, required
        - `isBorrowable` boolean, required
      - `underlyingTokenMetadata` TokenMetadata[] — Embedded token metadata with price data. Present in the next version response only.
        - `address` string, required
        - `name` string, nullable
        - `symbol` string, nullable
        - `chainId` string, required
        - `decimals` integer, required
        - `maturityDate` string, nullable
        - `tokenPrices` TokenPrice[]
          - `id` string, required
          - `tokenAddress` string, required
          - `tokenWrappedAddress` string, nullable
          - `priceMantissa` string, nullable
          - `chainId` string, required
          - `priceSource` 'oracle' | 'coingecko' | 'merkl', required
          - `priceOracleAddress` string, nullable
          - `mainOracleAddress` string, nullable
          - `mainOracleName` string, nullable
          - `isPriceInvalid` boolean
          - `hasErrorFetchingPrice` boolean

## Other responses

- `400` — Malformed Query

---

[API](https://skmtc.net/venus/apis/venus-protocol-api.md) · [All operations](https://skmtc.net/venus/apis/venus-protocol-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/venus/venus-protocol-api/revisions/742e86bc3ab0/schema)
