Docs

Get V1 vault realized average APY

Realized average APY of a Morpho Vault V1 over a predefined lookback period, derived from share price evolution. Post-fee, excludes rewards.

Vault selector example: 1:0xBEEF01735c132Ada46AA9aA4c54623cAA92A64CB (format: <chain_id>:<vault_address>; replace with the target vault).

Path Parameters

vault-selector*string

Selector formatted as <chain_id>:<vault_address>. Example: 1:0xBEEF01735c132Ada46AA9aA4c54623cAA92A64CB.

Format<chain_id>:<vault_address>

Query Parameters

lookback?string

Lookback period for the APY calculation. Defaults to six_hours.

Value in"one_hour" | "six_hours" | "one_day" | "seven_days" | "thirty_days" | "ninety_days" | "one_year" | "inception"

Response Body

application/json

const baseUrl = process.env.CORE_REST_BASE_URL ?? "https://api.morpho.org";const apiKey = process.env.MORPHO_API_KEY ?? "<MORPHO_API_KEY>";const vaultSelector = "1:0xBEEF01735c132Ada46AA9aA4c54623cAA92A64CB";const url = new URL(`${baseUrl}/v0/vaults-v1/${vaultSelector}/apy-averages`);url.searchParams.set("lookback", "six_hours");const response = await fetch(url, {  headers: {    accept: "application/json",    "x-api-key": apiKey,  },});if (!response.ok) throw new Error(await response.text());const body = await response.json();
{
  "data": {
    "chain_id": 1,
    "vault_address": "0xBEEF01735c132Ada46AA9aA4c54623cAA92A64CB",
    "last_indexed_block": "25475347",
    "lookback": "six_hours",
    "apy": 0.03172317044232895
  }
}