Are you an LLM? Read llms.txt for a summary of the docs, or llms-full.txt for the full context.
Skip to content

Morpho API Changelog

This page tracks Morpho API field deprecations, field removals, and other API changes.

In this changelog:

Change typeMeaning
Field deprecationA field that is still present in the schema but not maintained anymore. Will be removed at a later stage.
Field removalA 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 FieldReplacementDeprecation date
Asset.priceUsdprice.usd2026-03-19
Market.oracleAddressoracle.address2025-10-14
Market.targetBorrowUtilizationN/A2026-04-13
Market.targetWithdrawUtilizationN/A2026-04-13
VaultMetadata.forumLinkN/A2026-04-10
VaultV2Metadata.forumLinkN/A2026-04-10
September 30, 2026 - View scheduled field removals
Deprecated FieldReplacementDeprecation date
Asset.oraclePriceUsdprice.usd2026-02-05
Asset.spotPriceEthN/A2026-01-20
Asset.totalSupplyN/A2026-01-20
Market.monthlyApysstate.monthlyApys2025-09-09
Market.oracleInfooracle.data2025-10-14
VaultState.dailyApyavgNetApyExcludingRewards2026-02-15
VaultState.dailyNetApyavgNetApy2026-02-15
VaultState.netApyWithoutRewardsnetApyExcludingRewards2026-02-15
VaultState.rewardsallRewards2026-03-30
VaultState.weeklyApyavgNetApyExcludingRewards2026-02-15
VaultState.weeklyNetApyavgNetApy2026-02-15
August 26, 2026 - View scheduled field removals
Deprecated FieldReplacementDeprecation date
Market.dailyApysstate.dailyApys2025-09-09
VaultV2.avgApyavgNetApyExcludingRewards2026-02-15
July 29, 2026 - View scheduled field removals
Deprecated FieldReplacementDeprecation date
Asset.isWhitelistedisListed2025-12-22
Market.collateralPricestate.price2025-09-09
Market.creatorAddressmorphoBlue2026-01-27
Query.transactionsvaultV2transactions, vaultV1Transactions, marketTransactions2026-04-23
User.transactionsvaultV1Transactions, marketTransactions2026-04-23
VaultState.lastTotalAssetstotalAssets2026-04-16
June 24, 2026 - View scheduled field removals
Deprecated FieldReplacementDeprecation date
Asset.historicalSpotPriceEthN/A2026-01-20
Asset.riskAnalysisN/A2026-01-20
AssetsFilters.credoraRiskScore_gteN/A2025-11-26
AssetsFilters.credoraRiskScore_lteN/A2025-11-26
Curator.urlsocials.url2025-09-09
Market.concentrationN/A2025-09-09
Market.oracleFeedoracle.data2025-10-14
Market.riskAnalysisN/A2025-09-09
MarketConcentration.borrowHhiN/A2026-01-28
MarketConcentration.supplyHhiN/A2026-01-28
MarketFilters.credoraRiskScore_gteN/A2025-11-26
MarketFilters.credoraRiskScore_lteN/A2025-11-26
MarketHistory.feeN/A2026-01-07
MarketHistory.priceN/A2026-01-19
MarketOracleAccuracy.averagePercentDifferenceN/A2025-09-09
MarketOracleAccuracy.maxPercentDifferenceN/A2025-09-09
MarketStateReward.amountPerBorrowedTokenN/A2025-09-12
MarketStateReward.amountPerSuppliedTokenN/A2025-09-12
MarketStateReward.yearlyBorrowTokensN/A2025-09-12
MarketStateReward.yearlySupplyTokensN/A2025-09-12
OracleFeed.descriptionN/A2025-10-08
OracleFeed.historicalPriceN/A2025-10-08
OracleFeed.pairN/A2025-10-08
OracleFeed.priceN/A2025-10-08
OracleFeed.vendorN/A2025-10-08
OracleVault.decimalsN/A2025-10-20
OracleVault.pairN/A2025-10-20
OracleVault.vendorN/A2025-10-20
Query.transactionByHashN/A2025-01-02
VaultAllocationDto.enabledN/A2026-01-15
VaultFilters.credoraRiskScore_gteN/A2025-11-26
VaultFilters.credoraRiskScore_lteN/A2025-11-26
VaultStateReward.amountPerSuppliedTokenN/A2026-03-20
VaultStateReward.yearlySupplyTokensN/A2026-03-20
May 20, 2026 - View scheduled field removals
Deprecated FieldReplacementDeprecation date
AssetsFilters.id_inaddress_in2026-02-11
AssetsFilters.whitelistedlisted2025-12-22
CuratorFilters.chainIdchainId_in2025-09-09
Market.allTimeApysstate.allTimeApy2025-09-09
Market.quarterlyApysstate.quarterlyApys2025-09-09
Market.uniqueKeymarketId2026-03-30
Market.weeklyApysstate.weeklyApys2025-09-09
Market.whitelistedlisted2026-01-29
Market.yearlyApysstate.yearlyApys2025-09-09
MarketFilters.collateralAssetId_incollateralAssetSelector_in2026-01-29
MarketFilters.id_inselector_in2026-01-29
MarketFilters.loanAssetId_inloanAssetSelector_in2026-01-29
MarketFilters.whitelistedlisted2026-02-27
MarketHistory.allTimeNetBorrowApyallTimeBorrowApy2026-01-19
MarketHistory.allTimeNetSupplyApyallTimeSupplyApy2026-01-19
MarketHistory.rateAtUTargetapyAtTarget2025-12-23
MarketPosition.borrowAssetsstate.borrowAssets2025-09-09
MarketPosition.borrowAssetsUsdstate.borrowAssetsUsd2025-09-09
MarketPosition.borrowSharesstate.borrowShares2025-09-09
MarketPosition.collateralstate.collateral2025-09-09
MarketPosition.collateralUsdstate.collateralUsd2025-09-09
MarketPosition.supplyAssetsstate.supplyAssets2025-09-09
MarketPosition.supplyAssetsUsdstate.supplyAssetsUsd2025-09-09
MarketPosition.supplySharesstate.supplyShares2025-09-09
MarketPosition.whitelistedlisted2026-02-03
MarketPositionFilters.marketId_inmarketUniqueKey_in2026-02-11
MarketPositionFilters.
marketWhitelisted
marketListed2026-02-27
MarketPositionFilters.userId_inuserAddress_in2026-01-20
MarketState.rateAtUTargetapyAtTarget2026-01-07
MarketStateReward.borrowApyborrowApr2024-05-28
MarketStateReward.supplyApysupplyApr2024-05-28
MorphoBlueFilters.id_inaddress_in2026-02-11
MorphoChainlinkOracleData.vaultbaseOracleVault2025-09-09
MorphoChainlinkOracleV2Data.baseVaultbaseOracleVault2025-09-09
MorphoChainlinkOracleV2Data.quoteVaultquoteOracleVault2025-09-09
PublicAllocatorFilters.id_inaddress_in2026-02-11
PublicAllocatorSharedLiquidity.
allocationMarket
withdrawMarket2025-12-17
PublicAllocatorSharedLiquidity.marketsupplyMarket2025-12-17
PublicallocatorReallocateFilters.
marketId_in
marketSelector_in2026-01-27
PublicallocatorReallocateFilters.
vaultId_in
vaultSelector_in2026-01-27
Query.assetassetByAddress2026-02-12
Query.marketmarketById2025-09-09
Query.marketAverageApysstate2025-07-28
Query.marketByUniqueKeymarketById2026-04-01
Query.morphoBluemorphoBlueByAddress2026-02-12
Query.searchmarkets and vaults2026-03-20
Query.transactiontransactions2026-02-12
Query.useruserByAddress2026-02-12
Query.vaultvaultByAddress2026-02-12
Query.vaultFactoryvaultFactoryByAddress2026-02-12
RiskAnalysis.isUnderReviewanalysis.isUnderReview2025-09-09
RiskAnalysis.ratinganalysis.rating2025-09-09
RiskAnalysis.scoreanalysis.score2025-09-09
RiskAnalysis.timestampanalysis.timestamp2025-09-09
TransactionFilters.assetId_inassetAddress_in2026-02-11
TransactionFilters.assetSymbol_inassetAddress_in2026-02-16
TransactionFilters.marketId_inmarketUniqueKey_in2026-02-11
TransactionFilters.userId_inuserAddress_in2026-02-11
TransactionFilters.vaultId_invaultAddress_in2026-02-11
TransactionFilters.assetsUsd_gteN/A2026-02-16
TransactionFilters.assetsUsd_lteN/A2026-02-16
TransactionFilters.badDebtAssetsUsd_gteN/A2026-02-16
TransactionFilters.badDebtAssetsUsd_lteN/A2026-02-16
TransactionFilters.repaidAssetsUsd_gteN/A2026-02-16
TransactionFilters.repaidAssetsUsd_lteN/A2026-02-16
TransactionFilters.seizedAssetsUsd_gteN/A2026-02-16
TransactionFilters.seizedAssetsUsd_lteN/A2026-02-16
UsersFilters.assetId_inassetAddress_in2026-02-11
UsersFilters.id_inaddress_in2026-02-11
UsersFilters.marketId_inmarketUniqueKey_in2026-02-11
UsersFilters.vaultId_invaultAddress_in2026-02-11
Vault.dailyApystate.avgNetApyExcludingRewards(lookback: ONE_DAY)2026-01-15
Vault.dailyApysstate.avgNetApyExcludingRewards(lookback: ONE_DAY) and state.avgNetApy(lookback: ONE_DAY)2026-01-15
Vault.monthlyApystate.avgNetApyExcludingRewards(lookback: THIRTY_DAYS)2026-01-15
Vault.monthlyApysstate.avgNetApyExcludingRewards(lookback: THIRTY_DAYS) and state.avgNetApy(lookback: THIRTY_DAYS)2026-01-15
Vault.pendingCapsstate.pendingConfigs2026-01-15
Vault.promotedfeatured2026-02-11
Vault.riskAnalysiswarnings2025-11-26
Vault.weeklyApysstate.avgNetApyExcludingRewards(lookback: SEVEN_DAYS) and state.avgNetApy(lookback: SEVEN_DAYS)2026-01-15
Vault.whitelistedlisted2026-02-11
VaultFilters.assetId_inassetAddress_in2026-02-11
VaultFilters.curator_incuratorAddress_in2026-02-11
VaultFilters.id_inaddress_in2026-02-11
VaultFilteVaultFilters.promotedfeatured2026-02-11
VaultFilters.whitelistedlisted2026-02-11
VaultHistoryDto.curatorvault.adminEvents2026-04-20
VaultHistoryDto.feeRecipientvault.adminEvents2026-04-20
VaultHistoryDto.guardianvault.adminEvents2026-04-20
VaultHistoryDto.ownervault.adminEvents2026-04-20
VaultHistoryDto.sharePricesharePriceNumber2026-01-15
VaultHistoryDto.skimRecipientvault.adminEvents2026-04-20
VaultMetadata.curatorsstate.curators2025-09-09
VaultPosition.assetsstate.assets2025-09-09
VaultPosition.assetsUsdstate.assetsUsd2025-09-09
VaultPosition.sharesstate.shares2025-09-09
VaultPosition.whitelistedlisted2025-12-22
VaultPositionFilters.userId_inuserAddress_in2026-01-20
VaultPositionFilters.vaultId_invaultAddress_in2026-01-20
VaultPositionFilters.
vaultWhitelisted
vaultListed2026-02-11
VaultReallocateFilters.marketId_inmarketUniqueKey_in2026-02-11
VaultReallocateFilters.vaultId_invaultAddress_in2026-02-11
VaultState.allTimeApyavgNetApyExcludingRewards2026-02-15
VaultState.allTimeNetApyavgNetApy2026-02-15
VaultState.avgApyavgNetApyExcludingRewards2026-02-15
VaultState.biweeklyApyavgNetApyExcludingRewards2026-02-15
VaultState.biweeklyNetApyavgNetApy2026-02-15
VaultState.monthlyApyavgNetApyExcludingRewards2026-02-15
VaultState.monthlyNetApyavgNetApy2026-02-15
VaultState.pendingGuardianpendingConfigs2026-01-15
VaultState.pendingGuardianValidAtpendingConfigs2026-01-15
VaultState.pendingTimelockpendingConfigs2026-01-15
VaultState.pendingTimelockValidAtpendingConfigs2026-01-15
VaultState.quarterlyApyavgNetApyExcludingRewards2026-02-15
VaultState.quarterlyNetApyavgNetApy2026-02-15
VaultState.sharePricesharePriceNumber2026-01-15
VaultState.yearlyApyavgNetApyExcludingRewards2026-02-15
VaultState.yearlyNetApyavgNetApy2026-02-15
VaultV2.gatesgatesConfig2025-11-25
VaultV2.whitelistedlisted2025-12-22
VaultV2sFilters.assetId_inaddress_in2026-02-11
VaultV2sFilters.curator_incuratorAddress_in2025-11-25
VaultV2sFilters.whitelistedlisted2026-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
FieldAlternative
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 fieldFragment or alternative
setFeeRecipientSetFeeRecipientEventData { feeRecipient }
setGuardianSetGuardianEventData { guardian }
vault.historicalState.
guardian
vault.adminEvents
(where: { type_in: ["setGuardian"] })
ownershipTransferredOwnershipEventData { owner }
setSkimRecipientSetSkimRecipientEventData { 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 endpointAlternative
rewards.morpho.org/docsDeprecated. 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 vaultV2sRoeUsd
marketsPnlUsd marketsRoeUsd marketsSupplyPnlUsd marketsSupplyRoeUsd
marketsBorrowPnlUsd marketsBorrowRoeUsd marketsCollateralPnlUsd marketsCollateralRoeUsd
marketsMarginPnlUsd marketsMarginRoeUsd
user.historicalState.
vaultsPnlUsd vaultsRoeUsd vaultV2sPnlUsd vaultV2sRoeUsd
marketsPnlUsd marketsRoeUsd marketsSupplyPnlUsd marketsSupplyRoeUsd
marketsBorrowPnlUsd marketsBorrowRoeUsd marketsCollateralPnlUsd marketsCollateralRoeUsd
marketsMarginPnlUsd marketsMarginRoeUsd

The fields that will be kept are:

Kept fieldNote
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.
pnl
pnlUsd
roe
marketPosition.
state.
borrowPnl
borrowPnlUsd
borrowRoe

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
FieldAlternative
_crossVersionVaultsNA
marketAverageApysmarket(s).state
transactionByHashNA
marketOracleAccuracyNA
asset.
historicalSpotPriceEth spotPriceEth riskAnalysis totalSupply
NA
curators.items.urlcurators.items.socials.url
market(s).
allTimeApys dailyApys monthlyApys quaterlyApys weeklyApys yearlyApys
market(s).state.
allTimeBorrowApy dailyApys monthlyApys quaterlyApys weeklyApys yearlyApys
market(s).collateralPricemarket(s).state.price
market(s).concentrationNA
market(s).
oracleAddress oracleFeed oracleInfo
market(s).oracle.address
market(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 .quoteVault
on MorphoChainlinkOracleData
.vault
on MorphoChainlinkOracleV2Data
.baseOracleVault .quoteOracleVault
on 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 detailsAction

GraphQL 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 detailsRational

The 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.

Action

September 19, 2025 - Fields removal

View removal detailsRational

Some rewards fields were wrongly computed since the Merkl integration:

Affected fieldOutcome
yearlySupplyTokensWill always be set to 0 and be removed from the schema.
yearlyBorrowTokensWill always be set to 0 and be removed from the schema.
amountPerSuppliedTokenWill always be set to 0 and be removed from the schema.
amountPerBorrowedTokenWill always be set to 0 and be removed from the schema.
Action

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)