Skip to main content

Morpho API changelog

Updated this week

ETA February

API fields deprecation

This is the first deprecation notice of the Morpho API. One can expect this kind of deprecation 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

NA

asset.spotPriceEth

NA

asset.riskAnalysis

NA

asset.totalSupply

NA

curators.items.url

curators.items.socials.url

market(s).allTimeApys

market(s).dailyApys

market(s).monthlyApys

market(s).quaterlyApys

market(s).weeklyApys

market(s).yearlyApys

market(s).state.allTimeBorrowApy

market(s).state.dailyApys

market(s).state.monthlyApys

market(s).state.quaterlyApys

market(s).state.weeklyApys

market(s).state.yearlyApys

market(s).collateralPrice

market(s).state.price

market(s).concentration

NA

market(s).oracleAddress

market(s).oracleFeed

market(s).oracleInfo

market(s).oracle.address

market(s).oracle.data...

market(s).oracle.data...

vault(s).dailyApy(s)

vault(s).monthlyApy(s)

vault(s).weeklyApy(s)

vault(s).pendingCaps

vault(s).state.dailyApy

vault(s).state.monthlyApy

vault(s).state.weeklyApy

vault(s).state.pendingConfigs

marketPosition(s).borrowAssets

marketPosition(s).borrowAssetsUsd

marketPosition(s).borrowShares

marketPosition(s).collateral

marketPosition(s).collateralUsd

marketPosition(s).supplyAssets

marketPosition(s).supplyAssetsUsd

marketPosition(s).supplyShares

marketPosition(s).state.borrowAssets

marketPosition(s).state.borrowAssetsUsd

marketPosition(s).state.borrowShares

marketPosition(s).state.collateral

marketPosition(s).state.collateralUsd

marketPosition(s).state.supplyAssets

marketPosition(s).state.supplyAssetsUsd

marketPosition(s).state.supplyShares

vaultPosition(s).assets

vaultPosition(s).assetsUsd

vaultPosition(s).shares

vaultPosition(s).state.assets

vaultPosition(s).state.assetsUsd

vaultPosition(s).state.shares

on MorphoChainlinkOracleV2Data

.baseVault


on MorphoChainlinkOracleV2Data

.quoteVault

on MorphoChainlinkOracleData

.vault

on MorphoChainlinkOracleV2Data

.baseOracleVault


on MorphoChainlinkOracleV2Data .quoteOracleVault

on MorphoChainlinkOracleData

.baseOracleVault

Changes represented by market(s) / vault(s) are also applied to marketByUniqueKey and vaultByAddress queries.


16/10/2025

Limiting the maximum complexity of a query

Action

GraphQL complexity details:

- Max allowed complexity: 1,000,000

- Base cost per operation: 10

- Each field adds cost; some fields declare explicit costs and/or multipliers.

Troubleshoot

Most queries are unaffected but you can check your queries' complexity in https://api.morpho.org/graphql -> the complexity number is returned as an extension.

If one of you query is above the threshold, you have the following alternatives:

- Trim the selection set: keep only fields you actually use. Prefer cheap snapshots (state.*) over histories when possible.

- Lower fan-out: reduce first (e.g., 25 or 50), then paginate.

- Split the work: fetch a light list first (IDs + a few cheap fields), then run follow-up queries for heavy history on a subset.

- Tune multipliers: for fields like currentIrmCurve(numberOfPoints: N), lower N.


20/09/2025

Search limitation

Rational

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

The numberOfResults parameter in the search root resolver (previously unconstrained) will be constrained to be within [0, 1000] (its default value 5 remains unchanged)

Here is an example of search query


19/09/2025

Fields deprecation

Rational

Some rewards fields were wrongly computed since the Merkl integration:

yearlySupplyTokens

yearlyBorrowTokens

amountPerSuppliedToken

amountPerBorrowedToken

Action

These fields will always be set to 0 and be deprecated 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 deprecated use-cases along with this 4 fields should be:

- displaying rewards for an unpriced asset

- computing the apy with a custom price (fdv feature on the Morpho app)


Did this answer your question?