Morpho API Changelog
This page tracks Morpho API field deprecations, field removals, and other API changes.
In this changelog:
| Change type | Meaning |
|---|---|
| Field deprecation | A field that is still present in the schema but not maintained anymore. Will be removed at a later stage. |
| Field removal | A field that is or will be removed from the schema. Using this field in a query will throw an error. |
Deprecation/Removal Rollout - May 2026 to October 2026
October 21, 2026 - View scheduled field removals
| Deprecated Field | Replacement | Deprecation date |
|---|---|---|
Asset.priceUsd | price.usd | 2026-03-19 |
Market.oracleAddress | oracle.address | 2025-10-14 |
Market.targetBorrowUtilization | N/A | 2026-04-13 |
Market.targetWithdrawUtilization | N/A | 2026-04-13 |
VaultMetadata.forumLink | N/A | 2026-04-10 |
VaultV2Metadata.forumLink | N/A | 2026-04-10 |
September 30, 2026 - View scheduled field removals
| Deprecated Field | Replacement | Deprecation date |
|---|---|---|
Asset.oraclePriceUsd | price.usd | 2026-02-05 |
Asset.spotPriceEth | N/A | 2026-01-20 |
Asset.totalSupply | N/A | 2026-01-20 |
Market.monthlyApys | state.monthlyApys | 2025-09-09 |
Market.oracleInfo | oracle.data | 2025-10-14 |
VaultState.dailyApy | avgNetApyExcludingRewards | 2026-02-15 |
VaultState.dailyNetApy | avgNetApy | 2026-02-15 |
VaultState.netApyWithoutRewards | netApyExcludingRewards | 2026-02-15 |
VaultState.rewards | allRewards | 2026-03-30 |
VaultState.weeklyApy | avgNetApyExcludingRewards | 2026-02-15 |
VaultState.weeklyNetApy | avgNetApy | 2026-02-15 |
August 26, 2026 - View scheduled field removals
| Deprecated Field | Replacement | Deprecation date |
|---|---|---|
Market.dailyApys | state.dailyApys | 2025-09-09 |
VaultV2.avgApy | avgNetApyExcludingRewards | 2026-02-15 |
July 29, 2026 - View scheduled field removals
| Deprecated Field | Replacement | Deprecation date |
|---|---|---|
Asset.isWhitelisted | isListed | 2025-12-22 |
Market.collateralPrice | state.price | 2025-09-09 |
Market.creatorAddress | morphoBlue | 2026-01-27 |
Query.transactions | vaultV2transactions, vaultV1Transactions, marketTransactions | 2026-04-23 |
User.transactions | vaultV1Transactions, marketTransactions | 2026-04-23 |
VaultState.lastTotalAssets | totalAssets | 2026-04-16 |
June 24, 2026 - View scheduled field removals
| Deprecated Field | Replacement | Deprecation date |
|---|---|---|
Asset.historicalSpotPriceEth | N/A | 2026-01-20 |
Asset.riskAnalysis | N/A | 2026-01-20 |
AssetsFilters.credoraRiskScore_gte | N/A | 2025-11-26 |
AssetsFilters.credoraRiskScore_lte | N/A | 2025-11-26 |
Curator.url | socials.url | 2025-09-09 |
Market.concentration | N/A | 2025-09-09 |
Market.oracleFeed | oracle.data | 2025-10-14 |
Market.riskAnalysis | N/A | 2025-09-09 |
MarketConcentration.borrowHhi | N/A | 2026-01-28 |
MarketConcentration.supplyHhi | N/A | 2026-01-28 |
MarketFilters.credoraRiskScore_gte | N/A | 2025-11-26 |
MarketFilters.credoraRiskScore_lte | N/A | 2025-11-26 |
MarketHistory.fee | N/A | 2026-01-07 |
MarketHistory.price | N/A | 2026-01-19 |
MarketOracleAccuracy.averagePercentDifference | N/A | 2025-09-09 |
MarketOracleAccuracy.maxPercentDifference | N/A | 2025-09-09 |
MarketStateReward.amountPerBorrowedToken | N/A | 2025-09-12 |
MarketStateReward.amountPerSuppliedToken | N/A | 2025-09-12 |
MarketStateReward.yearlyBorrowTokens | N/A | 2025-09-12 |
MarketStateReward.yearlySupplyTokens | N/A | 2025-09-12 |
OracleFeed.description | N/A | 2025-10-08 |
OracleFeed.historicalPrice | N/A | 2025-10-08 |
OracleFeed.pair | N/A | 2025-10-08 |
OracleFeed.price | N/A | 2025-10-08 |
OracleFeed.vendor | N/A | 2025-10-08 |
OracleVault.decimals | N/A | 2025-10-20 |
OracleVault.pair | N/A | 2025-10-20 |
OracleVault.vendor | N/A | 2025-10-20 |
Query.transactionByHash | N/A | 2025-01-02 |
VaultAllocationDto.enabled | N/A | 2026-01-15 |
VaultFilters.credoraRiskScore_gte | N/A | 2025-11-26 |
VaultFilters.credoraRiskScore_lte | N/A | 2025-11-26 |
VaultStateReward.amountPerSuppliedToken | N/A | 2026-03-20 |
VaultStateReward.yearlySupplyTokens | N/A | 2026-03-20 |
May 20, 2026 - View scheduled field removals
| Deprecated Field | Replacement | Deprecation date |
|---|---|---|
AssetsFilters.id_in | address_in | 2026-02-11 |
AssetsFilters.whitelisted | listed | 2025-12-22 |
CuratorFilters.chainId | chainId_in | 2025-09-09 |
Market.allTimeApys | state.allTimeApy | 2025-09-09 |
Market.quarterlyApys | state.quarterlyApys | 2025-09-09 |
Market.uniqueKey | marketId | 2026-03-30 |
Market.weeklyApys | state.weeklyApys | 2025-09-09 |
Market.whitelisted | listed | 2026-01-29 |
Market.yearlyApys | state.yearlyApys | 2025-09-09 |
MarketFilters.collateralAssetId_in | collateralAssetSelector_in | 2026-01-29 |
MarketFilters.id_in | selector_in | 2026-01-29 |
MarketFilters.loanAssetId_in | loanAssetSelector_in | 2026-01-29 |
MarketFilters.whitelisted | listed | 2026-02-27 |
MarketHistory.allTimeNetBorrowApy | allTimeBorrowApy | 2026-01-19 |
MarketHistory.allTimeNetSupplyApy | allTimeSupplyApy | 2026-01-19 |
MarketHistory.rateAtUTarget | apyAtTarget | 2025-12-23 |
MarketPosition.borrowAssets | state.borrowAssets | 2025-09-09 |
MarketPosition.borrowAssetsUsd | state.borrowAssetsUsd | 2025-09-09 |
MarketPosition.borrowShares | state.borrowShares | 2025-09-09 |
MarketPosition.collateral | state.collateral | 2025-09-09 |
MarketPosition.collateralUsd | state.collateralUsd | 2025-09-09 |
MarketPosition.supplyAssets | state.supplyAssets | 2025-09-09 |
MarketPosition.supplyAssetsUsd | state.supplyAssetsUsd | 2025-09-09 |
MarketPosition.supplyShares | state.supplyShares | 2025-09-09 |
MarketPosition.whitelisted | listed | 2026-02-03 |
MarketPositionFilters.marketId_in | marketUniqueKey_in | 2026-02-11 |
MarketPositionFilters.marketWhitelisted | marketListed | 2026-02-27 |
MarketPositionFilters.userId_in | userAddress_in | 2026-01-20 |
MarketState.rateAtUTarget | apyAtTarget | 2026-01-07 |
MarketStateReward.borrowApy | borrowApr | 2024-05-28 |
MarketStateReward.supplyApy | supplyApr | 2024-05-28 |
MorphoBlueFilters.id_in | address_in | 2026-02-11 |
MorphoChainlinkOracleData.vault | baseOracleVault | 2025-09-09 |
MorphoChainlinkOracleV2Data.baseVault | baseOracleVault | 2025-09-09 |
MorphoChainlinkOracleV2Data.quoteVault | quoteOracleVault | 2025-09-09 |
PublicAllocatorFilters.id_in | address_in | 2026-02-11 |
PublicAllocatorSharedLiquidity.allocationMarket | withdrawMarket | 2025-12-17 |
PublicAllocatorSharedLiquidity.market | supplyMarket | 2025-12-17 |
PublicallocatorReallocateFilters.marketId_in | marketSelector_in | 2026-01-27 |
PublicallocatorReallocateFilters.vaultId_in | vaultSelector_in | 2026-01-27 |
Query.asset | assetByAddress | 2026-02-12 |
Query.market | marketById | 2025-09-09 |
Query.marketAverageApys | state | 2025-07-28 |
Query.marketByUniqueKey | marketById | 2026-04-01 |
Query.morphoBlue | morphoBlueByAddress | 2026-02-12 |
Query.search | markets and vaults | 2026-03-20 |
Query.transaction | transactions | 2026-02-12 |
Query.user | userByAddress | 2026-02-12 |
Query.vault | vaultByAddress | 2026-02-12 |
Query.vaultFactory | vaultFactoryByAddress | 2026-02-12 |
RiskAnalysis.isUnderReview | analysis.isUnderReview | 2025-09-09 |
RiskAnalysis.rating | analysis.rating | 2025-09-09 |
RiskAnalysis.score | analysis.score | 2025-09-09 |
RiskAnalysis.timestamp | analysis.timestamp | 2025-09-09 |
TransactionFilters.assetId_in | assetAddress_in | 2026-02-11 |
TransactionFilters.assetSymbol_in | assetAddress_in | 2026-02-16 |
TransactionFilters.marketId_in | marketUniqueKey_in | 2026-02-11 |
TransactionFilters.userId_in | userAddress_in | 2026-02-11 |
TransactionFilters.vaultId_in | vaultAddress_in | 2026-02-11 |
TransactionFilters.assetsUsd_gte | N/A | 2026-02-16 |
TransactionFilters.assetsUsd_lte | N/A | 2026-02-16 |
TransactionFilters.badDebtAssetsUsd_gte | N/A | 2026-02-16 |
TransactionFilters.badDebtAssetsUsd_lte | N/A | 2026-02-16 |
TransactionFilters.repaidAssetsUsd_gte | N/A | 2026-02-16 |
TransactionFilters.repaidAssetsUsd_lte | N/A | 2026-02-16 |
TransactionFilters.seizedAssetsUsd_gte | N/A | 2026-02-16 |
TransactionFilters.seizedAssetsUsd_lte | N/A | 2026-02-16 |
UsersFilters.assetId_in | assetAddress_in | 2026-02-11 |
UsersFilters.id_in | address_in | 2026-02-11 |
UsersFilters.marketId_in | marketUniqueKey_in | 2026-02-11 |
UsersFilters.vaultId_in | vaultAddress_in | 2026-02-11 |
Vault.dailyApy | state.avgNetApyExcludingRewards(lookback: ONE_DAY) | 2026-01-15 |
Vault.dailyApys | state.avgNetApyExcludingRewards(lookback: ONE_DAY) and state.avgNetApy(lookback: ONE_DAY) | 2026-01-15 |
Vault.monthlyApy | state.avgNetApyExcludingRewards(lookback: THIRTY_DAYS) | 2026-01-15 |
Vault.monthlyApys | state.avgNetApyExcludingRewards(lookback: THIRTY_DAYS) and state.avgNetApy(lookback: THIRTY_DAYS) | 2026-01-15 |
Vault.pendingCaps | state.pendingConfigs | 2026-01-15 |
Vault.promoted | featured | 2026-02-11 |
Vault.riskAnalysis | warnings | 2025-11-26 |
Vault.weeklyApys | state.avgNetApyExcludingRewards(lookback: SEVEN_DAYS) and state.avgNetApy(lookback: SEVEN_DAYS) | 2026-01-15 |
Vault.whitelisted | listed | 2026-02-11 |
VaultFilters.assetId_in | assetAddress_in | 2026-02-11 |
VaultFilters.curator_in | curatorAddress_in | 2026-02-11 |
VaultFilters.id_in | address_in | 2026-02-11 |
VaultFilteVaultFilters.promoted | featured | 2026-02-11 |
VaultFilters.whitelisted | listed | 2026-02-11 |
VaultHistoryDto.curator | vault.adminEvents | 2026-04-20 |
VaultHistoryDto.feeRecipient | vault.adminEvents | 2026-04-20 |
VaultHistoryDto.guardian | vault.adminEvents | 2026-04-20 |
VaultHistoryDto.owner | vault.adminEvents | 2026-04-20 |
VaultHistoryDto.sharePrice | sharePriceNumber | 2026-01-15 |
VaultHistoryDto.skimRecipient | vault.adminEvents | 2026-04-20 |
VaultMetadata.curators | state.curators | 2025-09-09 |
VaultPosition.assets | state.assets | 2025-09-09 |
VaultPosition.assetsUsd | state.assetsUsd | 2025-09-09 |
VaultPosition.shares | state.shares | 2025-09-09 |
VaultPosition.whitelisted | listed | 2025-12-22 |
VaultPositionFilters.userId_in | userAddress_in | 2026-01-20 |
VaultPositionFilters.vaultId_in | vaultAddress_in | 2026-01-20 |
VaultPositionFilters.vaultWhitelisted | vaultListed | 2026-02-11 |
VaultReallocateFilters.marketId_in | marketUniqueKey_in | 2026-02-11 |
VaultReallocateFilters.vaultId_in | vaultAddress_in | 2026-02-11 |
VaultState.allTimeApy | avgNetApyExcludingRewards | 2026-02-15 |
VaultState.allTimeNetApy | avgNetApy | 2026-02-15 |
VaultState.avgApy | avgNetApyExcludingRewards | 2026-02-15 |
VaultState.biweeklyApy | avgNetApyExcludingRewards | 2026-02-15 |
VaultState.biweeklyNetApy | avgNetApy | 2026-02-15 |
VaultState.monthlyApy | avgNetApyExcludingRewards | 2026-02-15 |
VaultState.monthlyNetApy | avgNetApy | 2026-02-15 |
VaultState.pendingGuardian | pendingConfigs | 2026-01-15 |
VaultState.pendingGuardianValidAt | pendingConfigs | 2026-01-15 |
VaultState.pendingTimelock | pendingConfigs | 2026-01-15 |
VaultState.pendingTimelockValidAt | pendingConfigs | 2026-01-15 |
VaultState.quarterlyApy | avgNetApyExcludingRewards | 2026-02-15 |
VaultState.quarterlyNetApy | avgNetApy | 2026-02-15 |
VaultState.sharePrice | sharePriceNumber | 2026-01-15 |
VaultState.yearlyApy | avgNetApyExcludingRewards | 2026-02-15 |
VaultState.yearlyNetApy | avgNetApy | 2026-02-15 |
VaultV2.gates | gatesConfig | 2025-11-25 |
VaultV2.whitelisted | listed | 2025-12-22 |
VaultV2sFilters.assetId_in | address_in | 2026-02-11 |
VaultV2sFilters.curator_in | curatorAddress_in | 2025-11-25 |
VaultV2sFilters.whitelisted | listed | 2026-02-11 |
April 23, 2026 - Morpho Vault V1 historical admin fields deprecation
View deprecation details
The jobs backing the admin-address time series on Morpho Vaults V1 have been retired. The following fields remain in the schema for backwards compatibility but are no longer maintained and will be removed at a later stage.
Deprecated fields & alternatives| Field | Alternative |
|---|---|
vault.historicalState.curator | vault.adminEvents(where: { type_in: ["setCurator"] }) |
vault.historicalState.feeRecipient | vault.adminEvents(where: { type_in: ["setFeeRecipient"] }) |
vault.historicalState.guardian | vault.adminEvents(where: { type_in: ["setGuardian"] }) |
vault.historicalState.owner | vault.adminEvents(where: { type_in: ["ownershipTransferred"] }) |
vault.historicalState.skimRecipient | vault.adminEvents(where: { type_in: ["setSkimRecipient"] }) |
Apply the same pattern for the other four fields, using the matching type_in value and ... on <Event>Data fragment:
| Event or field | Fragment or alternative |
|---|---|
setFeeRecipient | SetFeeRecipientEventData { feeRecipient } |
setGuardian | SetGuardianEventData { guardian } |
vault.historicalState.guardian | vault.adminEvents(where: { type_in: ["setGuardian"] }) |
ownershipTransferred | OwnershipEventData { owner } |
setSkimRecipient | SetSkimRecipientEventData { skimRecipient } |
May 6, 2026 - Legacy rewards API deprecation
View deprecation details
Rewards distribution has migrated from the legacy Morpho Universal Rewards Distributor (URD) system to Merkl. All new campaigns from July 2025 onwards use Merkl exclusively.
| Deprecated endpoint | Alternative |
|---|---|
rewards.morpho.org/docs | Deprecated. Historical rewards can still be claimed via rewards-legacy.morpho.org. |
April 2, 2026 - pnl API fields removal
View removal details
Removed fields:
| Removed field |
|---|
vaultPosition.state.roeUsd |
vaultPosition.historicalState.pnl pnlUsd roe roeUsd |
vaultV2Position.roeUsd |
vaultV2Position.historicalState.pnl pnlUsd roe roeUsd |
marketPosition.state.pnl pnlUsd roe roeUsd |
marketPosition.state.supplyPnl supplyPnlUsd supplyRoe supplyRoeUsd |
marketPosition.state.borrowRoeUsd |
marketPosition.state.collateralPnlUsd collateralRoeUsd |
marketPosition.state.marginPnl marginPnlUsd marginRoe marginRoeUsd |
marketPosition.historicalState.supplyPnl supplyPnlUsd supplyRoe supplyRoeUsd |
marketPosition.historicalState.borrowPnl borrowPnlUsd borrowRoe borrowRoeUsd |
marketPosition.historicalState.collateralPnlUsd collateralRoeUsd |
marketPosition.historicalState.marginPnl marginPnlUsd marginRoe marginRoeUsd |
user.state.vaultsPnlUsd vaultsRoeUsd vaultV2sPnlUsd vaultV2sRoeUsdmarketsPnlUsd marketsRoeUsd marketsSupplyPnlUsd marketsSupplyRoeUsdmarketsBorrowPnlUsd marketsBorrowRoeUsd marketsCollateralPnlUsd marketsCollateralRoeUsdmarketsMarginPnlUsd marketsMarginRoeUsd |
user.historicalState.vaultsPnlUsd vaultsRoeUsd vaultV2sPnlUsd vaultV2sRoeUsdmarketsPnlUsd marketsRoeUsd marketsSupplyPnlUsd marketsSupplyRoeUsdmarketsBorrowPnlUsd marketsBorrowRoeUsd marketsCollateralPnlUsd marketsCollateralRoeUsdmarketsMarginPnlUsd marketsMarginRoeUsd |
The fields that will be kept are:
| Kept field | Note |
|---|---|
vaultPosition.state.pnl | — |
vaultPosition.state.pnlUsd | changed definition from "p&l if each interaction was realizing profit/loss in USD" to "currently p&l in underlying assets quoted in USD at the latest price" |
vaultPosition.state.roe | — |
vaultV2Position.pnlpnlUsdroe | — |
marketPosition.state.borrowPnlborrowPnlUsdborrowRoe | — |
April 2, 2026 - API fields removal
View removal details
This is the first removal notice of the Morpho API. One can expect this kind of removal notice every 6 months. This is a cleanup fields removal, removing only fields that are marked as deprecated for more than 1 year, with an alternative or a non longer maintained feature.
Fields removed & alternatives| Field | Alternative |
|---|---|
_crossVersionVaults | NA |
marketAverageApys | market(s).state |
transactionByHash | NA |
marketOracleAccuracy | NA |
asset.historicalSpotPriceEth spotPriceEth riskAnalysis totalSupply | NA |
curators.items.url | curators.items.socials.url |
market(s).allTimeApys dailyApys monthlyApys quaterlyApys weeklyApys yearlyApys | market(s).state.allTimeBorrowApy dailyApys monthlyApys quaterlyApys weeklyApys yearlyApys |
market(s).collateralPrice | market(s).state.price |
market(s).concentration | NA |
market(s).oracleAddress oracleFeed oracleInfo | market(s).oracle.addressmarket(s).oracle.data... (×2) |
vault(s).dailyApy(s) monthlyApy(s) weeklyApy(s) pendingCaps | vault(s).state.dailyApy monthlyApy weeklyApy pendingConfigs |
marketPosition(s).borrowAssets borrowAssetsUsd borrowShares collateral collateralUsd supplyAssets supplyAssetsUsd supplyShares | marketPosition(s).state.borrowAssets borrowAssetsUsd borrowShares collateral collateralUsd supplyAssets supplyAssetsUsd supplyShares |
vaultPosition(s).assets assetsUsd shares | vaultPosition(s).state.assets assetsUsd shares |
on MorphoChainlinkOracleV2Data.baseVault .quoteVaulton MorphoChainlinkOracleData.vault | on MorphoChainlinkOracleV2Data.baseOracleVault .quoteOracleVaulton MorphoChainlinkOracleData.baseOracleVault |
Changes represented by market(s) / vault(s) are also applied to marketByUniqueKey and vaultByAddress queries.
October 16, 2025 - Limiting the maximum complexity of a query
View change details
ActionGraphQL complexity details:
| Item |
|---|
| Max allowed complexity: 1,000,000 |
| Base cost per operation: 10 |
| Each field adds cost; some fields declare explicit costs and/or multipliers. |
For details on how to check your queries' complexity and reduce it if needed, see Maximum complexity of a GraphQL query.
September 20, 2025 - Search limitation
View change details
RationalThe numberOfResults was previously unbounded so the query can yield a huge amount of results which can have an impact on the performance of the Morpho API.
| Parameter | Constraint | Default |
|---|---|---|
numberOfResults | Must be within [0, 1000] in the search root resolver. | 5 |
September 19, 2025 - Fields removal
View removal details
RationalSome rewards fields were wrongly computed since the Merkl integration:
| Affected field | Outcome |
|---|---|
yearlySupplyTokens | Will always be set to 0 and be removed from the schema. |
yearlyBorrowTokens | Will always be set to 0 and be removed from the schema. |
amountPerSuppliedToken | Will always be set to 0 and be removed from the schema. |
amountPerBorrowedToken | Will always be set to 0 and be removed from the schema. |
These fields will always be set to 0 and be removed in the schema.
Troubleshoot
The Morpho API is integrating Merkl, these fields shouldn't be used and instead supplyApy and borrowApy fields should satisfy integrators needs.
The only removed use-cases along with this 4 fields should be:
| Removed use-case |
|---|
| displaying rewards for an unpriced asset |
| computing the apy with a custom price (fdv feature on the Morpho app) |
