Get current raw and cap-aware reserve liquidity, borrowing caps and counters, base APYs with historical averages, underlying token yield and UI-matching APY breakdowns, utilization with historical averages, auto-deleveraging settings, reserve farm rewards, pair-specific incentives, partner points programs and the Scope oracle composition of the price and TWAP chains for one reserve. Pair-specific incentives and points programs are not included in the APY breakdown totals.
GET
/
reserves
/
{reservePubkey}
/
stats
Get stats for a reserve
curl --request GET \
--url https://api.kamino.finance/reserves/{reservePubkey}/stats
How the reserve interprets its rate config (borrow rate curve, hostFixedInterestRateBps, reward emissions). legacy: nominal slot-year rates accrued per slot over 63,072,000 slots, so the realized annual rate is the configured rate times 500 / recentSlotDurationInMs (see /slots/duration). trueApr: wall-clock rates accrued per second over 31,536,000 seconds, no slot adjustment. To plot the curve from /reserves/{reservePubkey}/charts borrowCurve: factor = basis === trueApr ? 1 : 500 / recentSlotDurationInMs; borrowApr(u) = (curveRate(u) + hostFixedInterestRateBps / 10000) * factor; supplyApr(u) = u * curveRate(u) * factor * (1 - protocolTakeRatePct / 100). Static per reserve config; reserves in one market can differ.
Fixed host interest added on top of the curve or fixed borrow rate, in basis points of the nominal annual rate in the reserve interestRateBasis. Paid entirely to the host: included in borrow APR, excluded from supply APR. 0 when not configured.
Share of borrow interest taken by the protocol as an integer percentage from the reserve config. Depositors keep (100 - protocolTakeRatePct) / 100 of the curve interest; this is the raw config value, not the depositor keep-ratio.
Native yield of the reserve liquidity token itself: LST staking yield, principal-token implied yield, or the yield of an RWA / yield-bearing token. Excludes lending interest, farm incentives, season rewards and pair-specific rewards. Null when the token is not yield-bearing or no fresh source is available; a missing source is never reported as 0. Already included in supplyApyBreakdown.total.
True when the reserve token earns its own yield (staking, pool or yield-feed token). underlyingApy null with true means the yield source is unavailable; null with false means the token has no underlying yield.
Components of the supply APY shown in the Kamino UI for an anonymous viewer, all in decimal APY units. total = lending + incentives + seasonRewards + underlying. underlying is 0 when underlyingApy is null.
Live pair-specific incentives whose eligibility depends on the counterparty asset. Rows are present only while the configured farm is active, funded, emitting and staked. These APYs are not included in supplyApyBreakdown.total or borrowApyBreakdown.total. Derive collateral "Up to" APY as max(apy) over supply rows and estimated net borrow APY as borrowApy.current - apy.
Partner points programs for this reserve and side. These programs have no numeric APY and are not included in supplyApyBreakdown.total or borrowApyBreakdown.total.
Maximum cap-aware reserve liquidity available for borrowing across cross mode and configured elevation groups, in UI token units. This does not include obligation-specific collateral or LTV constraints.
Maximum cap-aware reserve liquidity available for borrowing across cross mode and configured elevation groups, in USD. This does not include obligation-specific collateral or LTV constraints.
Scope oracle composition of the reserve price and TWAP, or null when the Scope metadata is unavailable
Show child attributes
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Kamino Docs","colors":{"primary":"#082A56","light":"#BEE3FE","dark":"#082A56"},"logo":{"light":"https://mintcdn.com/kamino-3d73a151/EHpt5rRzyV5R3dXt/images/logo/light.svg?fit=max\u0026auto=format\u0026n=EHpt5rRzyV5R3dXt\u0026q=85\u0026s=41146f93128a10f923dfe0829b84ceeb","dark":"https://mintcdn.com/kamino-3d73a151/EHpt5rRzyV5R3dXt/images/logo/dark.svg?fit=max\u0026auto=format\u0026n=EHpt5rRzyV5R3dXt\u0026q=85\u0026s=b6e99efe3764aaa0562a24e1003f99dd","href":"https://docs.kamino.com"},"favicon":"https://mintcdn.com/kamino-3d73a151/EHpt5rRzyV5R3dXt/favicon.svg?fit=max\u0026auto=format\u0026n=EHpt5rRzyV5R3dXt\u0026q=85\u0026s=eedfb39339869b741ec9395073041863","api":{"playground":{"display":"interactive","proxy":false},"examples":{"defaults":"required","languages":["curl","javascript","python","rust"],"prefill":true},"mdx":{"auth":{}}},"appearance":{"default":"light"},"background":{"color":{"dark":"#091326"}},"navbar":{"links":[{"href":"/#support","label":"Support","type":"link"}],"primary":{"type":"button","label":"Open App","href":"https://kamino.com"}},"footer":{"socials":{"x":"https://x.com/kamino","github":"https://github.com/Kamino-Finance"}},"seo":{"metatags":{"canonical":"https://docs.kamino.com"}},"icons":{"library":"fontawesome"},"styling":{"codeblocks":{"theme":"css-variables"},"latex":false},"contextual":{"options":["copy","view","chatgpt","claude","perplexity","cursor","vscode"],"display":"header"},"interaction":{"drilldown":true},"navigation":{"global":{"anchors":[]},"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"kamino-3d73a151","hasAudioNarration":false,"actualSubdomain":"kamino-3d73a151","customDomains":["docs.kamino.com"],"gitSource":{"type":"github","owner":"kamino-finance","repo":"kamino-documentation","deployBranch":"master","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6af33e2ee5e36dceb065ad9b","clientVersion":"0.0.4094","searchFilterCounts":[{"language":"default","tag":"Buildkit","count":318},{"language":"default","tag":"API Reference","count":202},{"language":"default","tag":"Full API Reference","count":129},{"language":"default","tag":"Borrow","count":85},{"language":"default","tag":"Docs","count":75},{"language":"default","tag":"Curators","count":65},{"language":"default","tag":"Earn","count":55},{"language":"default","tag":"Developers","count":51},{"language":"default","tag":"Products","count":41},{"language":"default","tag":"Markets","count":35}]},"assistantConfig":{},"basePath":"","hasChatPermissions":true,"hasWebMcpPermissions":true,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-rbac-roles","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-metadata","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[{"filePath":"global.css","href":"/_mintlify/custom/kamino-3d73a151/1db0c01f0e94f408/global.css"}],"page":{"pagePath":"build/kamino-lend-reserves/get-stats-for-a-reserve","slug":"/build/kamino-lend-reserves/get-stats-for-a-reserve","pageMetadata":{"title":"Get stats for a reserve","description":"Get current raw and cap-aware reserve liquidity, borrowing caps and counters, base APYs with historical averages, underlying token yield and UI-matching APY breakdowns, utilization with historical averages, auto-deleveraging settings, reserve farm rewards, pair-specific incentives, partner points programs and the Scope oracle composition of the price and TWAP chains for one reserve. Pair-specific incentives and points programs are not included in the APY breakdown totals.","deprecated":null,"version":null,"openapi":"/kamino-api.json get /reserves/{reservePubkey}/stats","href":"/build/kamino-lend-reserves/get-stats-for-a-reserve","autogeneratedByOpenApi":true},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Get current raw and cap-aware reserve liquidity, borrowing caps and counters, base APYs with historical averages, underlying token yield and UI-matching APY breakdowns, utilization with historical averages, auto-deleveraging settings, reserve farm rewards, pair-specific incentives, partner points programs and the Scope oracle composition of the price and TWAP chains for one reserve. Pair-specific incentives and points programs are not included in the APY breakdown totals.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){return _jsx(_Fragment,{})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent}","frontmatter":{},"scope":{"codeStyling":{"theme":"css-variables"},"config":{},"pageMetadata":{"title":"Get stats for a reserve","description":"Get current raw and cap-aware reserve liquidity, borrowing caps and counters, base APYs with historical averages, underlying token yield and UI-matching APY breakdowns, utilization with historical averages, auto-deleveraging settings, reserve farm rewards, pair-specific incentives, partner points programs and the Scope oracle composition of the price and TWAP chains for one reserve. Pair-specific incentives and points programs are not included in the APY breakdown totals.","deprecated":null,"version":null,"openapi":"/kamino-api.json get /reserves/{reservePubkey}/stats","href":"/build/kamino-lend-reserves/get-stats-for-a-reserve","autogeneratedByOpenApi":true}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":["/_mintlify/custom/kamino-3d73a151/b653455c34dec4b8/brand-copy.js","/_mintlify/custom/kamino-3d73a151/9609d0bb46c3d15b/intercom.js","/_mintlify/custom/kamino-3d73a151/466fd259a73f5446/aeonik-persist.js"],"openApiReferenceData":{"operation":{"summary":"Get stats for a reserve","description":"Get current raw and cap-aware reserve liquidity, borrowing caps and counters, base APYs with historical averages, underlying token yield and UI-matching APY breakdowns, utilization with historical averages, auto-deleveraging settings, reserve farm rewards, pair-specific incentives, partner points programs and the Scope oracle composition of the price and TWAP chains for one reserve. Pair-specific incentives and points programs are not included in the APY breakdown totals.","tags":["Kamino Lend Reserves"],"parameters":["14fce6dc-ed4f-474d-9d3e-8983ed2b4a12","bc1d0a11-8a79-45b5-acad-c7f4cce39da3"],"responses":{"200":"1eb04921-1ab7-4705-a2fa-d44996e0c6e0","400":"f3d08c74-71d3-450b-9e59-04a4143ed658","404":"a565b82a-f885-4cf4-8af0-ae5bade3526c","500":"cf626c0f-28ac-4f73-b74d-963a25cc5ae9"},"method":"get","type":"path","servers":["0e13c83b-e1ef-463a-bec4-4eb69532e966"],"security":[],"path":"/reserves/{reservePubkey}/stats","baseUrlOptions":["https://api.kamino.finance"],"title":"Get stats for a reserve","codeSamples":[],"requestExampleLanguages":["bash","javascript","python","rust"],"requiredOnlyExamples":true,"requestExampleType":"generated","responseExampleType":"generated","prefillPlaygroundWithExample":true,"prefillPlaygroundExamples":[],"disableProxy":true},"dependencies":{"parameters":{"14fce6dc-ed4f-474d-9d3e-8983ed2b4a12":{"schema":{"type":"string","description":"Kamino Lend reserve public key","example":"FBSyPnxtHKLBZ4UeeUyAnbtFuAmTHLtso9YtsqRDRWpM","isRequired":true,"uniqueKey":"","typeLabel":"string"},"required":true,"description":"Kamino Lend reserve public key","name":"reservePubkey","in":"path"},"bc1d0a11-8a79-45b5-acad-c7f4cce39da3":{"schema":{"type":"string","default":"KLend2g3cP87fffoy8q1mQqGKjrxjC8boSyAYavgmjD","description":"KLend program ID","example":"KLend2g3cP87fffoy8q1mQqGKjrxjC8boSyAYavgmjD","isRequired":false,"uniqueKey":"","typeLabel":"string"},"required":false,"description":"KLend program ID","name":"programId","in":"query"}},"responses":{"1eb04921-1ab7-4705-a2fa-d44996e0c6e0":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"token":{"type":"string","description":"Reserve liquidity token mint address","example":"VEG1EMtttdHunMbSza8uoms1R18VXmYSph2bBpHcSJd","isRequired":true,"uniqueKey":"token","typeLabel":"string"},"collateralMintAddress":{"type":"string","description":"Reserve collateral token mint address","example":"VEG1EMtttdHunMbSza8uoms1R18VXmYSph2bBpHcSJd","isRequired":true,"uniqueKey":"collateralMintAddress","typeLabel":"string"},"rateType":{"type":"string","enum":["variable","fixed","maturity"],"description":"Reserve borrow rate type","example":"variable","isRequired":true,"uniqueKey":"rateType","typeLabel":"enum\u003cstring>"},"fixedTerm":{"oneOf":[{"type":"object","properties":{"termSeconds":{"type":"integer","description":"Fixed debt term duration in seconds","example":2592000,"isRequired":true,"uniqueKey":"fixedTerm.oneOf.0.termSeconds","typeLabel":"integer"},"apy":{"type":"string","description":"Current fixed-rate borrow APY","example":"0.0616","isRequired":true,"uniqueKey":"fixedTerm.oneOf.0.apy","typeLabel":"string"}},"required":["termSeconds","apy"],"description":"Fixed-term borrow details, or null for variable and maturity reserves","isRequired":true,"uniqueKey":"fixedTerm.oneOf.0","typeLabel":"object"},{"type":"null","properties":{"termSeconds":{"type":"integer","description":"Fixed debt term duration in seconds","example":2592000},"apy":{"type":"string","description":"Current fixed-rate borrow APY","example":"0.0616"}},"required":["termSeconds","apy"],"description":"Fixed-term borrow details, or null for variable and maturity reserves","isRequired":true,"uniqueKey":"fixedTerm.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"fixedTerm","typeLabel":"object | null"},"debtMaturityTimestamp":{"oneOf":[{"type":"string","format":"date-time","description":"Debt maturity timestamp, or null when the reserve has no configured maturity","example":"2026-08-28T00:00:00.000Z","isRequired":true,"uniqueKey":"debtMaturityTimestamp.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","format":"date-time","description":"Debt maturity timestamp, or null when the reserve has no configured maturity","example":"2026-08-28T00:00:00.000Z","isRequired":true,"uniqueKey":"debtMaturityTimestamp.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"debtMaturityTimestamp","typeLabel":"string\u003cdate-time> | null"},"status":{"type":"string","enum":["Active","Obsolete","Hidden"],"description":"On-chain reserve visibility status","example":"Active","isRequired":true,"uniqueKey":"status","typeLabel":"enum\u003cstring>"},"interestRateBasis":{"type":"string","enum":["legacy","trueApr"],"description":"How the reserve interprets its rate config (borrow rate curve, hostFixedInterestRateBps, reward emissions). `legacy`: nominal slot-year rates accrued per slot over 63,072,000 slots, so the realized annual rate is the configured rate times 500 / recentSlotDurationInMs (see /slots/duration). `trueApr`: wall-clock rates accrued per second over 31,536,000 seconds, no slot adjustment. To plot the curve from /reserves/{reservePubkey}/charts borrowCurve: factor = basis === `trueApr` ? 1 : 500 / recentSlotDurationInMs; borrowApr(u) = (curveRate(u) + hostFixedInterestRateBps / 10000) * factor; supplyApr(u) = u * curveRate(u) * factor * (1 - protocolTakeRatePct / 100). Static per reserve config; reserves in one market can differ.","example":"trueApr","isRequired":true,"uniqueKey":"interestRateBasis","typeLabel":"enum\u003cstring>"},"hostFixedInterestRateBps":{"type":"integer","description":"Fixed host interest added on top of the curve or fixed borrow rate, in basis points of the nominal annual rate in the reserve interestRateBasis. Paid entirely to the host: included in borrow APR, excluded from supply APR. 0 when not configured.","example":50,"isRequired":true,"uniqueKey":"hostFixedInterestRateBps","typeLabel":"integer"},"protocolTakeRatePct":{"type":"integer","description":"Share of borrow interest taken by the protocol as an integer percentage from the reserve config. Depositors keep (100 - protocolTakeRatePct) / 100 of the curve interest; this is the raw config value, not the depositor keep-ratio.","example":10,"isRequired":true,"uniqueKey":"protocolTakeRatePct","typeLabel":"integer"},"supplyApy":{"type":"object","properties":{"current":{"type":"string","description":"Current base APY","example":"0.0412","isRequired":true,"uniqueKey":"supplyApy.current","typeLabel":"string"},"avg7d":{"oneOf":[{"type":"string","description":"Mean of hourly bucket mean base APYs over the last 7 days, or null when no history is available","example":"0.0398","isRequired":true,"uniqueKey":"supplyApy.avg7d.oneOf.0","typeLabel":"string"},{"type":"null","description":"Mean of hourly bucket mean base APYs over the last 7 days, or null when no history is available","example":"0.0398","isRequired":true,"uniqueKey":"supplyApy.avg7d.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"supplyApy.avg7d","typeLabel":"string | null"},"avg14d":{"oneOf":[{"type":"string","description":"Mean of hourly bucket mean base APYs over the last 14 days, or null when no history is available","example":"0.0395","isRequired":true,"uniqueKey":"supplyApy.avg14d.oneOf.0","typeLabel":"string"},{"type":"null","description":"Mean of hourly bucket mean base APYs over the last 14 days, or null when no history is available","example":"0.0395","isRequired":true,"uniqueKey":"supplyApy.avg14d.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"supplyApy.avg14d","typeLabel":"string | null"},"avg30d":{"oneOf":[{"type":"string","description":"Mean of hourly bucket mean base APYs over the last 30 days, or null when no history is available","example":"0.039","isRequired":true,"uniqueKey":"supplyApy.avg30d.oneOf.0","typeLabel":"string"},{"type":"null","description":"Mean of hourly bucket mean base APYs over the last 30 days, or null when no history is available","example":"0.039","isRequired":true,"uniqueKey":"supplyApy.avg30d.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"supplyApy.avg30d","typeLabel":"string | null"},"avg60d":{"oneOf":[{"type":"string","description":"Mean of hourly bucket mean base APYs over the last 60 days, or null when no history is available","example":"0.0387","isRequired":true,"uniqueKey":"supplyApy.avg60d.oneOf.0","typeLabel":"string"},{"type":"null","description":"Mean of hourly bucket mean base APYs over the last 60 days, or null when no history is available","example":"0.0387","isRequired":true,"uniqueKey":"supplyApy.avg60d.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"supplyApy.avg60d","typeLabel":"string | null"},"avg90d":{"oneOf":[{"type":"string","description":"Mean of hourly bucket mean base APYs over the last 90 days, or null when no history is available","example":"0.0384","isRequired":true,"uniqueKey":"supplyApy.avg90d.oneOf.0","typeLabel":"string"},{"type":"null","description":"Mean of hourly bucket mean base APYs over the last 90 days, or null when no history is available","example":"0.0384","isRequired":true,"uniqueKey":"supplyApy.avg90d.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"supplyApy.avg90d","typeLabel":"string | null"},"avg180d":{"oneOf":[{"type":"string","description":"Mean of hourly bucket mean base APYs over the last 180 days, or null when no history is available","example":"0.0381","isRequired":true,"uniqueKey":"supplyApy.avg180d.oneOf.0","typeLabel":"string"},{"type":"null","description":"Mean of hourly bucket mean base APYs over the last 180 days, or null when no history is available","example":"0.0381","isRequired":true,"uniqueKey":"supplyApy.avg180d.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"supplyApy.avg180d","typeLabel":"string | null"}},"required":["current","avg7d","avg14d","avg30d","avg60d","avg90d","avg180d"],"isRequired":true,"uniqueKey":"supplyApy","typeLabel":"object"},"borrowApy":{"type":"object","properties":{"current":{"type":"string","description":"Current base APY","example":"0.0412","isRequired":true,"uniqueKey":"borrowApy.current","typeLabel":"string"},"avg7d":{"oneOf":[{"type":"string","description":"Mean of hourly bucket mean base APYs over the last 7 days, or null when no history is available","example":"0.0398","isRequired":true,"uniqueKey":"borrowApy.avg7d.oneOf.0","typeLabel":"string"},{"type":"null","description":"Mean of hourly bucket mean base APYs over the last 7 days, or null when no history is available","example":"0.0398","isRequired":true,"uniqueKey":"borrowApy.avg7d.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"borrowApy.avg7d","typeLabel":"string | null"},"avg14d":{"oneOf":[{"type":"string","description":"Mean of hourly bucket mean base APYs over the last 14 days, or null when no history is available","example":"0.0395","isRequired":true,"uniqueKey":"borrowApy.avg14d.oneOf.0","typeLabel":"string"},{"type":"null","description":"Mean of hourly bucket mean base APYs over the last 14 days, or null when no history is available","example":"0.0395","isRequired":true,"uniqueKey":"borrowApy.avg14d.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"borrowApy.avg14d","typeLabel":"string | null"},"avg30d":{"oneOf":[{"type":"string","description":"Mean of hourly bucket mean base APYs over the last 30 days, or null when no history is available","example":"0.039","isRequired":true,"uniqueKey":"borrowApy.avg30d.oneOf.0","typeLabel":"string"},{"type":"null","description":"Mean of hourly bucket mean base APYs over the last 30 days, or null when no history is available","example":"0.039","isRequired":true,"uniqueKey":"borrowApy.avg30d.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"borrowApy.avg30d","typeLabel":"string | null"},"avg60d":{"oneOf":[{"type":"string","description":"Mean of hourly bucket mean base APYs over the last 60 days, or null when no history is available","example":"0.0387","isRequired":true,"uniqueKey":"borrowApy.avg60d.oneOf.0","typeLabel":"string"},{"type":"null","description":"Mean of hourly bucket mean base APYs over the last 60 days, or null when no history is available","example":"0.0387","isRequired":true,"uniqueKey":"borrowApy.avg60d.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"borrowApy.avg60d","typeLabel":"string | null"},"avg90d":{"oneOf":[{"type":"string","description":"Mean of hourly bucket mean base APYs over the last 90 days, or null when no history is available","example":"0.0384","isRequired":true,"uniqueKey":"borrowApy.avg90d.oneOf.0","typeLabel":"string"},{"type":"null","description":"Mean of hourly bucket mean base APYs over the last 90 days, or null when no history is available","example":"0.0384","isRequired":true,"uniqueKey":"borrowApy.avg90d.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"borrowApy.avg90d","typeLabel":"string | null"},"avg180d":{"oneOf":[{"type":"string","description":"Mean of hourly bucket mean base APYs over the last 180 days, or null when no history is available","example":"0.0381","isRequired":true,"uniqueKey":"borrowApy.avg180d.oneOf.0","typeLabel":"string"},{"type":"null","description":"Mean of hourly bucket mean base APYs over the last 180 days, or null when no history is available","example":"0.0381","isRequired":true,"uniqueKey":"borrowApy.avg180d.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"borrowApy.avg180d","typeLabel":"string | null"}},"required":["current","avg7d","avg14d","avg30d","avg60d","avg90d","avg180d"],"isRequired":true,"uniqueKey":"borrowApy","typeLabel":"object"},"underlyingApy":{"oneOf":[{"type":"object","properties":{"current":{"type":"string","description":"APY in decimal format (not percentage) represented as string. Multiply by 100 to get percentage (%) - 0.1 in API response is 10%.","example":"0.2","examples":["0.123","0","1","1.23","-0.5","999999.999999"],"isRequired":true,"uniqueKey":"underlyingApy.oneOf.0.current","typeLabel":"string"},"sourceType":{"type":"string","description":"Source of the underlying yield; new source types can be added without notice. `lst`: median staking yield over the last 10 epochs. `lst-combined`: restaked LST, own 10-epoch mean plus the median of each configured underlying LST. `yield-feed`: latest hourly snapshot from the token's yield provider (principal tokens, RWAs, JLP, USDe/sUSDe).","isRequired":true,"uniqueKey":"underlyingApy.oneOf.0.sourceType","typeLabel":"string"},"sourceMint":{"oneOf":[{"type":"string","description":"Mint whose yield series produced this value. Differs from `token` when the reserve token inherits another token's yield (sUSDe reports the USDe mint). Null for `lst-combined`. For history use `/v2/underlying-yields/{token}/history`, not this field.","example":"VEG1EMtttdHunMbSza8uoms1R18VXmYSph2bBpHcSJd","isRequired":true,"uniqueKey":"underlyingApy.oneOf.0.sourceMint.oneOf.0","typeLabel":"string"},{"type":"null","description":"Mint whose yield series produced this value. Differs from `token` when the reserve token inherits another token's yield (sUSDe reports the USDe mint). Null for `lst-combined`. For history use `/v2/underlying-yields/{token}/history`, not this field.","isRequired":true,"uniqueKey":"underlyingApy.oneOf.0.sourceMint.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"underlyingApy.oneOf.0.sourceMint","typeLabel":"string | null"},"observedAt":{"type":"string","format":"date-time","description":"Observation time of the source value. LST values are epoch-based and lag one to two days; yield-feed values are hourly snapshots no older than 48 hours.","isRequired":true,"uniqueKey":"underlyingApy.oneOf.0.observedAt","typeLabel":"string\u003cdate-time>"}},"required":["current","sourceType","sourceMint","observedAt"],"description":"Native yield of the reserve liquidity token itself: LST staking yield, principal-token implied yield, or the yield of an RWA / yield-bearing token. Excludes lending interest, farm incentives, season rewards and pair-specific rewards. Null when the token is not yield-bearing or no fresh source is available; a missing source is never reported as 0. Already included in supplyApyBreakdown.total.","isRequired":true,"uniqueKey":"underlyingApy.oneOf.0","typeLabel":"object"},{"type":"null","properties":{"current":{"type":"string","description":"APY in decimal format (not percentage) represented as string. Multiply by 100 to get percentage (%) - 0.1 in API response is 10%.","example":"0.2","examples":["0.123","0","1","1.23","-0.5","999999.999999"]},"sourceType":{"type":"string","description":"Source of the underlying yield; new source types can be added without notice. `lst`: median staking yield over the last 10 epochs. `lst-combined`: restaked LST, own 10-epoch mean plus the median of each configured underlying LST. `yield-feed`: latest hourly snapshot from the token's yield provider (principal tokens, RWAs, JLP, USDe/sUSDe)."},"sourceMint":{"oneOf":[{"type":"string","description":"Mint whose yield series produced this value. Differs from `token` when the reserve token inherits another token's yield (sUSDe reports the USDe mint). Null for `lst-combined`. For history use `/v2/underlying-yields/{token}/history`, not this field.","example":"VEG1EMtttdHunMbSza8uoms1R18VXmYSph2bBpHcSJd"},{"type":"null","description":"Mint whose yield series produced this value. Differs from `token` when the reserve token inherits another token's yield (sUSDe reports the USDe mint). Null for `lst-combined`. For history use `/v2/underlying-yields/{token}/history`, not this field."}]},"observedAt":{"type":"string","format":"date-time","description":"Observation time of the source value. LST values are epoch-based and lag one to two days; yield-feed values are hourly snapshots no older than 48 hours."}},"required":["current","sourceType","sourceMint","observedAt"],"description":"Native yield of the reserve liquidity token itself: LST staking yield, principal-token implied yield, or the yield of an RWA / yield-bearing token. Excludes lending interest, farm incentives, season rewards and pair-specific rewards. Null when the token is not yield-bearing or no fresh source is available; a missing source is never reported as 0. Already included in supplyApyBreakdown.total.","isRequired":true,"uniqueKey":"underlyingApy.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"underlyingApy","typeLabel":"object | null"},"underlyingYieldExpected":{"type":"boolean","description":"True when the reserve token earns its own yield (staking, pool or yield-feed token). underlyingApy null with true means the yield source is unavailable; null with false means the token has no underlying yield.","example":true,"isRequired":true,"uniqueKey":"underlyingYieldExpected","typeLabel":"boolean"},"supplyApyBreakdown":{"type":"object","properties":{"lending":{"type":"string","description":"Base lending APY, equals supplyApy.current","example":"0.123","isRequired":true,"uniqueKey":"supplyApyBreakdown.lending","typeLabel":"string"},"incentives":{"type":"string","description":"Sum of supplyRewardApys[].apy","example":"0.123","isRequired":true,"uniqueKey":"supplyApyBreakdown.incentives","typeLabel":"string"},"seasonRewards":{"type":"string","description":"Anonymous season campaign APY. Currently always 0: season campaigns are over. Kept so the total formula stays stable if campaigns return.","example":"0.123","isRequired":true,"uniqueKey":"supplyApyBreakdown.seasonRewards","typeLabel":"string"},"underlying":{"type":"string","description":"underlyingApy.current, or 0 when underlyingApy is null","example":"0.123","isRequired":true,"uniqueKey":"supplyApyBreakdown.underlying","typeLabel":"string"},"total":{"type":"string","description":"Sum of the four components","example":"0.123","isRequired":true,"uniqueKey":"supplyApyBreakdown.total","typeLabel":"string"}},"required":["lending","incentives","seasonRewards","underlying","total"],"description":"Components of the supply APY shown in the Kamino UI for an anonymous viewer, all in decimal APY units. total = lending + incentives + seasonRewards + underlying. underlying is 0 when underlyingApy is null.","isRequired":true,"uniqueKey":"supplyApyBreakdown","typeLabel":"object"},"borrowApyBreakdown":{"type":"object","properties":{"borrow":{"type":"string","description":"equals borrowApy.current (the fixed-rate APY for fixed-term reserves)","example":"0.123","isRequired":true,"uniqueKey":"borrowApyBreakdown.borrow","typeLabel":"string"},"incentives":{"type":"string","description":"Sum of borrowRewardApys[].apy","example":"0.123","isRequired":true,"uniqueKey":"borrowApyBreakdown.incentives","typeLabel":"string"},"seasonRewards":{"type":"string","description":"Anonymous season campaign APY. Currently always 0: season campaigns are over. Kept so the total formula stays stable if campaigns return.","example":"0.123","isRequired":true,"uniqueKey":"borrowApyBreakdown.seasonRewards","typeLabel":"string"},"total":{"type":"string","description":"APY in decimal format (not percentage) represented as string. Multiply by 100 to get percentage (%) - 0.1 in API response is 10%.","example":"0.2","examples":["0.123","0","1","1.23","-0.5","999999.999999"],"isRequired":true,"uniqueKey":"borrowApyBreakdown.total","typeLabel":"string"}},"required":["borrow","incentives","seasonRewards","total"],"description":"Components of the borrow APY shown in the Kamino UI for an anonymous viewer, decimal units. total = borrow - incentives - seasonRewards.","isRequired":true,"uniqueKey":"borrowApyBreakdown","typeLabel":"object"},"utilization":{"type":"object","properties":{"current":{"type":"string","description":"Current utilization as a ratio of total borrow to total supply","example":"0.825","isRequired":true,"uniqueKey":"utilization.current","typeLabel":"string"},"avg30d":{"oneOf":[{"type":"string","description":"Mean of hourly bucket per-snapshot utilization ratios over the last 30 days, or null when no history is available","example":"0.81","isRequired":true,"uniqueKey":"utilization.avg30d.oneOf.0","typeLabel":"string"},{"type":"null","description":"Mean of hourly bucket per-snapshot utilization ratios over the last 30 days, or null when no history is available","example":"0.81","isRequired":true,"uniqueKey":"utilization.avg30d.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"utilization.avg30d","typeLabel":"string | null"},"avg90d":{"oneOf":[{"type":"string","description":"Mean of hourly bucket per-snapshot utilization ratios over the last 90 days, or null when no history is available","example":"0.79","isRequired":true,"uniqueKey":"utilization.avg90d.oneOf.0","typeLabel":"string"},{"type":"null","description":"Mean of hourly bucket per-snapshot utilization ratios over the last 90 days, or null when no history is available","example":"0.79","isRequired":true,"uniqueKey":"utilization.avg90d.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"utilization.avg90d","typeLabel":"string | null"},"avg180d":{"oneOf":[{"type":"string","description":"Mean of hourly bucket per-snapshot utilization ratios over the last 180 days, or null when no history is available","example":"0.77","isRequired":true,"uniqueKey":"utilization.avg180d.oneOf.0","typeLabel":"string"},{"type":"null","description":"Mean of hourly bucket per-snapshot utilization ratios over the last 180 days, or null when no history is available","example":"0.77","isRequired":true,"uniqueKey":"utilization.avg180d.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"utilization.avg180d","typeLabel":"string | null"},"avg365d":{"oneOf":[{"type":"string","description":"Mean of hourly bucket per-snapshot utilization ratios over the last 365 days, or null when no history is available","example":"0.74","isRequired":true,"uniqueKey":"utilization.avg365d.oneOf.0","typeLabel":"string"},{"type":"null","description":"Mean of hourly bucket per-snapshot utilization ratios over the last 365 days, or null when no history is available","example":"0.74","isRequired":true,"uniqueKey":"utilization.avg365d.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"utilization.avg365d","typeLabel":"string | null"}},"required":["current","avg30d","avg90d","avg180d","avg365d"],"description":"Current reserve utilization and historical averages","isRequired":true,"uniqueKey":"utilization","typeLabel":"object"},"autoDeleverage":{"type":"object","properties":{"reserve":{"type":"object","properties":{"enabled":{"type":"boolean","description":"Whether this reserve is subject to auto-deleveraging after its deposit or borrow limit is crossed. Effective only when the market flag is also enabled.","isRequired":true,"uniqueKey":"autoDeleverage.reserve.enabled","typeLabel":"boolean"},"marginCallPeriodSecs":{"type":"integer","description":"Time in seconds that must pass before deleveraging liquidations start after the limit is crossed. Only relevant when auto-deleveraging is enabled.","example":259200,"isRequired":true,"uniqueKey":"autoDeleverage.reserve.marginCallPeriodSecs","typeLabel":"integer"},"thresholdDecreaseBpsPerDay":{"type":"integer","description":"Rate at which the deleveraging LTV threshold decreases, in bps per day. Only relevant when auto-deleveraging is enabled.","example":100,"isRequired":true,"uniqueKey":"autoDeleverage.reserve.thresholdDecreaseBpsPerDay","typeLabel":"integer"},"bonusIncreaseBpsPerDay":{"type":"integer","description":"Rate at which the deleveraging liquidation bonus increases, in bps per day. Only relevant when auto-deleveraging is enabled.","example":50,"isRequired":true,"uniqueKey":"autoDeleverage.reserve.bonusIncreaseBpsPerDay","typeLabel":"integer"},"minBonusBps":{"type":"integer","description":"Starting bonus for deleveraging liquidations, in bps","example":10,"isRequired":true,"uniqueKey":"autoDeleverage.reserve.minBonusBps","typeLabel":"integer"}},"required":["enabled","marginCallPeriodSecs","thresholdDecreaseBpsPerDay","bonusIncreaseBpsPerDay","minBonusBps"],"isRequired":true,"uniqueKey":"autoDeleverage.reserve","typeLabel":"object"},"market":{"type":"object","properties":{"enabled":{"type":"boolean","description":"Market-wide auto-deleveraging gate. Reserve-level auto-deleveraging only applies when this is enabled.","isRequired":true,"uniqueKey":"autoDeleverage.market.enabled","typeLabel":"boolean"},"individualMarginCallPeriodSecs":{"type":"integer","description":"Time in seconds that must pass before deleveraging liquidations start for obligations individually marked for auto-deleveraging","example":86400,"isRequired":true,"uniqueKey":"autoDeleverage.market.individualMarginCallPeriodSecs","typeLabel":"integer"}},"required":["enabled","individualMarginCallPeriodSecs"],"isRequired":true,"uniqueKey":"autoDeleverage.market","typeLabel":"object"}},"required":["reserve","market"],"description":"On-chain auto-deleveraging configuration of the reserve and its lending market","isRequired":true,"uniqueKey":"autoDeleverage","typeLabel":"object"},"supplyRewardApys":{"type":"array","items":{"type":"object","properties":{"rewardToken":{"type":"string","description":"Reward token mint address","example":"VEG1EMtttdHunMbSza8uoms1R18VXmYSph2bBpHcSJd","isRequired":true,"uniqueKey":"supplyRewardApys.items.[INDEX].rewardToken","typeLabel":"string"},"farm":{"type":"string","description":"Farm address that distributes the reward","example":"VEG1EMtttdHunMbSza8uoms1R18VXmYSph2bBpHcSJd","isRequired":true,"uniqueKey":"supplyRewardApys.items.[INDEX].farm","typeLabel":"string"},"apy":{"type":"string","description":"Current reward APY component","example":"0.011","isRequired":true,"uniqueKey":"supplyRewardApys.items.[INDEX].apy","typeLabel":"string"},"tokensPerSecond":{"type":"string","description":"Reward token emission rate in UI token units per second","example":"0.00165","isRequired":true,"uniqueKey":"supplyRewardApys.items.[INDEX].tokensPerSecond","typeLabel":"string"}},"required":["rewardToken","farm","apy","tokensPerSecond"],"uniqueKey":"supplyRewardApys.items.[INDEX]","typeLabel":"object"},"description":"Current supply-side farm reward APY components","isRequired":true,"uniqueKey":"supplyRewardApys","typeLabel":"object[]"},"borrowRewardApys":{"type":"array","items":{"type":"object","properties":{"rewardToken":{"type":"string","description":"Reward token mint address","example":"VEG1EMtttdHunMbSza8uoms1R18VXmYSph2bBpHcSJd","isRequired":true,"uniqueKey":"borrowRewardApys.items.[INDEX].rewardToken","typeLabel":"string"},"farm":{"type":"string","description":"Farm address that distributes the reward","example":"VEG1EMtttdHunMbSza8uoms1R18VXmYSph2bBpHcSJd","isRequired":true,"uniqueKey":"borrowRewardApys.items.[INDEX].farm","typeLabel":"string"},"apy":{"type":"string","description":"Current reward APY component","example":"0.011","isRequired":true,"uniqueKey":"borrowRewardApys.items.[INDEX].apy","typeLabel":"string"},"tokensPerSecond":{"type":"string","description":"Reward token emission rate in UI token units per second","example":"0.00165","isRequired":true,"uniqueKey":"borrowRewardApys.items.[INDEX].tokensPerSecond","typeLabel":"string"}},"required":["rewardToken","farm","apy","tokensPerSecond"],"uniqueKey":"borrowRewardApys.items.[INDEX]","typeLabel":"object"},"description":"Current borrow-side farm reward APY components","isRequired":true,"uniqueKey":"borrowRewardApys","typeLabel":"object[]"},"pairIncentives":{"type":"array","items":{"type":"object","properties":{"side":{"type":"string","enum":["supply","borrow"],"description":"This reserve's role in the incentivized collateral/debt pair","isRequired":true,"uniqueKey":"pairIncentives.items.[INDEX].side","typeLabel":"enum\u003cstring>"},"collateralReserve":{"type":"string","description":"Valid base58-encoded address","example":"VEG1EMtttdHunMbSza8uoms1R18VXmYSph2bBpHcSJd","isRequired":true,"uniqueKey":"pairIncentives.items.[INDEX].collateralReserve","typeLabel":"string"},"collateralToken":{"type":"string","description":"Valid base58-encoded address","example":"VEG1EMtttdHunMbSza8uoms1R18VXmYSph2bBpHcSJd","isRequired":true,"uniqueKey":"pairIncentives.items.[INDEX].collateralToken","typeLabel":"string"},"debtReserve":{"type":"string","description":"Valid base58-encoded address","example":"VEG1EMtttdHunMbSza8uoms1R18VXmYSph2bBpHcSJd","isRequired":true,"uniqueKey":"pairIncentives.items.[INDEX].debtReserve","typeLabel":"string"},"debtToken":{"type":"string","description":"Valid base58-encoded address","example":"VEG1EMtttdHunMbSza8uoms1R18VXmYSph2bBpHcSJd","isRequired":true,"uniqueKey":"pairIncentives.items.[INDEX].debtToken","typeLabel":"string"},"farm":{"type":"string","description":"Valid base58-encoded address","example":"VEG1EMtttdHunMbSza8uoms1R18VXmYSph2bBpHcSJd","isRequired":true,"uniqueKey":"pairIncentives.items.[INDEX].farm","typeLabel":"string"},"rewardToken":{"type":"string","description":"Valid base58-encoded address","example":"VEG1EMtttdHunMbSza8uoms1R18VXmYSph2bBpHcSJd","isRequired":true,"uniqueKey":"pairIncentives.items.[INDEX].rewardToken","typeLabel":"string"},"apy":{"type":"string","description":"Current pair-specific reward APY on eligible pair debt, as a decimal fraction","example":"0.123","isRequired":true,"uniqueKey":"pairIncentives.items.[INDEX].apy","typeLabel":"string"},"tokensPerSecond":{"type":"string","description":"Reward token emission rate in UI token units per second","example":"1234.56789","isRequired":true,"uniqueKey":"pairIncentives.items.[INDEX].tokensPerSecond","typeLabel":"string"},"stakedUsd":{"type":"string","description":"Total eligible pair debt in USD used as the APY denominator","example":"1234.56789","isRequired":true,"uniqueKey":"pairIncentives.items.[INDEX].stakedUsd","typeLabel":"string"},"readMoreUrl":{"oneOf":[{"type":"string","format":"uri","description":"HTTPS link with more information about the incentive, or null when none is configured","isRequired":true,"uniqueKey":"pairIncentives.items.[INDEX].readMoreUrl.oneOf.0","typeLabel":"string\u003curi>"},{"type":"null","format":"uri","description":"HTTPS link with more information about the incentive, or null when none is configured","isRequired":true,"uniqueKey":"pairIncentives.items.[INDEX].readMoreUrl.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"pairIncentives.items.[INDEX].readMoreUrl","typeLabel":"string\u003curi> | null"}},"required":["side","collateralReserve","collateralToken","debtReserve","debtToken","farm","rewardToken","apy","tokensPerSecond","stakedUsd","readMoreUrl"],"uniqueKey":"pairIncentives.items.[INDEX]","typeLabel":"object"},"description":"Live pair-specific incentives whose eligibility depends on the counterparty asset. Rows are present only while the configured farm is active, funded, emitting and staked. These APYs are not included in supplyApyBreakdown.total or borrowApyBreakdown.total. Derive collateral \"Up to\" APY as max(apy) over supply rows and estimated net borrow APY as borrowApy.current - apy.","isRequired":true,"uniqueKey":"pairIncentives","typeLabel":"object[]"},"pointsPrograms":{"type":"array","items":{"type":"object","properties":{"side":{"type":"string","enum":["supply","borrow"],"description":"Reserve action that earns points","isRequired":true,"uniqueKey":"pointsPrograms.items.[INDEX].side","typeLabel":"enum\u003cstring>"},"key":{"type":"string","description":"Stable partner identifier, for example solstice","isRequired":true,"uniqueKey":"pointsPrograms.items.[INDEX].key","typeLabel":"string"},"name":{"type":"string","description":"Display name of the points program","isRequired":true,"uniqueKey":"pointsPrograms.items.[INDEX].name","typeLabel":"string"},"description":{"type":"string","description":"Display copy explaining how this reserve action earns points","isRequired":true,"uniqueKey":"pointsPrograms.items.[INDEX].description","typeLabel":"string"},"iconUrl":{"type":"string","format":"uri","description":"HTTPS URL of the points program icon","isRequired":true,"uniqueKey":"pointsPrograms.items.[INDEX].iconUrl","typeLabel":"string\u003curi>"},"learnMoreUrl":{"type":"string","format":"uri","description":"HTTPS URL with more information about the points program","isRequired":true,"uniqueKey":"pointsPrograms.items.[INDEX].learnMoreUrl","typeLabel":"string\u003curi>"}},"required":["side","key","name","description","iconUrl","learnMoreUrl"],"uniqueKey":"pointsPrograms.items.[INDEX]","typeLabel":"object"},"description":"Partner points programs for this reserve and side. These programs have no numeric APY and are not included in supplyApyBreakdown.total or borrowApyBreakdown.total.","isRequired":true,"uniqueKey":"pointsPrograms","typeLabel":"object[]"},"liquidityAvailable":{"type":"string","description":"Available reserve liquidity in UI token units","example":"1234.56789","isRequired":true,"uniqueKey":"liquidityAvailable","typeLabel":"string"},"liquidityAvailableUsd":{"type":"string","description":"Available reserve liquidity in USD","example":"1234.56789","isRequired":true,"uniqueKey":"liquidityAvailableUsd","typeLabel":"string"},"actualAvailableLiquidity":{"type":"string","description":"Maximum cap-aware reserve liquidity available for borrowing across cross mode and configured elevation groups, in UI token units. This does not include obligation-specific collateral or LTV constraints.","example":"1234.56789","isRequired":true,"uniqueKey":"actualAvailableLiquidity","typeLabel":"string"},"actualAvailableLiquidityUsd":{"type":"string","description":"Maximum cap-aware reserve liquidity available for borrowing across cross mode and configured elevation groups, in USD. This does not include obligation-specific collateral or LTV constraints.","example":"1234.56789","isRequired":true,"uniqueKey":"actualAvailableLiquidityUsd","typeLabel":"string"},"utilizationLimitBlockBorrowingAbovePct":{"type":"integer","description":"Utilization percentage above which new borrowing is blocked. A value of 0 disables the limit.","example":95,"isRequired":true,"uniqueKey":"utilizationLimitBlockBorrowingAbovePct","typeLabel":"integer"},"borrowCaps":{"type":"object","properties":{"utilization":{"type":"object","properties":{"limitPct":{"type":"integer","description":"Utilization percentage above which new borrowing is blocked. A value of 0 disables the limit.","example":95,"isRequired":true,"uniqueKey":"borrowCaps.utilization.limitPct","typeLabel":"integer"},"currentPct":{"type":"string","description":"Current reserve utilization as a percentage","example":"82.5","isRequired":true,"uniqueKey":"borrowCaps.utilization.currentPct","typeLabel":"string"}},"required":["limitPct","currentPct"],"isRequired":true,"uniqueKey":"borrowCaps.utilization","typeLabel":"object"},"netWithdrawal":{"oneOf":[{"type":"object","properties":{"capacity":{"type":"string","description":"Decimal value represented as string","example":"1234.56789","isRequired":true,"uniqueKey":"borrowCaps.netWithdrawal.oneOf.0.capacity","typeLabel":"string"},"currentTotal":{"type":"string","description":"Amount used in the current interval in UI token units. Read as 0 once the interval has elapsed.","example":"1234.56789","isRequired":true,"uniqueKey":"borrowCaps.netWithdrawal.oneOf.0.currentTotal","typeLabel":"string"},"intervalLengthSeconds":{"type":"integer","isRequired":true,"uniqueKey":"borrowCaps.netWithdrawal.oneOf.0.intervalLengthSeconds","typeLabel":"integer"},"lastIntervalStartTimestamp":{"type":"string","format":"date-time","isRequired":true,"uniqueKey":"borrowCaps.netWithdrawal.oneOf.0.lastIntervalStartTimestamp","typeLabel":"string\u003cdate-time>"}},"required":["capacity","currentTotal","intervalLengthSeconds","lastIntervalStartTimestamp"],"description":"Net withdrawal cap for reserve debt, or null when the cap is not configured","isRequired":true,"uniqueKey":"borrowCaps.netWithdrawal.oneOf.0","typeLabel":"object"},{"type":"null","properties":{"capacity":{"type":"string","description":"Decimal value represented as string","example":"1234.56789"},"currentTotal":{"type":"string","description":"Amount used in the current interval in UI token units. Read as 0 once the interval has elapsed.","example":"1234.56789"},"intervalLengthSeconds":{"type":"integer"},"lastIntervalStartTimestamp":{"type":"string","format":"date-time"}},"required":["capacity","currentTotal","intervalLengthSeconds","lastIntervalStartTimestamp"],"description":"Net withdrawal cap for reserve debt, or null when the cap is not configured","isRequired":true,"uniqueKey":"borrowCaps.netWithdrawal.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"borrowCaps.netWithdrawal","typeLabel":"object | null"},"globalDebt":{"type":"object","properties":{"capacity":{"oneOf":[{"type":"string","description":"Configured cap in UI token units, or null when uncapped","example":"1234.56789","isRequired":true,"uniqueKey":"borrowCaps.globalDebt.capacity.oneOf.0","typeLabel":"string"},{"type":"null","description":"Configured cap in UI token units, or null when uncapped","isRequired":true,"uniqueKey":"borrowCaps.globalDebt.capacity.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"borrowCaps.globalDebt.capacity","typeLabel":"string | null"},"currentTotal":{"type":"string","description":"Amount currently counted against the cap in UI token units","example":"1234.56789","isRequired":true,"uniqueKey":"borrowCaps.globalDebt.currentTotal","typeLabel":"string"}},"required":["capacity","currentTotal"],"description":"Global reserve debt cap and current total borrow","isRequired":true,"uniqueKey":"borrowCaps.globalDebt","typeLabel":"object"},"debtOutsideElevationGroup":{"type":"object","properties":{"capacity":{"oneOf":[{"type":"string","description":"Configured cap in UI token units, or null when uncapped","example":"1234.56789","isRequired":true,"uniqueKey":"borrowCaps.debtOutsideElevationGroup.capacity.oneOf.0","typeLabel":"string"},{"type":"null","description":"Configured cap in UI token units, or null when uncapped","isRequired":true,"uniqueKey":"borrowCaps.debtOutsideElevationGroup.capacity.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"borrowCaps.debtOutsideElevationGroup.capacity","typeLabel":"string | null"},"currentTotal":{"type":"string","description":"Amount currently counted against the cap in UI token units","example":"1234.56789","isRequired":true,"uniqueKey":"borrowCaps.debtOutsideElevationGroup.currentTotal","typeLabel":"string"}},"required":["capacity","currentTotal"],"description":"Debt cap and current debt outside elevation groups","isRequired":true,"uniqueKey":"borrowCaps.debtOutsideElevationGroup","typeLabel":"object"},"debtAgainstCollateral":{"type":"array","items":{"type":"object","properties":{"capacity":{"oneOf":[{"type":"string","description":"Configured cap in UI token units, or null when uncapped","example":"1234.56789","isRequired":true,"uniqueKey":"borrowCaps.debtAgainstCollateral.items.[INDEX].capacity.oneOf.0","typeLabel":"string"},{"type":"null","description":"Configured cap in UI token units, or null when uncapped","isRequired":true,"uniqueKey":"borrowCaps.debtAgainstCollateral.items.[INDEX].capacity.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"borrowCaps.debtAgainstCollateral.items.[INDEX].capacity","typeLabel":"string | null"},"currentTotal":{"type":"string","description":"Amount currently counted against the cap in UI token units","example":"1234.56789","isRequired":true,"uniqueKey":"borrowCaps.debtAgainstCollateral.items.[INDEX].currentTotal","typeLabel":"string"},"collateralReserve":{"type":"string","description":"Collateral reserve whose elevation-group debt cap is represented","example":"VEG1EMtttdHunMbSza8uoms1R18VXmYSph2bBpHcSJd","isRequired":true,"uniqueKey":"borrowCaps.debtAgainstCollateral.items.[INDEX].collateralReserve","typeLabel":"string"},"elevationGroup":{"type":"integer","exclusiveMinimum":0,"isRequired":true,"uniqueKey":"borrowCaps.debtAgainstCollateral.items.[INDEX].elevationGroup","typeLabel":"integer"}},"required":["capacity","currentTotal","collateralReserve","elevationGroup"],"uniqueKey":"borrowCaps.debtAgainstCollateral.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"borrowCaps.debtAgainstCollateral","typeLabel":"object[]"}},"required":["utilization","netWithdrawal","globalDebt","debtOutsideElevationGroup","debtAgainstCollateral"],"description":"Configured reserve borrowing caps and their current on-chain counters","isRequired":true,"uniqueKey":"borrowCaps","typeLabel":"object"},"totalSupply":{"type":"string","description":"Total reserve supply in UI token units","example":"1234.56789","isRequired":true,"uniqueKey":"totalSupply","typeLabel":"string"},"totalSupplyUsd":{"type":"string","description":"Total reserve supply in USD","example":"1234.56789","isRequired":true,"uniqueKey":"totalSupplyUsd","typeLabel":"string"},"totalBorrow":{"type":"string","description":"Total reserve borrow in UI token units","example":"1234.56789","isRequired":true,"uniqueKey":"totalBorrow","typeLabel":"string"},"totalBorrowUsd":{"type":"string","description":"Total reserve borrow in USD","example":"1234.56789","isRequired":true,"uniqueKey":"totalBorrowUsd","typeLabel":"string"},"liqLTV":{"type":"string","description":"Liquidation loan-to-value ratio","example":"0.8","isRequired":true,"uniqueKey":"liqLTV","typeLabel":"string"},"maxLTV":{"type":"string","description":"Maximum loan-to-value ratio","example":"0.75","isRequired":true,"uniqueKey":"maxLTV","typeLabel":"string"},"borrowFactor":{"type":"string","description":"Borrow factor as a ratio","example":"1","isRequired":true,"uniqueKey":"borrowFactor","typeLabel":"string"},"depositLimit":{"oneOf":[{"type":"string","description":"Reserve deposit limit in UI token units, or null when uncapped","example":"200000","isRequired":true,"uniqueKey":"depositLimit.oneOf.0","typeLabel":"string"},{"type":"null","description":"Reserve deposit limit in UI token units, or null when uncapped","example":"200000","isRequired":true,"uniqueKey":"depositLimit.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"depositLimit","typeLabel":"string | null"},"borrowLimit":{"oneOf":[{"type":"string","description":"Reserve borrow limit in UI token units, or null when uncapped","example":"150000","isRequired":true,"uniqueKey":"borrowLimit.oneOf.0","typeLabel":"string"},{"type":"null","description":"Reserve borrow limit in UI token units, or null when uncapped","example":"150000","isRequired":true,"uniqueKey":"borrowLimit.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"borrowLimit","typeLabel":"string | null"},"minLiquidationBonus":{"type":"string","description":"Minimum liquidation bonus as a ratio","example":"0.02","isRequired":true,"uniqueKey":"minLiquidationBonus","typeLabel":"string"},"maxLiquidationBonus":{"type":"string","description":"Maximum liquidation bonus as a ratio","example":"0.1","isRequired":true,"uniqueKey":"maxLiquidationBonus","typeLabel":"string"},"liquidationMaxDebtCloseFactorPct":{"type":"integer","description":"Market maximum debt close factor as an integer percentage","example":10,"isRequired":true,"uniqueKey":"liquidationMaxDebtCloseFactorPct","typeLabel":"integer"},"insolvencyRiskUnhealthyLtvPct":{"type":"integer","description":"Market LTV threshold as an integer percentage; obligations above it can be fully liquidated instead of being capped by the debt close factor","example":95,"isRequired":true,"uniqueKey":"insolvencyRiskUnhealthyLtvPct","typeLabel":"integer"},"limits":{"type":"object","properties":{"depositWithdrawalCap":{"oneOf":[{"type":"object","properties":{"capacity":{"type":"string","description":"Decimal value represented as string","example":"1234.56789","isRequired":true,"uniqueKey":"limits.depositWithdrawalCap.oneOf.0.capacity","typeLabel":"string"},"currentTotal":{"type":"string","description":"Amount used in the current interval in UI token units. Read as 0 once the interval has elapsed.","example":"1234.56789","isRequired":true,"uniqueKey":"limits.depositWithdrawalCap.oneOf.0.currentTotal","typeLabel":"string"},"intervalLengthSeconds":{"type":"integer","isRequired":true,"uniqueKey":"limits.depositWithdrawalCap.oneOf.0.intervalLengthSeconds","typeLabel":"integer"},"lastIntervalStartTimestamp":{"type":"string","format":"date-time","isRequired":true,"uniqueKey":"limits.depositWithdrawalCap.oneOf.0.lastIntervalStartTimestamp","typeLabel":"string\u003cdate-time>"}},"required":["capacity","currentTotal","intervalLengthSeconds","lastIntervalStartTimestamp"],"description":"Deposit withdrawal cap, or null when the cap is not configured","isRequired":true,"uniqueKey":"limits.depositWithdrawalCap.oneOf.0","typeLabel":"object"},{"type":"null","properties":{"capacity":{"type":"string","description":"Decimal value represented as string","example":"1234.56789"},"currentTotal":{"type":"string","description":"Amount used in the current interval in UI token units. Read as 0 once the interval has elapsed.","example":"1234.56789"},"intervalLengthSeconds":{"type":"integer"},"lastIntervalStartTimestamp":{"type":"string","format":"date-time"}},"required":["capacity","currentTotal","intervalLengthSeconds","lastIntervalStartTimestamp"],"description":"Deposit withdrawal cap, or null when the cap is not configured","isRequired":true,"uniqueKey":"limits.depositWithdrawalCap.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"limits.depositWithdrawalCap","typeLabel":"object | null"},"debtWithdrawalCap":{"oneOf":[{"type":"object","properties":{"capacity":{"type":"string","description":"Decimal value represented as string","example":"1234.56789","isRequired":true,"uniqueKey":"limits.debtWithdrawalCap.oneOf.0.capacity","typeLabel":"string"},"currentTotal":{"type":"string","description":"Amount used in the current interval in UI token units. Read as 0 once the interval has elapsed.","example":"1234.56789","isRequired":true,"uniqueKey":"limits.debtWithdrawalCap.oneOf.0.currentTotal","typeLabel":"string"},"intervalLengthSeconds":{"type":"integer","isRequired":true,"uniqueKey":"limits.debtWithdrawalCap.oneOf.0.intervalLengthSeconds","typeLabel":"integer"},"lastIntervalStartTimestamp":{"type":"string","format":"date-time","isRequired":true,"uniqueKey":"limits.debtWithdrawalCap.oneOf.0.lastIntervalStartTimestamp","typeLabel":"string\u003cdate-time>"}},"required":["capacity","currentTotal","intervalLengthSeconds","lastIntervalStartTimestamp"],"description":"Debt withdrawal cap, or null when the cap is not configured","isRequired":true,"uniqueKey":"limits.debtWithdrawalCap.oneOf.0","typeLabel":"object"},{"type":"null","properties":{"capacity":{"type":"string","description":"Decimal value represented as string","example":"1234.56789"},"currentTotal":{"type":"string","description":"Amount used in the current interval in UI token units. Read as 0 once the interval has elapsed.","example":"1234.56789"},"intervalLengthSeconds":{"type":"integer"},"lastIntervalStartTimestamp":{"type":"string","format":"date-time"}},"required":["capacity","currentTotal","intervalLengthSeconds","lastIntervalStartTimestamp"],"description":"Debt withdrawal cap, or null when the cap is not configured","isRequired":true,"uniqueKey":"limits.debtWithdrawalCap.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"limits.debtWithdrawalCap","typeLabel":"object | null"}},"required":["depositWithdrawalCap","debtWithdrawalCap"],"isRequired":true,"uniqueKey":"limits","typeLabel":"object"},"proofOfReserves":{"type":"object","properties":{"verified":{"type":"boolean","isRequired":true,"uniqueKey":"proofOfReserves.verified","typeLabel":"boolean"},"address":{"type":"string","description":"Valid base58-encoded address","example":"VEG1EMtttdHunMbSza8uoms1R18VXmYSph2bBpHcSJd","isRequired":true,"uniqueKey":"proofOfReserves.address","typeLabel":"string"}},"required":["verified","address"],"isRequired":true,"uniqueKey":"proofOfReserves","typeLabel":"object"},"oracle":{"oneOf":[{"type":"object","properties":{"priceChain":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","description":"Display name of the Scope price entry","example":"Fixed 1","isRequired":true,"uniqueKey":"oracle.oneOf.0.priceChain.items.[INDEX].name","typeLabel":"string"},"oracleType":{"type":"string","description":"Scope oracle type of the entry, or Unknown when the type is newer than the API supports","example":"FixedPrice","isRequired":true,"uniqueKey":"oracle.oneOf.0.priceChain.items.[INDEX].oracleType","typeLabel":"string"},"provider":{"type":"string","description":"Price provider behind the entry. Currently one of Pyth, Switchboard, Chainlink, Redstone or Scope; new providers can be added without notice","example":"Scope","isRequired":true,"uniqueKey":"oracle.oneOf.0.priceChain.items.[INDEX].provider","typeLabel":"string"},"priceId":{"type":"integer","description":"Index of the entry in the Scope price feed","example":13,"isRequired":true,"uniqueKey":"oracle.oneOf.0.priceChain.items.[INDEX].priceId","typeLabel":"integer"},"nested":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","description":"Composite Scope oracle type. Currently one of CappedFloored, MostRecentOf or CappedMostRecentOf; new composite types can be added without notice","example":"CappedFloored","isRequired":true,"uniqueKey":"oracle.oneOf.0.priceChain.items.[INDEX].nested.oneOf.0.type","typeLabel":"string"},"source":{"oneOf":[{"type":"object","properties":{"name":{"type":"string","description":"Display name of the Scope price entry","example":"Fixed 1","isRequired":true,"uniqueKey":"oracle.oneOf.0.priceChain.items.[INDEX].nested.oneOf.0.source.oneOf.0.name","typeLabel":"string"},"oracleType":{"type":"string","description":"Scope oracle type of the entry, or Unknown when the type is newer than the API supports","example":"FixedPrice","isRequired":true,"uniqueKey":"oracle.oneOf.0.priceChain.items.[INDEX].nested.oneOf.0.source.oneOf.0.oracleType","typeLabel":"string"},"provider":{"type":"string","description":"Price provider behind the entry. Currently one of Pyth, Switchboard, Chainlink, Redstone or Scope; new providers can be added without notice","example":"Scope","isRequired":true,"uniqueKey":"oracle.oneOf.0.priceChain.items.[INDEX].nested.oneOf.0.source.oneOf.0.provider","typeLabel":"string"}},"required":["name","oracleType","provider"],"description":"Source entry of a CappedFloored oracle, or null for other types","isRequired":true,"uniqueKey":"oracle.oneOf.0.priceChain.items.[INDEX].nested.oneOf.0.source.oneOf.0","typeLabel":"object"},{"type":"null","properties":{"name":{"type":"string","description":"Display name of the Scope price entry","example":"Fixed 1"},"oracleType":{"type":"string","description":"Scope oracle type of the entry, or Unknown when the type is newer than the API supports","example":"FixedPrice"},"provider":{"type":"string","description":"Price provider behind the entry. Currently one of Pyth, Switchboard, Chainlink, Redstone or Scope; new providers can be added without notice","example":"Scope"}},"required":["name","oracleType","provider"],"description":"Source entry of a CappedFloored oracle, or null for other types","isRequired":true,"uniqueKey":"oracle.oneOf.0.priceChain.items.[INDEX].nested.oneOf.0.source.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oracle.oneOf.0.priceChain.items.[INDEX].nested.oneOf.0.source","typeLabel":"object | null"},"sources":{"oneOf":[{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","description":"Display name of the Scope price entry","example":"Fixed 1","isRequired":true,"uniqueKey":"oracle.oneOf.0.priceChain.items.[INDEX].nested.oneOf.0.sources.oneOf.0.items.[INDEX].name","typeLabel":"string"},"oracleType":{"type":"string","description":"Scope oracle type of the entry, or Unknown when the type is newer than the API supports","example":"FixedPrice","isRequired":true,"uniqueKey":"oracle.oneOf.0.priceChain.items.[INDEX].nested.oneOf.0.sources.oneOf.0.items.[INDEX].oracleType","typeLabel":"string"},"provider":{"type":"string","description":"Price provider behind the entry. Currently one of Pyth, Switchboard, Chainlink, Redstone or Scope; new providers can be added without notice","example":"Scope","isRequired":true,"uniqueKey":"oracle.oneOf.0.priceChain.items.[INDEX].nested.oneOf.0.sources.oneOf.0.items.[INDEX].provider","typeLabel":"string"}},"required":["name","oracleType","provider"],"uniqueKey":"oracle.oneOf.0.priceChain.items.[INDEX].nested.oneOf.0.sources.oneOf.0.items.[INDEX]","typeLabel":"object"},"description":"Source entries of a MostRecentOf or CappedMostRecentOf oracle, or null for other types","isRequired":true,"uniqueKey":"oracle.oneOf.0.priceChain.items.[INDEX].nested.oneOf.0.sources.oneOf.0","typeLabel":"object[]"},{"type":"null","items":{"type":"object","properties":{"name":{"type":"string","description":"Display name of the Scope price entry","example":"Fixed 1"},"oracleType":{"type":"string","description":"Scope oracle type of the entry, or Unknown when the type is newer than the API supports","example":"FixedPrice"},"provider":{"type":"string","description":"Price provider behind the entry. Currently one of Pyth, Switchboard, Chainlink, Redstone or Scope; new providers can be added without notice","example":"Scope"}},"required":["name","oracleType","provider"]},"description":"Source entries of a MostRecentOf or CappedMostRecentOf oracle, or null for other types","isRequired":true,"uniqueKey":"oracle.oneOf.0.priceChain.items.[INDEX].nested.oneOf.0.sources.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oracle.oneOf.0.priceChain.items.[INDEX].nested.oneOf.0.sources","typeLabel":"object[] | null"},"cap":{"oneOf":[{"type":"object","properties":{"name":{"type":"string","description":"Display name of the Scope price entry","example":"Fixed 1","isRequired":true,"uniqueKey":"oracle.oneOf.0.priceChain.items.[INDEX].nested.oneOf.0.cap.oneOf.0.name","typeLabel":"string"},"oracleType":{"type":"string","description":"Scope oracle type of the entry, or Unknown when the type is newer than the API supports","example":"FixedPrice","isRequired":true,"uniqueKey":"oracle.oneOf.0.priceChain.items.[INDEX].nested.oneOf.0.cap.oneOf.0.oracleType","typeLabel":"string"},"provider":{"type":"string","description":"Price provider behind the entry. Currently one of Pyth, Switchboard, Chainlink, Redstone or Scope; new providers can be added without notice","example":"Scope","isRequired":true,"uniqueKey":"oracle.oneOf.0.priceChain.items.[INDEX].nested.oneOf.0.cap.oneOf.0.provider","typeLabel":"string"}},"required":["name","oracleType","provider"],"description":"Entry that caps the price, or null when the price is not capped","isRequired":true,"uniqueKey":"oracle.oneOf.0.priceChain.items.[INDEX].nested.oneOf.0.cap.oneOf.0","typeLabel":"object"},{"type":"null","properties":{"name":{"type":"string","description":"Display name of the Scope price entry","example":"Fixed 1"},"oracleType":{"type":"string","description":"Scope oracle type of the entry, or Unknown when the type is newer than the API supports","example":"FixedPrice"},"provider":{"type":"string","description":"Price provider behind the entry. Currently one of Pyth, Switchboard, Chainlink, Redstone or Scope; new providers can be added without notice","example":"Scope"}},"required":["name","oracleType","provider"],"description":"Entry that caps the price, or null when the price is not capped","isRequired":true,"uniqueKey":"oracle.oneOf.0.priceChain.items.[INDEX].nested.oneOf.0.cap.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oracle.oneOf.0.priceChain.items.[INDEX].nested.oneOf.0.cap","typeLabel":"object | null"},"floor":{"oneOf":[{"type":"object","properties":{"name":{"type":"string","description":"Display name of the Scope price entry","example":"Fixed 1","isRequired":true,"uniqueKey":"oracle.oneOf.0.priceChain.items.[INDEX].nested.oneOf.0.floor.oneOf.0.name","typeLabel":"string"},"oracleType":{"type":"string","description":"Scope oracle type of the entry, or Unknown when the type is newer than the API supports","example":"FixedPrice","isRequired":true,"uniqueKey":"oracle.oneOf.0.priceChain.items.[INDEX].nested.oneOf.0.floor.oneOf.0.oracleType","typeLabel":"string"},"provider":{"type":"string","description":"Price provider behind the entry. Currently one of Pyth, Switchboard, Chainlink, Redstone or Scope; new providers can be added without notice","example":"Scope","isRequired":true,"uniqueKey":"oracle.oneOf.0.priceChain.items.[INDEX].nested.oneOf.0.floor.oneOf.0.provider","typeLabel":"string"}},"required":["name","oracleType","provider"],"description":"Entry that floors the price, or null when the price is not floored","isRequired":true,"uniqueKey":"oracle.oneOf.0.priceChain.items.[INDEX].nested.oneOf.0.floor.oneOf.0","typeLabel":"object"},{"type":"null","properties":{"name":{"type":"string","description":"Display name of the Scope price entry","example":"Fixed 1"},"oracleType":{"type":"string","description":"Scope oracle type of the entry, or Unknown when the type is newer than the API supports","example":"FixedPrice"},"provider":{"type":"string","description":"Price provider behind the entry. Currently one of Pyth, Switchboard, Chainlink, Redstone or Scope; new providers can be added without notice","example":"Scope"}},"required":["name","oracleType","provider"],"description":"Entry that floors the price, or null when the price is not floored","isRequired":true,"uniqueKey":"oracle.oneOf.0.priceChain.items.[INDEX].nested.oneOf.0.floor.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oracle.oneOf.0.priceChain.items.[INDEX].nested.oneOf.0.floor","typeLabel":"object | null"}},"required":["type","source","sources","cap","floor"],"description":"Component entries of a composite Scope oracle, or null for a plain entry","isRequired":true,"uniqueKey":"oracle.oneOf.0.priceChain.items.[INDEX].nested.oneOf.0","typeLabel":"object"},{"type":"null","properties":{"type":{"type":"string","description":"Composite Scope oracle type. Currently one of CappedFloored, MostRecentOf or CappedMostRecentOf; new composite types can be added without notice","example":"CappedFloored"},"source":{"oneOf":[{"type":"object","properties":{"name":{"type":"string","description":"Display name of the Scope price entry","example":"Fixed 1"},"oracleType":{"type":"string","description":"Scope oracle type of the entry, or Unknown when the type is newer than the API supports","example":"FixedPrice"},"provider":{"type":"string","description":"Price provider behind the entry. Currently one of Pyth, Switchboard, Chainlink, Redstone or Scope; new providers can be added without notice","example":"Scope"}},"required":["name","oracleType","provider"],"description":"Source entry of a CappedFloored oracle, or null for other types"},{"type":"null","properties":{"name":{"type":"string","description":"Display name of the Scope price entry","example":"Fixed 1"},"oracleType":{"type":"string","description":"Scope oracle type of the entry, or Unknown when the type is newer than the API supports","example":"FixedPrice"},"provider":{"type":"string","description":"Price provider behind the entry. Currently one of Pyth, Switchboard, Chainlink, Redstone or Scope; new providers can be added without notice","example":"Scope"}},"required":["name","oracleType","provider"],"description":"Source entry of a CappedFloored oracle, or null for other types"}]},"sources":{"oneOf":[{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","description":"Display name of the Scope price entry","example":"Fixed 1"},"oracleType":{"type":"string","description":"Scope oracle type of the entry, or Unknown when the type is newer than the API supports","example":"FixedPrice"},"provider":{"type":"string","description":"Price provider behind the entry. Currently one of Pyth, Switchboard, Chainlink, Redstone or Scope; new providers can be added without notice","example":"Scope"}},"required":["name","oracleType","provider"]},"description":"Source entries of a MostRecentOf or CappedMostRecentOf oracle, or null for other types"},{"type":"null","items":{"type":"object","properties":{"name":{"type":"string","description":"Display name of the Scope price entry","example":"Fixed 1"},"oracleType":{"type":"string","description":"Scope oracle type of the entry, or Unknown when the type is newer than the API supports","example":"FixedPrice"},"provider":{"type":"string","description":"Price provider behind the entry. Currently one of Pyth, Switchboard, Chainlink, Redstone or Scope; new providers can be added without notice","example":"Scope"}},"required":["name","oracleType","provider"]},"description":"Source entries of a MostRecentOf or CappedMostRecentOf oracle, or null for other types"}]},"cap":{"oneOf":[{"type":"object","properties":{"name":{"type":"string","description":"Display name of the Scope price entry","example":"Fixed 1"},"oracleType":{"type":"string","description":"Scope oracle type of the entry, or Unknown when the type is newer than the API supports","example":"FixedPrice"},"provider":{"type":"string","description":"Price provider behind the entry. Currently one of Pyth, Switchboard, Chainlink, Redstone or Scope; new providers can be added without notice","example":"Scope"}},"required":["name","oracleType","provider"],"description":"Entry that caps the price, or null when the price is not capped"},{"type":"null","properties":{"name":{"type":"string","description":"Display name of the Scope price entry","example":"Fixed 1"},"oracleType":{"type":"string","description":"Scope oracle type of the entry, or Unknown when the type is newer than the API supports","example":"FixedPrice"},"provider":{"type":"string","description":"Price provider behind the entry. Currently one of Pyth, Switchboard, Chainlink, Redstone or Scope; new providers can be added without notice","example":"Scope"}},"required":["name","oracleType","provider"],"description":"Entry that caps the price, or null when the price is not capped"}]},"floor":{"oneOf":[{"type":"object","properties":{"name":{"type":"string","description":"Display name of the Scope price entry","example":"Fixed 1"},"oracleType":{"type":"string","description":"Scope oracle type of the entry, or Unknown when the type is newer than the API supports","example":"FixedPrice"},"provider":{"type":"string","description":"Price provider behind the entry. Currently one of Pyth, Switchboard, Chainlink, Redstone or Scope; new providers can be added without notice","example":"Scope"}},"required":["name","oracleType","provider"],"description":"Entry that floors the price, or null when the price is not floored"},{"type":"null","properties":{"name":{"type":"string","description":"Display name of the Scope price entry","example":"Fixed 1"},"oracleType":{"type":"string","description":"Scope oracle type of the entry, or Unknown when the type is newer than the API supports","example":"FixedPrice"},"provider":{"type":"string","description":"Price provider behind the entry. Currently one of Pyth, Switchboard, Chainlink, Redstone or Scope; new providers can be added without notice","example":"Scope"}},"required":["name","oracleType","provider"],"description":"Entry that floors the price, or null when the price is not floored"}]}},"required":["type","source","sources","cap","floor"],"description":"Component entries of a composite Scope oracle, or null for a plain entry","isRequired":true,"uniqueKey":"oracle.oneOf.0.priceChain.items.[INDEX].nested.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oracle.oneOf.0.priceChain.items.[INDEX].nested","typeLabel":"object | null"}},"required":["name","oracleType","provider","priceId","nested"],"uniqueKey":"oracle.oneOf.0.priceChain.items.[INDEX]","typeLabel":"object"},"description":"Scope entries combined into the reserve price, or empty when the reserve has no Scope price chain","isRequired":true,"uniqueKey":"oracle.oneOf.0.priceChain","typeLabel":"object[]"},"twapChain":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","description":"Display name of the Scope price entry","example":"Fixed 1","isRequired":true,"uniqueKey":"oracle.oneOf.0.twapChain.items.[INDEX].name","typeLabel":"string"},"oracleType":{"type":"string","description":"Scope oracle type of the entry, or Unknown when the type is newer than the API supports","example":"FixedPrice","isRequired":true,"uniqueKey":"oracle.oneOf.0.twapChain.items.[INDEX].oracleType","typeLabel":"string"},"provider":{"type":"string","description":"Price provider behind the entry. Currently one of Pyth, Switchboard, Chainlink, Redstone or Scope; new providers can be added without notice","example":"Scope","isRequired":true,"uniqueKey":"oracle.oneOf.0.twapChain.items.[INDEX].provider","typeLabel":"string"},"priceId":{"type":"integer","description":"Index of the entry in the Scope price feed","example":13,"isRequired":true,"uniqueKey":"oracle.oneOf.0.twapChain.items.[INDEX].priceId","typeLabel":"integer"},"nested":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","description":"Composite Scope oracle type. Currently one of CappedFloored, MostRecentOf or CappedMostRecentOf; new composite types can be added without notice","example":"CappedFloored","isRequired":true,"uniqueKey":"oracle.oneOf.0.twapChain.items.[INDEX].nested.oneOf.0.type","typeLabel":"string"},"source":{"oneOf":[{"type":"object","properties":{"name":{"type":"string","description":"Display name of the Scope price entry","example":"Fixed 1","isRequired":true,"uniqueKey":"oracle.oneOf.0.twapChain.items.[INDEX].nested.oneOf.0.source.oneOf.0.name","typeLabel":"string"},"oracleType":{"type":"string","description":"Scope oracle type of the entry, or Unknown when the type is newer than the API supports","example":"FixedPrice","isRequired":true,"uniqueKey":"oracle.oneOf.0.twapChain.items.[INDEX].nested.oneOf.0.source.oneOf.0.oracleType","typeLabel":"string"},"provider":{"type":"string","description":"Price provider behind the entry. Currently one of Pyth, Switchboard, Chainlink, Redstone or Scope; new providers can be added without notice","example":"Scope","isRequired":true,"uniqueKey":"oracle.oneOf.0.twapChain.items.[INDEX].nested.oneOf.0.source.oneOf.0.provider","typeLabel":"string"}},"required":["name","oracleType","provider"],"description":"Source entry of a CappedFloored oracle, or null for other types","isRequired":true,"uniqueKey":"oracle.oneOf.0.twapChain.items.[INDEX].nested.oneOf.0.source.oneOf.0","typeLabel":"object"},{"type":"null","properties":{"name":{"type":"string","description":"Display name of the Scope price entry","example":"Fixed 1"},"oracleType":{"type":"string","description":"Scope oracle type of the entry, or Unknown when the type is newer than the API supports","example":"FixedPrice"},"provider":{"type":"string","description":"Price provider behind the entry. Currently one of Pyth, Switchboard, Chainlink, Redstone or Scope; new providers can be added without notice","example":"Scope"}},"required":["name","oracleType","provider"],"description":"Source entry of a CappedFloored oracle, or null for other types","isRequired":true,"uniqueKey":"oracle.oneOf.0.twapChain.items.[INDEX].nested.oneOf.0.source.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oracle.oneOf.0.twapChain.items.[INDEX].nested.oneOf.0.source","typeLabel":"object | null"},"sources":{"oneOf":[{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","description":"Display name of the Scope price entry","example":"Fixed 1","isRequired":true,"uniqueKey":"oracle.oneOf.0.twapChain.items.[INDEX].nested.oneOf.0.sources.oneOf.0.items.[INDEX].name","typeLabel":"string"},"oracleType":{"type":"string","description":"Scope oracle type of the entry, or Unknown when the type is newer than the API supports","example":"FixedPrice","isRequired":true,"uniqueKey":"oracle.oneOf.0.twapChain.items.[INDEX].nested.oneOf.0.sources.oneOf.0.items.[INDEX].oracleType","typeLabel":"string"},"provider":{"type":"string","description":"Price provider behind the entry. Currently one of Pyth, Switchboard, Chainlink, Redstone or Scope; new providers can be added without notice","example":"Scope","isRequired":true,"uniqueKey":"oracle.oneOf.0.twapChain.items.[INDEX].nested.oneOf.0.sources.oneOf.0.items.[INDEX].provider","typeLabel":"string"}},"required":["name","oracleType","provider"],"uniqueKey":"oracle.oneOf.0.twapChain.items.[INDEX].nested.oneOf.0.sources.oneOf.0.items.[INDEX]","typeLabel":"object"},"description":"Source entries of a MostRecentOf or CappedMostRecentOf oracle, or null for other types","isRequired":true,"uniqueKey":"oracle.oneOf.0.twapChain.items.[INDEX].nested.oneOf.0.sources.oneOf.0","typeLabel":"object[]"},{"type":"null","items":{"type":"object","properties":{"name":{"type":"string","description":"Display name of the Scope price entry","example":"Fixed 1"},"oracleType":{"type":"string","description":"Scope oracle type of the entry, or Unknown when the type is newer than the API supports","example":"FixedPrice"},"provider":{"type":"string","description":"Price provider behind the entry. Currently one of Pyth, Switchboard, Chainlink, Redstone or Scope; new providers can be added without notice","example":"Scope"}},"required":["name","oracleType","provider"]},"description":"Source entries of a MostRecentOf or CappedMostRecentOf oracle, or null for other types","isRequired":true,"uniqueKey":"oracle.oneOf.0.twapChain.items.[INDEX].nested.oneOf.0.sources.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oracle.oneOf.0.twapChain.items.[INDEX].nested.oneOf.0.sources","typeLabel":"object[] | null"},"cap":{"oneOf":[{"type":"object","properties":{"name":{"type":"string","description":"Display name of the Scope price entry","example":"Fixed 1","isRequired":true,"uniqueKey":"oracle.oneOf.0.twapChain.items.[INDEX].nested.oneOf.0.cap.oneOf.0.name","typeLabel":"string"},"oracleType":{"type":"string","description":"Scope oracle type of the entry, or Unknown when the type is newer than the API supports","example":"FixedPrice","isRequired":true,"uniqueKey":"oracle.oneOf.0.twapChain.items.[INDEX].nested.oneOf.0.cap.oneOf.0.oracleType","typeLabel":"string"},"provider":{"type":"string","description":"Price provider behind the entry. Currently one of Pyth, Switchboard, Chainlink, Redstone or Scope; new providers can be added without notice","example":"Scope","isRequired":true,"uniqueKey":"oracle.oneOf.0.twapChain.items.[INDEX].nested.oneOf.0.cap.oneOf.0.provider","typeLabel":"string"}},"required":["name","oracleType","provider"],"description":"Entry that caps the price, or null when the price is not capped","isRequired":true,"uniqueKey":"oracle.oneOf.0.twapChain.items.[INDEX].nested.oneOf.0.cap.oneOf.0","typeLabel":"object"},{"type":"null","properties":{"name":{"type":"string","description":"Display name of the Scope price entry","example":"Fixed 1"},"oracleType":{"type":"string","description":"Scope oracle type of the entry, or Unknown when the type is newer than the API supports","example":"FixedPrice"},"provider":{"type":"string","description":"Price provider behind the entry. Currently one of Pyth, Switchboard, Chainlink, Redstone or Scope; new providers can be added without notice","example":"Scope"}},"required":["name","oracleType","provider"],"description":"Entry that caps the price, or null when the price is not capped","isRequired":true,"uniqueKey":"oracle.oneOf.0.twapChain.items.[INDEX].nested.oneOf.0.cap.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oracle.oneOf.0.twapChain.items.[INDEX].nested.oneOf.0.cap","typeLabel":"object | null"},"floor":{"oneOf":[{"type":"object","properties":{"name":{"type":"string","description":"Display name of the Scope price entry","example":"Fixed 1","isRequired":true,"uniqueKey":"oracle.oneOf.0.twapChain.items.[INDEX].nested.oneOf.0.floor.oneOf.0.name","typeLabel":"string"},"oracleType":{"type":"string","description":"Scope oracle type of the entry, or Unknown when the type is newer than the API supports","example":"FixedPrice","isRequired":true,"uniqueKey":"oracle.oneOf.0.twapChain.items.[INDEX].nested.oneOf.0.floor.oneOf.0.oracleType","typeLabel":"string"},"provider":{"type":"string","description":"Price provider behind the entry. Currently one of Pyth, Switchboard, Chainlink, Redstone or Scope; new providers can be added without notice","example":"Scope","isRequired":true,"uniqueKey":"oracle.oneOf.0.twapChain.items.[INDEX].nested.oneOf.0.floor.oneOf.0.provider","typeLabel":"string"}},"required":["name","oracleType","provider"],"description":"Entry that floors the price, or null when the price is not floored","isRequired":true,"uniqueKey":"oracle.oneOf.0.twapChain.items.[INDEX].nested.oneOf.0.floor.oneOf.0","typeLabel":"object"},{"type":"null","properties":{"name":{"type":"string","description":"Display name of the Scope price entry","example":"Fixed 1"},"oracleType":{"type":"string","description":"Scope oracle type of the entry, or Unknown when the type is newer than the API supports","example":"FixedPrice"},"provider":{"type":"string","description":"Price provider behind the entry. Currently one of Pyth, Switchboard, Chainlink, Redstone or Scope; new providers can be added without notice","example":"Scope"}},"required":["name","oracleType","provider"],"description":"Entry that floors the price, or null when the price is not floored","isRequired":true,"uniqueKey":"oracle.oneOf.0.twapChain.items.[INDEX].nested.oneOf.0.floor.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oracle.oneOf.0.twapChain.items.[INDEX].nested.oneOf.0.floor","typeLabel":"object | null"}},"required":["type","source","sources","cap","floor"],"description":"Component entries of a composite Scope oracle, or null for a plain entry","isRequired":true,"uniqueKey":"oracle.oneOf.0.twapChain.items.[INDEX].nested.oneOf.0","typeLabel":"object"},{"type":"null","properties":{"type":{"type":"string","description":"Composite Scope oracle type. Currently one of CappedFloored, MostRecentOf or CappedMostRecentOf; new composite types can be added without notice","example":"CappedFloored"},"source":{"oneOf":[{"type":"object","properties":{"name":{"type":"string","description":"Display name of the Scope price entry","example":"Fixed 1"},"oracleType":{"type":"string","description":"Scope oracle type of the entry, or Unknown when the type is newer than the API supports","example":"FixedPrice"},"provider":{"type":"string","description":"Price provider behind the entry. Currently one of Pyth, Switchboard, Chainlink, Redstone or Scope; new providers can be added without notice","example":"Scope"}},"required":["name","oracleType","provider"],"description":"Source entry of a CappedFloored oracle, or null for other types"},{"type":"null","properties":{"name":{"type":"string","description":"Display name of the Scope price entry","example":"Fixed 1"},"oracleType":{"type":"string","description":"Scope oracle type of the entry, or Unknown when the type is newer than the API supports","example":"FixedPrice"},"provider":{"type":"string","description":"Price provider behind the entry. Currently one of Pyth, Switchboard, Chainlink, Redstone or Scope; new providers can be added without notice","example":"Scope"}},"required":["name","oracleType","provider"],"description":"Source entry of a CappedFloored oracle, or null for other types"}]},"sources":{"oneOf":[{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","description":"Display name of the Scope price entry","example":"Fixed 1"},"oracleType":{"type":"string","description":"Scope oracle type of the entry, or Unknown when the type is newer than the API supports","example":"FixedPrice"},"provider":{"type":"string","description":"Price provider behind the entry. Currently one of Pyth, Switchboard, Chainlink, Redstone or Scope; new providers can be added without notice","example":"Scope"}},"required":["name","oracleType","provider"]},"description":"Source entries of a MostRecentOf or CappedMostRecentOf oracle, or null for other types"},{"type":"null","items":{"type":"object","properties":{"name":{"type":"string","description":"Display name of the Scope price entry","example":"Fixed 1"},"oracleType":{"type":"string","description":"Scope oracle type of the entry, or Unknown when the type is newer than the API supports","example":"FixedPrice"},"provider":{"type":"string","description":"Price provider behind the entry. Currently one of Pyth, Switchboard, Chainlink, Redstone or Scope; new providers can be added without notice","example":"Scope"}},"required":["name","oracleType","provider"]},"description":"Source entries of a MostRecentOf or CappedMostRecentOf oracle, or null for other types"}]},"cap":{"oneOf":[{"type":"object","properties":{"name":{"type":"string","description":"Display name of the Scope price entry","example":"Fixed 1"},"oracleType":{"type":"string","description":"Scope oracle type of the entry, or Unknown when the type is newer than the API supports","example":"FixedPrice"},"provider":{"type":"string","description":"Price provider behind the entry. Currently one of Pyth, Switchboard, Chainlink, Redstone or Scope; new providers can be added without notice","example":"Scope"}},"required":["name","oracleType","provider"],"description":"Entry that caps the price, or null when the price is not capped"},{"type":"null","properties":{"name":{"type":"string","description":"Display name of the Scope price entry","example":"Fixed 1"},"oracleType":{"type":"string","description":"Scope oracle type of the entry, or Unknown when the type is newer than the API supports","example":"FixedPrice"},"provider":{"type":"string","description":"Price provider behind the entry. Currently one of Pyth, Switchboard, Chainlink, Redstone or Scope; new providers can be added without notice","example":"Scope"}},"required":["name","oracleType","provider"],"description":"Entry that caps the price, or null when the price is not capped"}]},"floor":{"oneOf":[{"type":"object","properties":{"name":{"type":"string","description":"Display name of the Scope price entry","example":"Fixed 1"},"oracleType":{"type":"string","description":"Scope oracle type of the entry, or Unknown when the type is newer than the API supports","example":"FixedPrice"},"provider":{"type":"string","description":"Price provider behind the entry. Currently one of Pyth, Switchboard, Chainlink, Redstone or Scope; new providers can be added without notice","example":"Scope"}},"required":["name","oracleType","provider"],"description":"Entry that floors the price, or null when the price is not floored"},{"type":"null","properties":{"name":{"type":"string","description":"Display name of the Scope price entry","example":"Fixed 1"},"oracleType":{"type":"string","description":"Scope oracle type of the entry, or Unknown when the type is newer than the API supports","example":"FixedPrice"},"provider":{"type":"string","description":"Price provider behind the entry. Currently one of Pyth, Switchboard, Chainlink, Redstone or Scope; new providers can be added without notice","example":"Scope"}},"required":["name","oracleType","provider"],"description":"Entry that floors the price, or null when the price is not floored"}]}},"required":["type","source","sources","cap","floor"],"description":"Component entries of a composite Scope oracle, or null for a plain entry","isRequired":true,"uniqueKey":"oracle.oneOf.0.twapChain.items.[INDEX].nested.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oracle.oneOf.0.twapChain.items.[INDEX].nested","typeLabel":"object | null"}},"required":["name","oracleType","provider","priceId","nested"],"uniqueKey":"oracle.oneOf.0.twapChain.items.[INDEX]","typeLabel":"object"},"description":"Scope entries combined into the reserve TWAP, or empty when the reserve has no Scope TWAP chain","isRequired":true,"uniqueKey":"oracle.oneOf.0.twapChain","typeLabel":"object[]"}},"required":["priceChain","twapChain"],"description":"Scope oracle composition of the reserve price and TWAP, or null when the Scope metadata is unavailable","isRequired":true,"uniqueKey":"oracle.oneOf.0","typeLabel":"object"},{"type":"null","properties":{"priceChain":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","description":"Display name of the Scope price entry","example":"Fixed 1"},"oracleType":{"type":"string","description":"Scope oracle type of the entry, or Unknown when the type is newer than the API supports","example":"FixedPrice"},"provider":{"type":"string","description":"Price provider behind the entry. Currently one of Pyth, Switchboard, Chainlink, Redstone or Scope; new providers can be added without notice","example":"Scope"},"priceId":{"type":"integer","description":"Index of the entry in the Scope price feed","example":13},"nested":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","description":"Composite Scope oracle type. Currently one of CappedFloored, MostRecentOf or CappedMostRecentOf; new composite types can be added without notice","example":"CappedFloored"},"source":{"oneOf":[{"type":"object","properties":{"name":{"type":"string","description":"Display name of the Scope price entry","example":"Fixed 1"},"oracleType":{"type":"string","description":"Scope oracle type of the entry, or Unknown when the type is newer than the API supports","example":"FixedPrice"},"provider":{"type":"string","description":"Price provider behind the entry. Currently one of Pyth, Switchboard, Chainlink, Redstone or Scope; new providers can be added without notice","example":"Scope"}},"required":["name","oracleType","provider"],"description":"Source entry of a CappedFloored oracle, or null for other types"},{"type":"null","properties":{"name":{"type":"string","description":"Display name of the Scope price entry","example":"Fixed 1"},"oracleType":{"type":"string","description":"Scope oracle type of the entry, or Unknown when the type is newer than the API supports","example":"FixedPrice"},"provider":{"type":"string","description":"Price provider behind the entry. Currently one of Pyth, Switchboard, Chainlink, Redstone or Scope; new providers can be added without notice","example":"Scope"}},"required":["name","oracleType","provider"],"description":"Source entry of a CappedFloored oracle, or null for other types"}]},"sources":{"oneOf":[{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","description":"Display name of the Scope price entry","example":"Fixed 1"},"oracleType":{"type":"string","description":"Scope oracle type of the entry, or Unknown when the type is newer than the API supports","example":"FixedPrice"},"provider":{"type":"string","description":"Price provider behind the entry. Currently one of Pyth, Switchboard, Chainlink, Redstone or Scope; new providers can be added without notice","example":"Scope"}},"required":["name","oracleType","provider"]},"description":"Source entries of a MostRecentOf or CappedMostRecentOf oracle, or null for other types"},{"type":"null","items":{"type":"object","properties":{"name":{"type":"string","description":"Display name of the Scope price entry","example":"Fixed 1"},"oracleType":{"type":"string","description":"Scope oracle type of the entry, or Unknown when the type is newer than the API supports","example":"FixedPrice"},"provider":{"type":"string","description":"Price provider behind the entry. Currently one of Pyth, Switchboard, Chainlink, Redstone or Scope; new providers can be added without notice","example":"Scope"}},"required":["name","oracleType","provider"]},"description":"Source entries of a MostRecentOf or CappedMostRecentOf oracle, or null for other types"}]},"cap":{"oneOf":[{"type":"object","properties":{"name":{"type":"string","description":"Display name of the Scope price entry","example":"Fixed 1"},"oracleType":{"type":"string","description":"Scope oracle type of the entry, or Unknown when the type is newer than the API supports","example":"FixedPrice"},"provider":{"type":"string","description":"Price provider behind the entry. Currently one of Pyth, Switchboard, Chainlink, Redstone or Scope; new providers can be added without notice","example":"Scope"}},"required":["name","oracleType","provider"],"description":"Entry that caps the price, or null when the price is not capped"},{"type":"null","properties":{"name":{"type":"string","description":"Display name of the Scope price entry","example":"Fixed 1"},"oracleType":{"type":"string","description":"Scope oracle type of the entry, or Unknown when the type is newer than the API supports","example":"FixedPrice"},"provider":{"type":"string","description":"Price provider behind the entry. Currently one of Pyth, Switchboard, Chainlink, Redstone or Scope; new providers can be added without notice","example":"Scope"}},"required":["name","oracleType","provider"],"description":"Entry that caps the price, or null when the price is not capped"}]},"floor":{"oneOf":[{"type":"object","properties":{"name":{"type":"string","description":"Display name of the Scope price entry","example":"Fixed 1"},"oracleType":{"type":"string","description":"Scope oracle type of the entry, or Unknown when the type is newer than the API supports","example":"FixedPrice"},"provider":{"type":"string","description":"Price provider behind the entry. Currently one of Pyth, Switchboard, Chainlink, Redstone or Scope; new providers can be added without notice","example":"Scope"}},"required":["name","oracleType","provider"],"description":"Entry that floors the price, or null when the price is not floored"},{"type":"null","properties":{"name":{"type":"string","description":"Display name of the Scope price entry","example":"Fixed 1"},"oracleType":{"type":"string","description":"Scope oracle type of the entry, or Unknown when the type is newer than the API supports","example":"FixedPrice"},"provider":{"type":"string","description":"Price provider behind the entry. Currently one of Pyth, Switchboard, Chainlink, Redstone or Scope; new providers can be added without notice","example":"Scope"}},"required":["name","oracleType","provider"],"description":"Entry that floors the price, or null when the price is not floored"}]}},"required":["type","source","sources","cap","floor"],"description":"Component entries of a composite Scope oracle, or null for a plain entry"},{"type":"null","properties":{"type":{"type":"string","description":"Composite Scope oracle type. Currently one of CappedFloored, MostRecentOf or CappedMostRecentOf; new composite types can be added without notice","example":"CappedFloored"},"source":{"oneOf":[{"type":"object","properties":{"name":{"type":"string","description":"Display name of the Scope price entry","example":"Fixed 1"},"oracleType":{"type":"string","description":"Scope oracle type of the entry, or Unknown when the type is newer than the API supports","example":"FixedPrice"},"provider":{"type":"string","description":"Price provider behind the entry. Currently one of Pyth, Switchboard, Chainlink, Redstone or Scope; new providers can be added without notice","example":"Scope"}},"required":["name","oracleType","provider"],"description":"Source entry of a CappedFloored oracle, or null for other types"},{"type":"null","properties":{"name":{"type":"string","description":"Display name of the Scope price entry","example":"Fixed 1"},"oracleType":{"type":"string","description":"Scope oracle type of the entry, or Unknown when the type is newer than the API supports","example":"FixedPrice"},"provider":{"type":"string","description":"Price provider behind the entry. Currently one of Pyth, Switchboard, Chainlink, Redstone or Scope; new providers can be added without notice","example":"Scope"}},"required":["name","oracleType","provider"],"description":"Source entry of a CappedFloored oracle, or null for other types"}]},"sources":{"oneOf":[{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","description":"Display name of the Scope price entry","example":"Fixed 1"},"oracleType":{"type":"string","description":"Scope oracle type of the entry, or Unknown when the type is newer than the API supports","example":"FixedPrice"},"provider":{"type":"string","description":"Price provider behind the entry. Currently one of Pyth, Switchboard, Chainlink, Redstone or Scope; new providers can be added without notice","example":"Scope"}},"required":["name","oracleType","provider"]},"description":"Source entries of a MostRecentOf or CappedMostRecentOf oracle, or null for other types"},{"type":"null","items":{"type":"object","properties":{"name":{"type":"string","description":"Display name of the Scope price entry","example":"Fixed 1"},"oracleType":{"type":"string","description":"Scope oracle type of the entry, or Unknown when the type is newer than the API supports","example":"FixedPrice"},"provider":{"type":"string","description":"Price provider behind the entry. Currently one of Pyth, Switchboard, Chainlink, Redstone or Scope; new providers can be added without notice","example":"Scope"}},"required":["name","oracleType","provider"]},"description":"Source entries of a MostRecentOf or CappedMostRecentOf oracle, or null for other types"}]},"cap":{"oneOf":[{"type":"object","properties":{"name":{"type":"string","description":"Display name of the Scope price entry","example":"Fixed 1"},"oracleType":{"type":"string","description":"Scope oracle type of the entry, or Unknown when the type is newer than the API supports","example":"FixedPrice"},"provider":{"type":"string","description":"Price provider behind the entry. Currently one of Pyth, Switchboard, Chainlink, Redstone or Scope; new providers can be added without notice","example":"Scope"}},"required":["name","oracleType","provider"],"description":"Entry that caps the price, or null when the price is not capped"},{"type":"null","properties":{"name":{"type":"string","description":"Display name of the Scope price entry","example":"Fixed 1"},"oracleType":{"type":"string","description":"Scope oracle type of the entry, or Unknown when the type is newer than the API supports","example":"FixedPrice"},"provider":{"type":"string","description":"Price provider behind the entry. Currently one of Pyth, Switchboard, Chainlink, Redstone or Scope; new providers can be added without notice","example":"Scope"}},"required":["name","oracleType","provider"],"description":"Entry that caps the price, or null when the price is not capped"}]},"floor":{"oneOf":[{"type":"object","properties":{"name":{"type":"string","description":"Display name of the Scope price entry","example":"Fixed 1"},"oracleType":{"type":"string","description":"Scope oracle type of the entry, or Unknown when the type is newer than the API supports","example":"FixedPrice"},"provider":{"type":"string","description":"Price provider behind the entry. Currently one of Pyth, Switchboard, Chainlink, Redstone or Scope; new providers can be added without notice","example":"Scope"}},"required":["name","oracleType","provider"],"description":"Entry that floors the price, or null when the price is not floored"},{"type":"null","properties":{"name":{"type":"string","description":"Display name of the Scope price entry","example":"Fixed 1"},"oracleType":{"type":"string","description":"Scope oracle type of the entry, or Unknown when the type is newer than the API supports","example":"FixedPrice"},"provider":{"type":"string","description":"Price provider behind the entry. Currently one of Pyth, Switchboard, Chainlink, Redstone or Scope; new providers can be added without notice","example":"Scope"}},"required":["name","oracleType","provider"],"description":"Entry that floors the price, or null when the price is not floored"}]}},"required":["type","source","sources","cap","floor"],"description":"Component entries of a composite Scope oracle, or null for a plain entry"}]}},"required":["name","oracleType","provider","priceId","nested"]},"description":"Scope entries combined into the reserve price, or empty when the reserve has no Scope price chain"},"twapChain":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","description":"Display name of the Scope price entry","example":"Fixed 1"},"oracleType":{"type":"string","description":"Scope oracle type of the entry, or Unknown when the type is newer than the API supports","example":"FixedPrice"},"provider":{"type":"string","description":"Price provider behind the entry. Currently one of Pyth, Switchboard, Chainlink, Redstone or Scope; new providers can be added without notice","example":"Scope"},"priceId":{"type":"integer","description":"Index of the entry in the Scope price feed","example":13},"nested":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","description":"Composite Scope oracle type. Currently one of CappedFloored, MostRecentOf or CappedMostRecentOf; new composite types can be added without notice","example":"CappedFloored"},"source":{"oneOf":[{"type":"object","properties":{"name":{"type":"string","description":"Display name of the Scope price entry","example":"Fixed 1"},"oracleType":{"type":"string","description":"Scope oracle type of the entry, or Unknown when the type is newer than the API supports","example":"FixedPrice"},"provider":{"type":"string","description":"Price provider behind the entry. Currently one of Pyth, Switchboard, Chainlink, Redstone or Scope; new providers can be added without notice","example":"Scope"}},"required":["name","oracleType","provider"],"description":"Source entry of a CappedFloored oracle, or null for other types"},{"type":"null","properties":{"name":{"type":"string","description":"Display name of the Scope price entry","example":"Fixed 1"},"oracleType":{"type":"string","description":"Scope oracle type of the entry, or Unknown when the type is newer than the API supports","example":"FixedPrice"},"provider":{"type":"string","description":"Price provider behind the entry. Currently one of Pyth, Switchboard, Chainlink, Redstone or Scope; new providers can be added without notice","example":"Scope"}},"required":["name","oracleType","provider"],"description":"Source entry of a CappedFloored oracle, or null for other types"}]},"sources":{"oneOf":[{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","description":"Display name of the Scope price entry","example":"Fixed 1"},"oracleType":{"type":"string","description":"Scope oracle type of the entry, or Unknown when the type is newer than the API supports","example":"FixedPrice"},"provider":{"type":"string","description":"Price provider behind the entry. Currently one of Pyth, Switchboard, Chainlink, Redstone or Scope; new providers can be added without notice","example":"Scope"}},"required":["name","oracleType","provider"]},"description":"Source entries of a MostRecentOf or CappedMostRecentOf oracle, or null for other types"},{"type":"null","items":{"type":"object","properties":{"name":{"type":"string","description":"Display name of the Scope price entry","example":"Fixed 1"},"oracleType":{"type":"string","description":"Scope oracle type of the entry, or Unknown when the type is newer than the API supports","example":"FixedPrice"},"provider":{"type":"string","description":"Price provider behind the entry. Currently one of Pyth, Switchboard, Chainlink, Redstone or Scope; new providers can be added without notice","example":"Scope"}},"required":["name","oracleType","provider"]},"description":"Source entries of a MostRecentOf or CappedMostRecentOf oracle, or null for other types"}]},"cap":{"oneOf":[{"type":"object","properties":{"name":{"type":"string","description":"Display name of the Scope price entry","example":"Fixed 1"},"oracleType":{"type":"string","description":"Scope oracle type of the entry, or Unknown when the type is newer than the API supports","example":"FixedPrice"},"provider":{"type":"string","description":"Price provider behind the entry. Currently one of Pyth, Switchboard, Chainlink, Redstone or Scope; new providers can be added without notice","example":"Scope"}},"required":["name","oracleType","provider"],"description":"Entry that caps the price, or null when the price is not capped"},{"type":"null","properties":{"name":{"type":"string","description":"Display name of the Scope price entry","example":"Fixed 1"},"oracleType":{"type":"string","description":"Scope oracle type of the entry, or Unknown when the type is newer than the API supports","example":"FixedPrice"},"provider":{"type":"string","description":"Price provider behind the entry. Currently one of Pyth, Switchboard, Chainlink, Redstone or Scope; new providers can be added without notice","example":"Scope"}},"required":["name","oracleType","provider"],"description":"Entry that caps the price, or null when the price is not capped"}]},"floor":{"oneOf":[{"type":"object","properties":{"name":{"type":"string","description":"Display name of the Scope price entry","example":"Fixed 1"},"oracleType":{"type":"string","description":"Scope oracle type of the entry, or Unknown when the type is newer than the API supports","example":"FixedPrice"},"provider":{"type":"string","description":"Price provider behind the entry. Currently one of Pyth, Switchboard, Chainlink, Redstone or Scope; new providers can be added without notice","example":"Scope"}},"required":["name","oracleType","provider"],"description":"Entry that floors the price, or null when the price is not floored"},{"type":"null","properties":{"name":{"type":"string","description":"Display name of the Scope price entry","example":"Fixed 1"},"oracleType":{"type":"string","description":"Scope oracle type of the entry, or Unknown when the type is newer than the API supports","example":"FixedPrice"},"provider":{"type":"string","description":"Price provider behind the entry. Currently one of Pyth, Switchboard, Chainlink, Redstone or Scope; new providers can be added without notice","example":"Scope"}},"required":["name","oracleType","provider"],"description":"Entry that floors the price, or null when the price is not floored"}]}},"required":["type","source","sources","cap","floor"],"description":"Component entries of a composite Scope oracle, or null for a plain entry"},{"type":"null","properties":{"type":{"type":"string","description":"Composite Scope oracle type. Currently one of CappedFloored, MostRecentOf or CappedMostRecentOf; new composite types can be added without notice","example":"CappedFloored"},"source":{"oneOf":[{"type":"object","properties":{"name":{"type":"string","description":"Display name of the Scope price entry","example":"Fixed 1"},"oracleType":{"type":"string","description":"Scope oracle type of the entry, or Unknown when the type is newer than the API supports","example":"FixedPrice"},"provider":{"type":"string","description":"Price provider behind the entry. Currently one of Pyth, Switchboard, Chainlink, Redstone or Scope; new providers can be added without notice","example":"Scope"}},"required":["name","oracleType","provider"],"description":"Source entry of a CappedFloored oracle, or null for other types"},{"type":"null","properties":{"name":{"type":"string","description":"Display name of the Scope price entry","example":"Fixed 1"},"oracleType":{"type":"string","description":"Scope oracle type of the entry, or Unknown when the type is newer than the API supports","example":"FixedPrice"},"provider":{"type":"string","description":"Price provider behind the entry. Currently one of Pyth, Switchboard, Chainlink, Redstone or Scope; new providers can be added without notice","example":"Scope"}},"required":["name","oracleType","provider"],"description":"Source entry of a CappedFloored oracle, or null for other types"}]},"sources":{"oneOf":[{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","description":"Display name of the Scope price entry","example":"Fixed 1"},"oracleType":{"type":"string","description":"Scope oracle type of the entry, or Unknown when the type is newer than the API supports","example":"FixedPrice"},"provider":{"type":"string","description":"Price provider behind the entry. Currently one of Pyth, Switchboard, Chainlink, Redstone or Scope; new providers can be added without notice","example":"Scope"}},"required":["name","oracleType","provider"]},"description":"Source entries of a MostRecentOf or CappedMostRecentOf oracle, or null for other types"},{"type":"null","items":{"type":"object","properties":{"name":{"type":"string","description":"Display name of the Scope price entry","example":"Fixed 1"},"oracleType":{"type":"string","description":"Scope oracle type of the entry, or Unknown when the type is newer than the API supports","example":"FixedPrice"},"provider":{"type":"string","description":"Price provider behind the entry. Currently one of Pyth, Switchboard, Chainlink, Redstone or Scope; new providers can be added without notice","example":"Scope"}},"required":["name","oracleType","provider"]},"description":"Source entries of a MostRecentOf or CappedMostRecentOf oracle, or null for other types"}]},"cap":{"oneOf":[{"type":"object","properties":{"name":{"type":"string","description":"Display name of the Scope price entry","example":"Fixed 1"},"oracleType":{"type":"string","description":"Scope oracle type of the entry, or Unknown when the type is newer than the API supports","example":"FixedPrice"},"provider":{"type":"string","description":"Price provider behind the entry. Currently one of Pyth, Switchboard, Chainlink, Redstone or Scope; new providers can be added without notice","example":"Scope"}},"required":["name","oracleType","provider"],"description":"Entry that caps the price, or null when the price is not capped"},{"type":"null","properties":{"name":{"type":"string","description":"Display name of the Scope price entry","example":"Fixed 1"},"oracleType":{"type":"string","description":"Scope oracle type of the entry, or Unknown when the type is newer than the API supports","example":"FixedPrice"},"provider":{"type":"string","description":"Price provider behind the entry. Currently one of Pyth, Switchboard, Chainlink, Redstone or Scope; new providers can be added without notice","example":"Scope"}},"required":["name","oracleType","provider"],"description":"Entry that caps the price, or null when the price is not capped"}]},"floor":{"oneOf":[{"type":"object","properties":{"name":{"type":"string","description":"Display name of the Scope price entry","example":"Fixed 1"},"oracleType":{"type":"string","description":"Scope oracle type of the entry, or Unknown when the type is newer than the API supports","example":"FixedPrice"},"provider":{"type":"string","description":"Price provider behind the entry. Currently one of Pyth, Switchboard, Chainlink, Redstone or Scope; new providers can be added without notice","example":"Scope"}},"required":["name","oracleType","provider"],"description":"Entry that floors the price, or null when the price is not floored"},{"type":"null","properties":{"name":{"type":"string","description":"Display name of the Scope price entry","example":"Fixed 1"},"oracleType":{"type":"string","description":"Scope oracle type of the entry, or Unknown when the type is newer than the API supports","example":"FixedPrice"},"provider":{"type":"string","description":"Price provider behind the entry. Currently one of Pyth, Switchboard, Chainlink, Redstone or Scope; new providers can be added without notice","example":"Scope"}},"required":["name","oracleType","provider"],"description":"Entry that floors the price, or null when the price is not floored"}]}},"required":["type","source","sources","cap","floor"],"description":"Component entries of a composite Scope oracle, or null for a plain entry"}]}},"required":["name","oracleType","provider","priceId","nested"]},"description":"Scope entries combined into the reserve TWAP, or empty when the reserve has no Scope TWAP chain"}},"required":["priceChain","twapChain"],"description":"Scope oracle composition of the reserve price and TWAP, or null when the Scope metadata is unavailable","isRequired":true,"uniqueKey":"oracle.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oracle","typeLabel":"object | null"}},"required":["token","collateralMintAddress","rateType","fixedTerm","debtMaturityTimestamp","status","interestRateBasis","hostFixedInterestRateBps","protocolTakeRatePct","supplyApy","borrowApy","underlyingApy","underlyingYieldExpected","supplyApyBreakdown","borrowApyBreakdown","utilization","autoDeleverage","supplyRewardApys","borrowRewardApys","pairIncentives","pointsPrograms","liquidityAvailable","liquidityAvailableUsd","actualAvailableLiquidity","actualAvailableLiquidityUsd","utilizationLimitBlockBorrowingAbovePct","borrowCaps","totalSupply","totalSupplyUsd","totalBorrow","totalBorrowUsd","liqLTV","maxLTV","borrowFactor","depositLimit","borrowLimit","minLiquidationBonus","maxLiquidationBonus","liquidationMaxDebtCloseFactorPct","insolvencyRiskUnhealthyLtvPct","limits","proofOfReserves","oracle"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"token":"VEG1EMtttdHunMbSza8uoms1R18VXmYSph2bBpHcSJd","collateralMintAddress":"VEG1EMtttdHunMbSza8uoms1R18VXmYSph2bBpHcSJd","rateType":"variable","fixedTerm":{"termSeconds":2592000,"apy":"0.0616"},"debtMaturityTimestamp":"2026-08-28T00:00:00.000Z","status":"Active","interestRateBasis":"trueApr","hostFixedInterestRateBps":50,"protocolTakeRatePct":10,"supplyApy":{"current":"0.0412","avg7d":"0.0398","avg14d":"0.0395","avg30d":"0.039","avg60d":"0.0387","avg90d":"0.0384","avg180d":"0.0381"},"borrowApy":{"current":"0.0412","avg7d":"0.0398","avg14d":"0.0395","avg30d":"0.039","avg60d":"0.0387","avg90d":"0.0384","avg180d":"0.0381"},"underlyingApy":{"current":"0.2","sourceType":"\u003cstring>","sourceMint":"VEG1EMtttdHunMbSza8uoms1R18VXmYSph2bBpHcSJd","observedAt":"2023-11-07T05:31:56Z"},"underlyingYieldExpected":true,"supplyApyBreakdown":{"lending":"0.123","incentives":"0.123","seasonRewards":"0.123","underlying":"0.123","total":"0.123"},"borrowApyBreakdown":{"borrow":"0.123","incentives":"0.123","seasonRewards":"0.123","total":"0.2"},"utilization":{"current":"0.825","avg30d":"0.81","avg90d":"0.79","avg180d":"0.77","avg365d":"0.74"},"autoDeleverage":{"reserve":{"enabled":true,"marginCallPeriodSecs":259200,"thresholdDecreaseBpsPerDay":100,"bonusIncreaseBpsPerDay":50,"minBonusBps":10},"market":{"enabled":true,"individualMarginCallPeriodSecs":86400}},"supplyRewardApys":[{"rewardToken":"VEG1EMtttdHunMbSza8uoms1R18VXmYSph2bBpHcSJd","farm":"VEG1EMtttdHunMbSza8uoms1R18VXmYSph2bBpHcSJd","apy":"0.011","tokensPerSecond":"0.00165"}],"borrowRewardApys":[{"rewardToken":"VEG1EMtttdHunMbSza8uoms1R18VXmYSph2bBpHcSJd","farm":"VEG1EMtttdHunMbSza8uoms1R18VXmYSph2bBpHcSJd","apy":"0.011","tokensPerSecond":"0.00165"}],"pairIncentives":[{"side":"supply","collateralReserve":"VEG1EMtttdHunMbSza8uoms1R18VXmYSph2bBpHcSJd","collateralToken":"VEG1EMtttdHunMbSza8uoms1R18VXmYSph2bBpHcSJd","debtReserve":"VEG1EMtttdHunMbSza8uoms1R18VXmYSph2bBpHcSJd","debtToken":"VEG1EMtttdHunMbSza8uoms1R18VXmYSph2bBpHcSJd","farm":"VEG1EMtttdHunMbSza8uoms1R18VXmYSph2bBpHcSJd","rewardToken":"VEG1EMtttdHunMbSza8uoms1R18VXmYSph2bBpHcSJd","apy":"0.123","tokensPerSecond":"1234.56789","stakedUsd":"1234.56789","readMoreUrl":"\u003cstring>"}],"pointsPrograms":[{"side":"supply","key":"\u003cstring>","name":"\u003cstring>","description":"\u003cstring>","iconUrl":"\u003cstring>","learnMoreUrl":"\u003cstring>"}],"liquidityAvailable":"1234.56789","liquidityAvailableUsd":"1234.56789","actualAvailableLiquidity":"1234.56789","actualAvailableLiquidityUsd":"1234.56789","utilizationLimitBlockBorrowingAbovePct":95,"borrowCaps":{"utilization":{"limitPct":95,"currentPct":"82.5"},"netWithdrawal":{"capacity":"1234.56789","currentTotal":"1234.56789","intervalLengthSeconds":123,"lastIntervalStartTimestamp":"2023-11-07T05:31:56Z"},"globalDebt":{"capacity":"1234.56789","currentTotal":"1234.56789"},"debtOutsideElevationGroup":{"capacity":"1234.56789","currentTotal":"1234.56789"},"debtAgainstCollateral":[{"capacity":"1234.56789","currentTotal":"1234.56789","collateralReserve":"VEG1EMtttdHunMbSza8uoms1R18VXmYSph2bBpHcSJd","elevationGroup":123}]},"totalSupply":"1234.56789","totalSupplyUsd":"1234.56789","totalBorrow":"1234.56789","totalBorrowUsd":"1234.56789","liqLTV":"0.8","maxLTV":"0.75","borrowFactor":"1","depositLimit":"200000","borrowLimit":"150000","minLiquidationBonus":"0.02","maxLiquidationBonus":"0.1","liquidationMaxDebtCloseFactorPct":10,"insolvencyRiskUnhealthyLtvPct":95,"limits":{"depositWithdrawalCap":{"capacity":"1234.56789","currentTotal":"1234.56789","intervalLengthSeconds":123,"lastIntervalStartTimestamp":"2023-11-07T05:31:56Z"},"debtWithdrawalCap":{"capacity":"1234.56789","currentTotal":"1234.56789","intervalLengthSeconds":123,"lastIntervalStartTimestamp":"2023-11-07T05:31:56Z"}},"proofOfReserves":{"verified":true,"address":"VEG1EMtttdHunMbSza8uoms1R18VXmYSph2bBpHcSJd"},"oracle":{"priceChain":[{"name":"Fixed 1","oracleType":"FixedPrice","provider":"Scope","priceId":13,"nested":{"type":"CappedFloored","source":{"name":"Fixed 1","oracleType":"FixedPrice","provider":"Scope"},"sources":[{"name":"Fixed 1","oracleType":"FixedPrice","provider":"Scope"}],"cap":{"name":"Fixed 1","oracleType":"FixedPrice","provider":"Scope"},"floor":{"name":"Fixed 1","oracleType":"FixedPrice","provider":"Scope"}}}],"twapChain":[{"name":"Fixed 1","oracleType":"FixedPrice","provider":"Scope","priceId":13,"nested":{"type":"CappedFloored","source":{"name":"Fixed 1","oracleType":"FixedPrice","provider":"Scope"},"sources":[{"name":"Fixed 1","oracleType":"FixedPrice","provider":"Scope"}],"cap":{"name":"Fixed 1","oracleType":"FixedPrice","provider":"Scope"},"floor":{"name":"Fixed 1","oracleType":"FixedPrice","provider":"Scope"}}}]}}}},"exampleType":"generated"}},"exampleType":"generated"},"f3d08c74-71d3-450b-9e59-04a4143ed658":{"description":"Bad Request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"High-level error message describing the failure","example":"Invalid query params","isRequired":true,"uniqueKey":"error","typeLabel":"string"},"details":{"type":"array","items":{"type":"object","additionalProperties":{"oneOf":[{}],"uniqueKey":"details.items.[INDEX].additionalProperties","typeLabel":"any"},"uniqueKey":"details.items.[INDEX]","typeLabel":"object"},"description":"Detailed validation issues (present only for validation errors)","uniqueKey":"details","typeLabel":"object[]"}},"required":["error"],"description":"Bad request response (400)","example":{"error":"Invalid query request","details":[{"code":"invalid_union","errors":[[{"code":"custom","path":[],"message":"Invalid date string"}],[{"expected":"number","code":"invalid_type","path":[],"message":"Invalid input: expected number, received string"}]],"path":["start"],"message":"Invalid input"}]},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":"Invalid query request","details":[{"code":"invalid_union","errors":[[{"code":"custom","path":[],"message":"Invalid date string"}],[{"expected":"number","code":"invalid_type","path":[],"message":"Invalid input: expected number, received string"}]],"path":["start"],"message":"Invalid input"}]}}},"exampleType":"generated"}},"exampleType":"generated"},"a565b82a-f885-4cf4-8af0-ae5bade3526c":{"description":"Not Found","content":{"application/json":{"schema":{"type":"object","properties":{"metadata":{"type":"string","description":"Error message describing why it was not found","example":"Account could not be found","isRequired":true,"uniqueKey":"metadata","typeLabel":"string"}},"required":["metadata"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"metadata":"Account could not be found"}}},"exampleType":"generated"}},"exampleType":"generated"},"cf626c0f-28ac-4f73-b74d-963a25cc5ae9":{"description":"Internal Server Error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"Error message for internal server failure","example":"An internal error occurred","isRequired":true,"uniqueKey":"error","typeLabel":"string"}},"required":["error"],"description":"Internal server error response (500)","example":{"error":"An internal error occurred"},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":"An internal error occurred"}}},"exampleType":"generated"}},"exampleType":"generated"}},"security":{},"servers":{"0e13c83b-e1ef-463a-bec4-4eb69532e966":{"url":"https://api.kamino.finance"}}},"originalFileLocation":"kamino-api.json"},"subdomain":"kamino-3d73a151","siteName":"Kamino Docs","title":"Get stats for a reserve - Kamino Docs","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-11-10T15:54:22.323Z","originalFileLocation":"build/kamino-lend-reserves/get-stats-for-a-reserve.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"light\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Get current raw and cap-aware reserve liquidity, borrowing caps and counters, base APYs with historical averages, underlying token yield and UI-matching APY breakdowns, utilization with historical averages, auto-deleveraging settings, reserve farm rewards, pair-specific incentives, partner points programs and the Scope oracle composition of the price and TWAP chains for one reserve. Pair-specific incentives and points programs are not included in the APY breakdown totals.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Kamino Docs\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/kamino-3d73a151/TKxHlmhBKtq3ekJ8/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/kamino-3d73a151/TKxHlmhBKtq3ekJ8/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/kamino-3d73a151/TKxHlmhBKtq3ekJ8/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/kamino-3d73a151/TKxHlmhBKtq3ekJ8/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/kamino-3d73a151/TKxHlmhBKtq3ekJ8/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/kamino-3d73a151/TKxHlmhBKtq3ekJ8/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/kamino-3d73a151/TKxHlmhBKtq3ekJ8/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/kamino-3d73a151/TKxHlmhBKtq3ekJ8/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/kamino-3d73a151/TKxHlmhBKtq3ekJ8/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Get stats for a reserve - Kamino Docs\">\u003cmeta data-mint-head property=\"og:description\" content=\"Get current raw and cap-aware reserve liquidity, borrowing caps and counters, base APYs with historical averages, underlying token yield and UI-matching APY breakdowns, utilization with historical averages, auto-deleveraging settings, reserve farm rewards, pair-specific incentives, partner points programs and the Scope oracle composition of the price and TWAP chains for one reserve. Pair-specific incentives and points programs are not included in the APY breakdown totals.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Kamino Docs\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.kamino.com/build/kamino-lend-reserves/get-stats-for-a-reserve\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://kamino-3d73a151.mintlify.site/_mintlify/api/og/v2?division=Kamino+Lend+Reserves\u0026amp;title=Get+stats+for+a+reserve\u0026amp;description=Get+current+raw+and+cap-aware+reserve+liquidity%2C+borrowing+caps+and+counters%2C+base+APYs+with+historical+averages%2C+underlying+token+yield+and+UI-matching+APY+bre\u0026amp;theme=d3833c2a4df0bd4f2980a795\u0026amp;signature=ff8e91b744b10748bf2fa19fa7762182d5f58b5c3e746e9ae7b9e7182b79d20f\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Get stats for a reserve - Kamino Docs\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Get current raw and cap-aware reserve liquidity, borrowing caps and counters, base APYs with historical averages, underlying token yield and UI-matching APY breakdowns, utilization with historical averages, auto-deleveraging settings, reserve farm rewards, pair-specific incentives, partner points programs and the Scope oracle composition of the price and TWAP chains for one reserve. Pair-specific incentives and points programs are not included in the APY breakdown totals.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://kamino-3d73a151.mintlify.site/_mintlify/api/og/v2?division=Kamino+Lend+Reserves\u0026amp;title=Get+stats+for+a+reserve\u0026amp;description=Get+current+raw+and+cap-aware+reserve+liquidity%2C+borrowing+caps+and+counters%2C+base+APYs+with+historical+averages%2C+underlying+token+yield+and+UI-matching+APY+bre\u0026amp;theme=d3833c2a4df0bd4f2980a795\u0026amp;signature=ff8e91b744b10748bf2fa19fa7762182d5f58b5c3e746e9ae7b9e7182b79d20f\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/kamino-3d73a151/TKxHlmhBKtq3ekJ8/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Kamino Docs\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#082A56\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.kamino.com/build/kamino-lend-reserves/get-stats-for-a-reserve\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/build/kamino-lend-reserves/get-stats-for-a-reserve.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.kamino.com/#organization\",\"name\":\"Kamino Docs\",\"url\":\"https://docs.kamino.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/kamino-3d73a151/EHpt5rRzyV5R3dXt/images/logo/light.svg?fit=max\u0026auto=format\u0026n=EHpt5rRzyV5R3dXt\u0026q=85\u0026s=41146f93128a10f923dfe0829b84ceeb\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.kamino.com#website\",\"name\":\"Kamino Docs\",\"url\":\"https://docs.kamino.com\",\"publisher\":{\"@id\":\"https://docs.kamino.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.kamino.com/build/kamino-lend-reserves/get-stats-for-a-reserve#webpage\",\"url\":\"https://docs.kamino.com/build/kamino-lend-reserves/get-stats-for-a-reserve\",\"name\":\"Get stats for a reserve\",\"description\":\"Get current raw and cap-aware reserve liquidity, borrowing caps and counters, base APYs with historical averages, underlying token yield and UI-matching APY breakdowns, utilization with historical averages, auto-deleveraging settings, reserve farm rewards, pair-specific incentives, partner points programs and the Scope oracle composition of the price and TWAP chains for one reserve. Pair-specific incentives and points programs are not included in the APY breakdown totals.\",\"dateModified\":\"2026-11-10T15:54:22.323Z\",\"isPartOf\":{\"@id\":\"https://docs.kamino.com#website\"},\"breadcrumb\":{\"@id\":\"https://docs.kamino.com/build/kamino-lend-reserves/get-stats-for-a-reserve#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.kamino.com/build/kamino-lend-reserves/get-stats-for-a-reserve#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Full API Reference\",\"item\":\"https://docs.kamino.com/build/kamino-lend-borrow/get-transaction-to-borrow-liquidity-from-a-klend-reserve\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Kamino Lend Reserves\",\"item\":\"https://docs.kamino.com/build/kamino-lend-reserves/get-charts-for-a-reserve\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Get stats for a reserve\",\"item\":\"https://docs.kamino.com/build/kamino-lend-reserves/get-stats-for-a-reserve\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.kamino.com/build/kamino-lend-reserves/get-stats-for-a-reserve#apireference\",\"headline\":\"Get stats for a reserve\",\"name\":\"Get stats for a reserve\",\"description\":\"Get current raw and cap-aware reserve liquidity, borrowing caps and counters, base APYs with historical averages, underlying token yield and UI-matching APY breakdowns, utilization with historical averages, auto-deleveraging settings, reserve farm rewards, pair-specific incentives, partner points programs and the Scope oracle composition of the price and TWAP chains for one reserve. Pair-specific incentives and points programs are not included in the APY breakdown totals.\",\"url\":\"https://docs.kamino.com/build/kamino-lend-reserves/get-stats-for-a-reserve\",\"mainEntityOfPage\":{\"@id\":\"https://docs.kamino.com/build/kamino-lend-reserves/get-stats-for-a-reserve#webpage\"},\"dateModified\":\"2026-11-10T15:54:22.323Z\",\"publisher\":{\"@id\":\"https://docs.kamino.com/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.kamino.com#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Kamino Docs\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Kamino Docs","nav":{"global":{"anchors":[]},"products":[{"product":"Docs","icon":"house","description":"Kamino Protocol Documentation","pages":[{"title":"Docs","href":""}]},{"product":"Buildkit","icon":"screwdriver-wrench","description":"Developer Documentation and APIs","tabs":[{"tab":"Get Started","pages":[{"title":"Get Started","href":"/build"}]},{"tab":"Developers","pages":[{"title":"Developers","href":"/build/developers/overview"}]},{"tab":"Earn","pages":[{"title":"Earn","href":"/build/earn"}]},{"tab":"Borrow","pages":[{"title":"Borrow","href":"/build/borrow"}]},{"tab":"Multiply","pages":[{"title":"Multiply","href":"/build/developers/multiply/overview"}]},{"tab":"Liquidity","pages":[{"title":"Liquidity","href":"/build/developers/liquidity/overview"}]},{"tab":"Rewards","pages":[{"title":"Rewards","href":"/build/developers/rewards/overview"}]},{"tab":"Oracle","pages":[{"title":"Oracle","href":"/build/developers/oracle/overview"}]},{"tab":"Portfolio","pages":[{"title":"Portfolio","href":"/build/developers/portfolio"}]},{"tab":"AI","pages":[{"title":"AI","href":"/build/agentic-finance/building-with-llms"}]},{"tab":"API Reference","groups":[{"group":"API Reference","icon":"code","pages":[{"title":"Kamino API","sidebarTitle":"Introduction","href":"/build/api-reference/introduction"}]},{"group":"Distributor Codes","icon":"tag","pages":[{"title":"Distributor codes","sidebarTitle":"Distributor codes","href":"/build/api-reference/distributors"},{"group":"Analytics","pages":[{"title":"Get distributor transactions of a vault","openapi":"kamino-api.json GET /kvaults/vaults/{pubkey}/distributor-transactions","href":"/build/api-reference/earn/distributors/vault-distributor-transactions"},{"title":"Get transactions for a distributor code","openapi":"kamino-api.json GET /kvaults/distributors/{code}/transactions","href":"/build/api-reference/earn/distributors/distributor-transactions"},{"title":"Get transactions for a distributor code in a vault","openapi":"kamino-api.json GET /kvaults/distributors/{code}/vaults/{vault}/transactions","href":"/build/api-reference/earn/distributors/distributor-vault-transactions"},{"title":"Get wallet totals for a distributor code","openapi":"kamino-api.json GET /kvaults/distributors/{code}/wallets","href":"/build/api-reference/earn/distributors/distributor-wallets"}]}]},{"group":"Earn","icon":"chart-line","pages":[{"group":"Vault Data","pages":[{"title":"Get all kvaults","openapi":"kamino-api.json GET /kvaults/vaults","href":"/build/api-reference/earn/vault-data/vaults-list"},{"title":"Get KVault by address","openapi":"kamino-api.json GET /kvaults/vaults/{pubkey}","href":"/build/api-reference/earn/vault-data/vault-detail"},{"title":"Get current KVault metrics","openapi":"kamino-api.json GET /kvaults/vaults/{pubkey}/metrics","href":"/build/api-reference/earn/vault-data/vault-metrics"},{"title":"Get historical KVault metrics","openapi":"kamino-api.json GET /kvaults/vaults/{pubkey}/metrics/history","href":"/build/api-reference/earn/vault-data/vault-metrics-history"},{"title":"Get historical KVault allocation volume","openapi":"kamino-api.json GET /kvaults/vaults/{pubkey}/allocation-volume/history","href":"/build/api-reference/earn/vault-data/vault-allocation-history"},{"title":"Get all KVault season rewards","openapi":"kamino-api.json GET /kvaults/rewards","href":"/build/api-reference/earn/vault-data/vaults-rewards"},{"title":"Get summary of the KVault program earnings","openapi":"kamino-api.json GET /kvaults/summary","href":"/build/api-reference/earn/vault-data/vaults-summary"},{"title":"Get metadata for KVault token","openapi":"kamino-api.json GET /kvaults/mints/{pubkey}/metadata","href":"/build/api-reference/earn/vault-data/vault-mint-metadata"},{"title":"Get icon for KVault token","openapi":"kamino-api.json GET /kvaults/mints/{pubkey}/metadata/image.svg","href":"/build/api-reference/earn/vault-data/vault-mint-image"}]},{"group":"User Data","pages":[{"title":"Get historical user metrics for all KVault positions","openapi":"kamino-api.json GET /kvaults/users/{pubkey}/metrics/history","href":"/build/api-reference/earn/user-data/user-metrics-history"},{"title":"Get user KVault transactions","openapi":"kamino-api.json GET /kvaults/users/{pubkey}/transactions","href":"/build/api-reference/earn/user-data/user-transactions"},{"title":"Get all user KVault positions","openapi":"kamino-api.json GET /kvaults/users/{pubkey}/positions","href":"/build/api-reference/earn/user-data/user-positions"},{"title":"Get user position for a specific KVault","openapi":"kamino-api.json GET /kvaults/users/{userPubkey}/positions/{vaultPubkey}","href":"/build/api-reference/earn/user-data/user-vault-position"},{"title":"Get historical user metrics for a single KVault","openapi":"kamino-api.json GET /kvaults/users/{userPubkey}/vaults/{vaultPubkey}/metrics/history","href":"/build/api-reference/earn/user-data/user-vault-metrics-history"},{"title":"Get user KVault PnL","openapi":"kamino-api.json GET /kvaults/users/{userPubkey}/vaults/{vaultPubkey}/pnl","href":"/build/api-reference/earn/user-data/user-vault-pnl"},{"title":"Get user KVault PnL history","openapi":"kamino-api.json GET /kvaults/users/{userPubkey}/vaults/{vaultPubkey}/pnl/history","href":"/build/api-reference/earn/user-data/user-vault-pnl-history"}]},{"group":"Deposit Txn","pages":[{"title":"Get transaction to deposit into a kvault","openapi":"ktx-api.json POST /ktx/kvault/deposit","href":"/build/api-reference/earn/actions/deposit/kvault-deposit"},{"title":"Get instructions to deposit into a kvault","openapi":"ktx-api.json POST /ktx/kvault/deposit-instructions","href":"/build/api-reference/earn/actions/deposit/kvault-deposit-instructions"}]},{"group":"Withdraw Txn","pages":[{"title":"Get transaction to withdraw from a kvault","openapi":"ktx-api.json POST /ktx/kvault/withdraw","href":"/build/api-reference/earn/actions/withdraw/kvault-withdraw"},{"title":"Get instructions to withdraw from a kvault","openapi":"ktx-api.json POST /ktx/kvault/withdraw-instructions","href":"/build/api-reference/earn/actions/withdraw/kvault-withdraw-instructions"}]}]},{"group":"Borrow","icon":"coins","pages":[{"group":"Market Data","pages":[{"title":"Get all Kamino Markets config","openapi":"kamino-api.json GET /v2/kamino-market","href":"/build/api-reference/borrow/market-data/markets-list"},{"title":"Get Kamino Market config","openapi":"kamino-api.json GET /v2/kamino-market/{pubkey}","href":"/build/api-reference/borrow/market-data/market-detail"},{"title":"Get metrics for market reserves","openapi":"kamino-api.json GET /kamino-market/{pubkey}/reserves/metrics","href":"/build/api-reference/borrow/market-data/market-reserves-metrics"},{"title":"Get KLend reserve history","openapi":"kamino-api.json GET /kamino-market/{marketPubkey}/reserves/{reservePubkey}/metrics/history","href":"/build/api-reference/borrow/market-data/market-reserve-metrics-history"},{"title":"Get metrics for leverage/multiply vaults","openapi":"kamino-api.json GET /kamino-market/{pubkey}/leverage/metrics","href":"/build/api-reference/borrow/market-data/market-leverage-metrics"},{"title":"Get KLend market reserves account data","openapi":"kamino-api.json GET /kamino-market/reserves/account-data","href":"/build/api-reference/borrow/market-data/market-reserves-account-data"}]},{"group":"User and Loans Data","pages":[{"title":"Get user KLend rewards","openapi":"kamino-api.json GET /klend/users/{pubkey}/rewards","href":"/build/api-reference/borrow/user-and-loans-data/user-rewards"},{"title":"Get information about a loan (obligation)","openapi":"kamino-api.json GET /klend/loans/{pubkey}","href":"/build/api-reference/borrow/user-and-loans-data/loan-detail"},{"title":"Get all user obligations","openapi":"kamino-api.json GET /kamino-market/{marketPubkey}/users/{userPubkey}/obligations","href":"/build/api-reference/borrow/user-and-loans-data/user-obligations"},{"title":"Get profit and loss for an obligation","openapi":"kamino-api.json GET /v2/kamino-market/{marketPubkey}/obligations/{obligationPubkey}/pnl","href":"/build/api-reference/borrow/user-and-loans-data/obligation-pnl"},{"title":"Get KLend obligation history","openapi":"kamino-api.json GET /v2/kamino-market/{marketPubkey}/obligations/{obligationPubkey}/metrics/history","href":"/build/api-reference/borrow/user-and-loans-data/obligation-metrics-history"}]},{"group":"Rewards","pages":[{"title":"Get KLend rewards","openapi":"kamino-api.json GET /klend/rewards","href":"/build/api-reference/borrow/rewards/rewards-list"},{"title":"Get KLend reward history","openapi":"kamino-api.json GET /klend/{depositReservePubkey}/{borrowReservePubkey}/rewards/history","href":"/build/api-reference/borrow/rewards/rewards-history"}]},{"group":"Deposit Txn","pages":[{"title":"Get transaction to deposit into a klend reserve","openapi":"ktx-api.json POST /ktx/klend/deposit","href":"/build/api-reference/borrow/actions/deposit/klend-deposit"},{"title":"Get instructions to deposit into a klend reserve","openapi":"ktx-api.json POST /ktx/klend/deposit-instructions","href":"/build/api-reference/borrow/actions/deposit/klend-deposit-instructions"}]},{"group":"Withdraw Txn","pages":[{"title":"Get transaction to withdraw from a klend reserve","openapi":"ktx-api.json POST /ktx/klend/withdraw","href":"/build/api-reference/borrow/actions/withdraw/klend-withdraw"},{"title":"Get instructions to withdraw from a klend reserve","openapi":"ktx-api.json POST /ktx/klend/withdraw-instructions","href":"/build/api-reference/borrow/actions/withdraw/klend-withdraw-instructions"}]},{"group":"Borrow Txn","pages":[{"title":"Get transaction to borrow liquidity from a klend reserve","openapi":"ktx-api.json POST /ktx/klend/borrow","href":"/build/api-reference/borrow/actions/borrow/klend-borrow"},{"title":"Get instructions to borrow liquidity from a klend reserve","openapi":"ktx-api.json POST /ktx/klend/borrow-instructions","href":"/build/api-reference/borrow/actions/borrow/klend-borrow-instructions"}]},{"group":"Repay Txn","pages":[{"title":"Get transaction to repay debt of a klend reserve","openapi":"ktx-api.json POST /ktx/klend/repay","href":"/build/api-reference/borrow/actions/repay/klend-repay"},{"title":"Get instructions to repay debt of a klend reserve","openapi":"ktx-api.json POST /ktx/klend/repay-instructions","href":"/build/api-reference/borrow/actions/repay/klend-repay-instructions"}]}]},{"group":"Liquidity","icon":"droplet","pages":[{"group":"Strategy Data","pages":[{"title":"Get all strategies","openapi":"kamino-extra-api.json GET /strategies","href":"/build/api-reference/liquidity/strategy-data/strategies-list"},{"title":"Get strategy metrics","openapi":"kamino-extra-api.json GET /strategies/{pubkey}/metrics","href":"/build/api-reference/liquidity/strategy-data/strategy-metrics"},{"title":"Get strategy historical metrics","openapi":"kamino-extra-api.json GET /v2/strategies/{pubkey}/history","href":"/build/api-reference/liquidity/strategy-data/strategy-metrics-history"},{"title":"Get total strategy TVL","openapi":"kamino-extra-api.json GET /strategies/tvl","href":"/build/api-reference/liquidity/strategy-data/strategies-tvl"},{"title":"Get strategy fees and rewards","openapi":"kamino-extra-api.json GET /strategies/fees-and-rewards","href":"/build/api-reference/liquidity/strategy-data/strategies-fees-and-rewards"}]},{"group":"User Data","pages":[{"title":"Get user PnL","openapi":"kamino-extra-api.json GET /v2/strategies/{strategyPubkey}/shareholders/{walletPubkey}/pnl","href":"/build/api-reference/liquidity/user-data/user-pnl"},{"title":"Get user PnL history","openapi":"kamino-extra-api.json GET /v2/strategies/{strategyPubkey}/shareholders/{walletPubkey}/pnl/history","href":"/build/api-reference/liquidity/user-data/user-pnl-history"},{"title":"Get user fees and rewards","openapi":"kamino-extra-api.json GET /strategies/{strategyPubkey}/shareholders/{walletPubkey}/fees-and-rewards","href":"/build/api-reference/liquidity/user-data/user-fees-and-rewards"},{"title":"Get user rewards history","openapi":"kamino-extra-api.json GET /strategies/shareholders/{walletPubkey}/rewards/history","href":"/build/api-reference/liquidity/user-data/user-rewards-history"},{"title":"Get user transactions","openapi":"kamino-extra-api.json GET /v2/shareholders/{walletPubkey}/transactions","href":"/build/api-reference/liquidity/user-data/user-transactions"}]}]},{"group":"Oracle","icon":"satellite-dish","pages":[{"group":"Prices","pages":[{"title":"Get oracle prices","openapi":"kamino-api.json GET /oracles/prices","href":"/build/api-reference/oracle/oracle-prices"},{"title":"Get token prices","openapi":"kamino-extra-api.json GET /prices","href":"/build/api-reference/oracle/token-prices"},{"title":"Get token price history","openapi":"kamino-extra-api.json GET /prices/history","href":"/build/api-reference/oracle/token-prices-history"}]}]},{"group":"Rewards","icon":"seedling","pages":[{"group":"Farm Data","pages":[{"title":"Get farm transactions","openapi":"kamino-api.json GET /farms/{farmPubkey}/transactions","href":"/build/api-reference/rewards/farm-transactions"},{"title":"Get farm management history","openapi":"kamino-api.json GET /farms/{farmPubkey}/management-history","href":"/build/api-reference/rewards/farm-management-history"}]},{"group":"User Data","pages":[{"title":"Get user farm transactions","openapi":"kamino-api.json GET /farms/users/{pubkey}/transactions","href":"/build/api-reference/rewards/user-transactions"}]}]},{"group":"Portfolio","icon":"chart-pie","pages":[{"group":"Wallet Data","pages":[{"title":"Get portfolio source data for a wallet","openapi":"kamino-api.json GET /portfolio/{pubkey}","href":"/build/api-reference/portfolio/portfolio-source-data"},{"title":"Get pending farm rewards for a wallet","openapi":"kamino-api.json GET /portfolio/{pubkey}/rewards","href":"/build/api-reference/portfolio/portfolio-rewards"}]}]},{"group":"Tokens","icon":"coins","pages":[{"title":"Get tokens","openapi":"kamino-extra-api.json GET /tokens-api/tokens","href":"/build/api-reference/tokens/token-list"}]},{"group":"Swap","icon":"right-left","pages":[{"group":"Route","pages":[{"title":"Swap","openapi":"kswap-api.json GET /kswap/swap/","href":"/build/api-reference/kswap/swap"}]}]},{"group":"Lookup Tables","icon":"table","pages":[{"group":"Managed LUTs","pages":[{"title":"Find Lookup Tables for addresses","openapi":"kamino-api.json POST /luts/find-minimal","href":"/build/api-reference/luts/find-minimal"},{"title":"Get managed LUTs for a product","openapi":"kamino-api.json GET /luts/managed","href":"/build/api-reference/luts/managed"},{"title":"Get managed LUTs for multiple products","openapi":"kamino-api.json GET /luts/managed/batch","href":"/build/api-reference/luts/managed-batch"},{"title":"Get managed LUTs by product type","openapi":"kamino-api.json GET /luts/managed/product-type/{productType}","href":"/build/api-reference/luts/managed-product-type"},{"title":"Register a new vault with its on-chain LUT","openapi":"kamino-api.json POST /luts/managed/new-vault","href":"/build/api-reference/luts/new-vault"}]}]},{"group":"Full API Reference","icon":"folder","pages":[{"group":"Actions","pages":[{"group":"Kamino Lend Borrow","pages":[{"title":"Get transaction to borrow liquidity from a klend reserve","deprecated":null,"version":null,"openapi":"/ktx-api.json post /ktx/klend/borrow","href":"/build/kamino-lend-borrow/get-transaction-to-borrow-liquidity-from-a-klend-reserve"},{"title":"Get instructions to borrow liquidity from a klend reserve","deprecated":null,"version":null,"openapi":"/ktx-api.json post /ktx/klend/borrow-instructions","href":"/build/kamino-lend-borrow/get-instructions-to-borrow-liquidity-from-a-klend-reserve"}]},{"group":"Kamino Lend Deposit","pages":[{"title":"Get transaction to deposit into a klend reserve","deprecated":null,"version":null,"openapi":"/ktx-api.json post /ktx/klend/deposit","href":"/build/kamino-lend-deposit/get-transaction-to-deposit-into-a-klend-reserve"},{"title":"Get instructions to deposit into a klend reserve","deprecated":null,"version":null,"openapi":"/ktx-api.json post /ktx/klend/deposit-instructions","href":"/build/kamino-lend-deposit/get-instructions-to-deposit-into-a-klend-reserve"}]},{"group":"Kamino Lend Repay","pages":[{"title":"Get transaction to repay debt of a klend reserve","deprecated":null,"version":null,"openapi":"/ktx-api.json post /ktx/klend/repay","href":"/build/kamino-lend-repay/get-transaction-to-repay-debt-of-a-klend-reserve"},{"title":"Get instructions to repay debt of a klend reserve","deprecated":null,"version":null,"openapi":"/ktx-api.json post /ktx/klend/repay-instructions","href":"/build/kamino-lend-repay/get-instructions-to-repay-debt-of-a-klend-reserve"}]},{"group":"Kamino Lend Withdraw","pages":[{"title":"Get transaction to withdraw from a klend reserve","deprecated":null,"version":null,"openapi":"/ktx-api.json post /ktx/klend/withdraw","href":"/build/kamino-lend-withdraw/get-transaction-to-withdraw-from-a-klend-reserve"},{"title":"Get instructions to withdraw from a klend reserve","deprecated":null,"version":null,"openapi":"/ktx-api.json post /ktx/klend/withdraw-instructions","href":"/build/kamino-lend-withdraw/get-instructions-to-withdraw-from-a-klend-reserve"}]},{"group":"Kamino Earn Deposit","pages":[{"title":"Get transaction to deposit into a kvault","deprecated":null,"version":null,"openapi":"/ktx-api.json post /ktx/kvault/deposit","href":"/build/kamino-earn-deposit/get-transaction-to-deposit-into-a-kvault"},{"title":"Get instructions to deposit into a kvault","deprecated":null,"version":null,"openapi":"/ktx-api.json post /ktx/kvault/deposit-instructions","href":"/build/kamino-earn-deposit/get-instructions-to-deposit-into-a-kvault"}]},{"group":"Kamino Earn Withdraw","pages":[{"title":"Get transaction to withdraw from a kvault","deprecated":null,"version":null,"openapi":"/ktx-api.json post /ktx/kvault/withdraw","href":"/build/kamino-earn-withdraw/get-transaction-to-withdraw-from-a-kvault"},{"title":"Get instructions to withdraw from a kvault","deprecated":null,"version":null,"openapi":"/ktx-api.json post /ktx/kvault/withdraw-instructions","href":"/build/kamino-earn-withdraw/get-instructions-to-withdraw-from-a-kvault"}]}]},{"group":"Kamino Lend Markets","pages":[{"title":"Get KLend Market metrics history","deprecated":null,"version":null,"openapi":"/kamino-api.json get /kamino-market/{pubkey}/metrics/history","href":"/build/kamino-lend-markets/get-klend-market-metrics-history"},{"title":"Get KLend reserve history","deprecated":null,"version":null,"openapi":"/kamino-api.json get /kamino-market/{marketPubkey}/reserves/{reservePubkey}/metrics/history","href":"/build/kamino-lend-markets/get-klend-reserve-history"},{"title":"Get metrics for market reserves","deprecated":null,"version":null,"openapi":"/kamino-api.json get /kamino-market/{pubkey}/reserves/metrics","href":"/build/kamino-lend-markets/get-metrics-for-market-reserves"},{"title":"Get metrics for leverage/multiply vaults","deprecated":null,"version":null,"openapi":"/kamino-api.json get /kamino-market/{pubkey}/leverage/metrics","href":"/build/kamino-lend-markets/get-metrics-for-leveragemultiply-vaults"},{"title":"Get KLend market reserves account data","deprecated":null,"version":null,"openapi":"/kamino-api.json get /kamino-market/reserves/account-data","href":"/build/kamino-lend-markets/get-klend-market-reserves-account-data"},{"title":"Get collateral reserves with borrowable reserves","deprecated":null,"version":null,"openapi":"/kamino-api.json get /markets/collateral-reserves","href":"/build/kamino-lend-markets/get-collateral-reserves-with-borrowable-reserves"},{"title":"Get max leverage per Multiply pair","deprecated":null,"version":null,"openapi":"/kamino-api.json get /markets/multiply-pairs","href":"/build/kamino-lend-markets/get-max-leverage-per-multiply-pair"},{"title":"Get metadata for multiple markets","deprecated":null,"version":null,"openapi":"/kamino-api.json get /markets/batch/metadata","href":"/build/kamino-lend-markets/get-metadata-for-multiple-markets"},{"title":"Get metadata for a market","deprecated":null,"version":null,"openapi":"/kamino-api.json get /markets/{marketPubkey}/metadata","href":"/build/kamino-lend-markets/get-metadata-for-a-market"},{"title":"Get charts for a market","deprecated":null,"version":null,"openapi":"/kamino-api.json get /markets/{marketPubkey}/charts","href":"/build/kamino-lend-markets/get-charts-for-a-market"},{"title":"Get all Kamino Markets config","deprecated":null,"version":null,"openapi":"/kamino-api.json get /v2/kamino-market","href":"/build/kamino-lend-markets/get-all-kamino-markets-config"},{"title":"Get Kamino Market config","deprecated":null,"version":null,"openapi":"/kamino-api.json get /v2/kamino-market/{pubkey}","href":"/build/kamino-lend-markets/get-kamino-market-config"}]},{"group":"Kamino Lend Yield","pages":[{"title":"Get KLend reserve borrow APY and staking APY history","deprecated":null,"version":null,"openapi":"/kamino-api.json get /kamino-market/{marketPubkey}/reserves/{reservePubkey}/borrow-and-staking-apys/history","href":"/build/kamino-lend-yield/get-klend-reserve-borrow-apy-and-staking-apy-history"},{"title":"Get KLend reserve borrow APY and median staking APY history","deprecated":null,"version":null,"openapi":"/kamino-api.json get /kamino-market/{marketPubkey}/reserves/{reservePubkey}/borrow-and-staking-apys/history/median","href":"/build/kamino-lend-yield/get-klend-reserve-borrow-apy-and-median-staking-apy-history"},{"title":"Get a KLend deposit position history","deprecated":null,"version":null,"openapi":"/kamino-api.json get /v3/kamino-market/{marketPubkey}/obligations/{obligationPubkey}/deposits/{reservePubkey}/metrics/history","href":"/build/kamino-lend-yield/get-a-klend-deposit-position-history"},{"title":"Get stored interest fees earned per obligation","deprecated":null,"version":null,"openapi":"/kamino-api.json get /v3/kamino-market/{marketPubkey}/obligations/{obligationPubkey}/interest-fees","href":"/build/kamino-lend-yield/get-stored-interest-fees-earned-per-obligation"},{"title":"Get stored interest fees paid per obligation","deprecated":null,"version":null,"openapi":"/kamino-api.json get /v3/kamino-market/{marketPubkey}/obligations/{obligationPubkey}/interest-paid","href":"/build/kamino-lend-yield/get-stored-interest-fees-paid-per-obligation"},{"title":"Get interest fees earned per obligation","deprecated":true,"version":null,"openapi":"/kamino-api.json get /v2/kamino-market/{marketPubkey}/obligations/{obligationPubkey}/interest-fees","href":"/build/kamino-lend-yield/get-interest-fees-earned-per-obligation"},{"title":"Get interest fees paid per obligation","deprecated":true,"version":null,"openapi":"/kamino-api.json get /v2/kamino-market/{marketPubkey}/obligations/{obligationPubkey}/interest-paid","href":"/build/kamino-lend-yield/get-interest-fees-paid-per-obligation"},{"title":"Get user KLend rewards","deprecated":null,"version":null,"openapi":"/kamino-api.json get /klend/users/{pubkey}/rewards","href":"/build/kamino-lend-yield/get-user-klend-rewards"},{"title":"Get KLend rewards","deprecated":null,"version":null,"openapi":"/kamino-api.json get /klend/rewards","href":"/build/kamino-lend-yield/get-klend-rewards"},{"title":"Get KLend reward history","deprecated":null,"version":null,"openapi":"/kamino-api.json get /klend/{depositReservePubkey}/{borrowReservePubkey}/rewards/history","href":"/build/kamino-lend-yield/get-klend-reward-history"}]},{"group":"Kamino Lend User Loans","pages":[{"title":"Get all user obligations","deprecated":null,"version":null,"openapi":"/kamino-api.json get /kamino-market/{marketPubkey}/users/{userPubkey}/obligations","href":"/build/kamino-lend-user-loans/get-all-user-obligations"},{"title":"Get obligation analytics history","deprecated":null,"version":null,"openapi":"/kamino-api.json get /v2/kamino-market/{marketPubkey}/obligations/{obligationPubkey}/analytics/history","href":"/build/kamino-lend-user-loans/get-obligation-analytics-history"},{"title":"Get profit and loss for an obligation","deprecated":null,"version":null,"openapi":"/kamino-api.json get /v2/kamino-market/{marketPubkey}/obligations/{obligationPubkey}/pnl","href":"/build/kamino-lend-user-loans/get-profit-and-loss-for-an-obligation"},{"title":"Get profit and loss history for an obligation","deprecated":null,"version":null,"openapi":"/kamino-api.json get /v2/kamino-market/{marketPubkey}/obligations/{obligationPubkey}/pnl/history","href":"/build/kamino-lend-user-loans/get-profit-and-loss-history-for-an-obligation"},{"title":"Get KLend obligation history","deprecated":null,"version":null,"openapi":"/kamino-api.json get /v2/kamino-market/{marketPubkey}/obligations/{obligationPubkey}/metrics/history","href":"/build/kamino-lend-user-loans/get-klend-obligation-history"},{"title":"Get information about a loan (obligation)","deprecated":null,"version":null,"openapi":"/kamino-api.json get /klend/loans/{pubkey}","href":"/build/kamino-lend-user-loans/get-information-about-a-loan-obligation"}]},{"group":"Kamino Lend Reserves","pages":[{"title":"Get charts for a reserve","deprecated":null,"version":null,"openapi":"/kamino-api.json get /reserves/{reservePubkey}/charts","href":"/build/kamino-lend-reserves/get-charts-for-a-reserve"},{"title":"Get stats for multiple reserves","description":"Get current raw and cap-aware reserve liquidity, borrowing caps and counters, base APYs with historical averages, underlying token yield and UI-matching APY breakdowns, utilization with historical averages, auto-deleveraging settings, reserve farm rewards, pair-specific incentives, partner points programs and the Scope oracle composition of the price and TWAP chains. Pair-specific incentives and points programs are not included in the APY breakdown totals. Select reserves directly with the reserve query parameter or expand all reserves from lending markets with the market query parameter. The response is keyed by reserve public key; unknown reserves and markets are omitted.","deprecated":null,"version":null,"openapi":"/kamino-api.json get /reserves/batch/stats","href":"/build/kamino-lend-reserves/get-stats-for-multiple-reserves"},{"title":"Get stats for a reserve","deprecated":null,"version":null,"openapi":"/kamino-api.json get /reserves/{reservePubkey}/stats","href":"/build/kamino-lend-reserves/get-stats-for-a-reserve"}]},{"group":"Kamino Liquidity","pages":[{"title":"Get Liquidity transactions by shareholder wallet address","description":"Get all Kamino Liquidity strategy transactions for a provided shareholder wallet address.","deprecated":null,"version":null,"openapi":"/kamino-api.json get /v2/shareholders/{pubkey}/transactions","href":"/build/kamino-liquidity/get-liquidity-transactions-by-shareholder-wallet-address"}]},{"group":"Kamino Lend Transactions","pages":[{"title":"Get obligation transactions","deprecated":null,"version":null,"openapi":"/kamino-api.json get /v2/kamino-market/{marketPubkey}/obligations/{obligationPubkey}/transactions","href":"/build/kamino-lend-transactions/get-obligation-transactions"},{"title":"Get user transactions across all markets","deprecated":null,"version":null,"openapi":"/kamino-api.json get /v2/kamino-market/users/{userPubkey}/transactions","href":"/build/kamino-lend-transactions/get-user-transactions-across-all-markets"},{"title":"Get user transactions","deprecated":null,"version":null,"openapi":"/kamino-api.json get /v2/kamino-market/{marketPubkey}/users/{userPubkey}/transactions","href":"/build/kamino-lend-transactions/get-user-transactions"},{"title":"Get bulk market transactions","deprecated":null,"version":null,"openapi":"/kamino-api.json post /v2/kamino-market/{pubkey}/transactions","href":"/build/kamino-lend-transactions/get-bulk-market-transactions"},{"title":"Get user transactions across all markets (v3)","deprecated":null,"version":null,"openapi":"/kamino-api.json get /v3/kamino-market/users/{userPubkey}/transactions","href":"/build/kamino-lend-transactions/get-user-transactions-across-all-markets-v3"},{"title":"Get user transactions (v3)","deprecated":null,"version":null,"openapi":"/kamino-api.json get /v3/kamino-market/{marketPubkey}/users/{userPubkey}/transactions","href":"/build/kamino-lend-transactions/get-user-transactions-v3"},{"title":"Get bulk market transactions (v3)","deprecated":null,"version":null,"openapi":"/kamino-api.json post /v3/kamino-market/{pubkey}/transactions","href":"/build/kamino-lend-transactions/get-bulk-market-transactions-v3"},{"title":"Get paginated user transaction history","deprecated":null,"version":null,"openapi":"/kamino-api.json get /v3/kamino-market/users/{userPubkey}/transaction-history","href":"/build/kamino-lend-transactions/get-paginated-user-transaction-history"}]},{"group":"Kamino Lend Borrow Orders","pages":[{"title":"Get borrow order fills for an obligation","deprecated":null,"version":null,"openapi":"/kamino-api.json get /v2/kamino-market/obligations/{pubkey}/borrow-order-fills","href":"/build/kamino-lend-borrow-orders/get-borrow-order-fills-for-an-obligation"},{"title":"Get all obligations with open borrow orders in a market","deprecated":null,"version":null,"openapi":"/kamino-api.json get /v2/kamino-market/{pubkey}/obligations-with-open-borrow-orders","href":"/build/kamino-lend-borrow-orders/get-all-obligations-with-open-borrow-orders-in-a-market"}]},{"group":"Yields","pages":[{"title":"Get yield history","deprecated":null,"version":null,"openapi":"/kamino-api.json get /yields/{yieldSource}/history","href":"/build/yields/get-yield-history"},{"title":"Get principal token yields","deprecated":null,"version":null,"openapi":"/kamino-api.json get /yields/principal-tokens","href":"/build/yields/get-principal-token-yields"},{"title":"Get underlying token yield history","deprecated":null,"version":null,"openapi":"/kamino-api.json get /v2/underlying-yields/{mint}/history","href":"/build/yields/get-underlying-token-yield-history"}]},{"group":"Airdrop","pages":[{"title":"Get user airdrop allocations","deprecated":null,"version":null,"openapi":"/kamino-api.json get /v2/airdrop/users/{pubkey}/allocations","href":"/build/airdrop/get-user-airdrop-allocations"},{"title":"Get airdrop metrics","deprecated":null,"version":null,"openapi":"/kamino-api.json get /v2/airdrop/metrics","href":"/build/airdrop/get-airdrop-metrics"}]},{"group":"Staking Yields","pages":[{"title":"Get staking yields","deprecated":null,"version":null,"openapi":"/kamino-api.json get /v2/staking-yields","href":"/build/staking-yields/get-staking-yields"},{"title":"Get median staking yields","deprecated":null,"version":null,"openapi":"/kamino-api.json get /v2/staking-yields/median","href":"/build/staking-yields/get-median-staking-yields"},{"title":"Get mean staking yields","deprecated":null,"version":null,"openapi":"/kamino-api.json get /v2/staking-yields/mean","href":"/build/staking-yields/get-mean-staking-yields"}]},{"group":"Other","pages":[{"title":"Get Solana epochs metadata","deprecated":null,"version":null,"openapi":"/kamino-api.json get /epochs","href":"/build/other/get-solana-epochs-metadata"},{"title":"Get median Solana slot duration","deprecated":null,"version":null,"openapi":"/kamino-api.json get /slots/duration","href":"/build/other/get-median-solana-slot-duration"},{"title":"Get owner net value history","deprecated":null,"version":null,"openapi":"/kamino-api.json get /owners/{pubkey}/net-values/history","href":"/build/other/get-owner-net-value-history"},{"title":"Get filtered owner net value history","deprecated":null,"version":null,"openapi":"/kamino-api.json get /owners/{pubkey}/net-values/history/filtered","href":"/build/other/get-filtered-owner-net-value-history"},{"title":"Get Kamino oracle prices","deprecated":null,"version":null,"openapi":"/kamino-api.json get /oracles/prices","href":"/build/other/get-kamino-oracle-prices"},{"title":"Get USD benchmark lending rates","deprecated":null,"version":null,"openapi":"/kamino-api.json get /benchmark-rates/usd","href":"/build/other/get-usd-benchmark-lending-rates"},{"title":"Get SOFR rate history","deprecated":null,"version":null,"openapi":"/kamino-api.json get /benchmark-rates/sofr/history","href":"/build/other/get-sofr-rate-history"}]},{"group":"Kamino Earn User","pages":[{"title":"Get user KVault transactions","deprecated":null,"version":null,"openapi":"/kamino-api.json get /kvaults/users/{pubkey}/transactions","href":"/build/kamino-earn-user/get-user-kvault-transactions"},{"title":"Get all user KVault positions","deprecated":null,"version":null,"openapi":"/kamino-api.json get /kvaults/users/{pubkey}/positions","href":"/build/kamino-earn-user/get-all-user-kvault-positions"},{"title":"Get user position for a specific KVault","deprecated":null,"version":null,"openapi":"/kamino-api.json get /kvaults/users/{userPubkey}/positions/{vaultPubkey}","href":"/build/kamino-earn-user/get-user-position-for-a-specific-kvault"},{"title":"Get historical user metrics for all KVault positions","deprecated":null,"version":null,"openapi":"/kamino-api.json get /kvaults/users/{pubkey}/metrics/history","href":"/build/kamino-earn-user/get-historical-user-metrics-for-all-kvault-positions"},{"title":"Get historical user metrics for a single KVault","deprecated":null,"version":null,"openapi":"/kamino-api.json get /kvaults/users/{userPubkey}/vaults/{vaultPubkey}/metrics/history","href":"/build/kamino-earn-user/get-historical-user-metrics-for-a-single-kvault"},{"title":"Get user KVault PnL","deprecated":null,"version":null,"openapi":"/kamino-api.json get /kvaults/users/{userPubkey}/vaults/{vaultPubkey}/pnl","href":"/build/kamino-earn-user/get-user-kvault-pnl"},{"title":"Get user KVault PnL history","deprecated":null,"version":null,"openapi":"/kamino-api.json get /kvaults/users/{userPubkey}/vaults/{vaultPubkey}/pnl/history","href":"/build/kamino-earn-user/get-user-kvault-pnl-history"},{"title":"Get season user rewards","deprecated":null,"version":null,"openapi":"/kamino-api.json get /kvaults/users/{pubkey}/rewards","href":"/build/kamino-earn-user/get-season-user-rewards"}]},{"group":"Kamino Earn Vaults","pages":[{"title":"Get KVault allocation transactions","deprecated":null,"version":null,"openapi":"/kamino-api.json get /kvaults/vaults/{pubkey}/allocation-transactions","href":"/build/kamino-earn-vaults/get-kvault-allocation-transactions"},{"title":"Bulk get KVault transactions","deprecated":null,"version":null,"openapi":"/kamino-api.json post /kvaults/transactions","href":"/build/kamino-earn-vaults/bulk-get-kvault-transactions"},{"title":"Get KVault transactions by vault","deprecated":null,"version":null,"openapi":"/kamino-api.json post /kvaults/vaults/{pubkey}/transactions","href":"/build/kamino-earn-vaults/get-kvault-transactions-by-vault"},{"title":"Get currently queued withdraw-ticket redemptions for a vault","deprecated":null,"version":null,"openapi":"/kamino-api.json get /kvaults/vaults/{pubkey}/enqueued-withdraw-transactions","href":"/build/kamino-earn-vaults/get-currently-queued-withdraw-ticket-redemptions-for-a-vault"},{"title":"Get the live withdraw queue of a KVault","deprecated":null,"version":null,"openapi":"/kamino-api.json get /kvaults/vaults/{pubkey}/withdraw-queue","href":"/build/kamino-earn-vaults/get-the-live-withdraw-queue-of-a-kvault"},{"title":"Get all kvaults","deprecated":null,"version":null,"openapi":"/kamino-api.json get /kvaults/vaults","href":"/build/kamino-earn-vaults/get-all-kvaults"},{"title":"Get current KVault allocations","deprecated":null,"version":null,"openapi":"/kamino-api.json get /kvaults/vaults/{pubkey}/allocations","href":"/build/kamino-earn-vaults/get-current-kvault-allocations"},{"title":"Get current metrics for multiple KVaults","deprecated":null,"version":null,"openapi":"/kamino-api.json get /kvaults/vaults/metrics","href":"/build/kamino-earn-vaults/get-current-metrics-for-multiple-kvaults"},{"title":"Get KVault account data","deprecated":null,"version":null,"openapi":"/kamino-api.json get /kvaults/vaults/account-data","href":"/build/kamino-earn-vaults/get-kvault-account-data"},{"title":"Get stats for multiple KVaults","deprecated":null,"version":null,"openapi":"/kamino-api.json get /kvaults/vaults/batch/stats","href":"/build/kamino-earn-vaults/get-stats-for-multiple-kvaults"},{"title":"Get stats for a KVault","deprecated":null,"version":null,"openapi":"/kamino-api.json get /kvaults/vaults/{pubkey}/stats","href":"/build/kamino-earn-vaults/get-stats-for-a-kvault"},{"title":"Get historical metrics for multiple KVaults","deprecated":null,"version":null,"openapi":"/kamino-api.json get /kvaults/vaults/metrics/history","href":"/build/kamino-earn-vaults/get-historical-metrics-for-multiple-kvaults"},{"title":"Get KVault by address","deprecated":null,"version":null,"openapi":"/kamino-api.json get /kvaults/vaults/{pubkey}","href":"/build/kamino-earn-vaults/get-kvault-by-address"},{"title":"Get the share distribution of a KVault","deprecated":null,"version":null,"openapi":"/kamino-api.json get /kvaults/vaults/{pubkey}/holders","href":"/build/kamino-earn-vaults/get-the-share-distribution-of-a-kvault"},{"title":"Get historical KVault metrics","deprecated":null,"version":null,"openapi":"/kamino-api.json get /kvaults/vaults/{pubkey}/metrics/history","href":"/build/kamino-earn-vaults/get-historical-kvault-metrics"},{"title":"Get current KVault metrics","deprecated":null,"version":null,"openapi":"/kamino-api.json get /kvaults/vaults/{pubkey}/metrics","href":"/build/kamino-earn-vaults/get-current-kvault-metrics"},{"title":"Get historical KVault allocation volume","deprecated":null,"version":null,"openapi":"/kamino-api.json get /kvaults/vaults/{pubkey}/allocation-volume/history","href":"/build/kamino-earn-vaults/get-historical-kvault-allocation-volume"},{"title":"Compare historical KVault returns","deprecated":null,"version":null,"openapi":"/kamino-api.json get /kvaults/vaults/{pubkey}/returns-comparison","href":"/build/kamino-earn-vaults/compare-historical-kvault-returns"}]},{"group":"Multiply","pages":[{"title":"Get lifetime wallet Multiply earnings","deprecated":null,"version":null,"openapi":"/kamino-api.json get /owners/{pubkey}/multiply/pnl","href":"/build/multiply/get-lifetime-wallet-multiply-earnings"},{"title":"Get cumulative wallet Multiply earnings history","deprecated":null,"version":null,"openapi":"/kamino-api.json get /owners/{pubkey}/multiply/pnl/history","href":"/build/multiply/get-cumulative-wallet-multiply-earnings-history"}]},{"group":"Kamino Swap","pages":[{"title":"Get Swap transactions by user wallet address","deprecated":null,"version":null,"openapi":"/kamino-api.json get /kamino-swap/users/{pubkey}/transactions","href":"/build/kamino-swap/get-swap-transactions-by-user-wallet-address"}]},{"group":"Kamino Earn Vault Metadata","pages":[{"title":"Get metadata for KVault token","deprecated":null,"version":null,"openapi":"/kamino-api.json get /kvaults/mints/{pubkey}/metadata","href":"/build/kamino-earn-vault-metadata/get-metadata-for-kvault-token"},{"title":"Get icon for KVault token","deprecated":null,"version":null,"openapi":"/kamino-api.json get /kvaults/mints/{pubkey}/metadata/image.svg","href":"/build/kamino-earn-vault-metadata/get-icon-for-kvault-token"}]},{"group":"Lookup Tables","pages":[{"title":"Find Lookup Tables for addresses","deprecated":null,"version":null,"openapi":"/kamino-api.json post /luts/find-minimal","href":"/build/lookup-tables/find-lookup-tables-for-addresses"},{"title":"Get managed LUTs for a product","deprecated":null,"version":null,"openapi":"/kamino-api.json get /luts/managed","href":"/build/lookup-tables/get-managed-luts-for-a-product"},{"title":"Get managed LUTs for multiple products","deprecated":null,"version":null,"openapi":"/kamino-api.json get /luts/managed/batch","href":"/build/lookup-tables/get-managed-luts-for-multiple-products"},{"title":"Get managed LUTs by product type","deprecated":null,"version":null,"openapi":"/kamino-api.json get /luts/managed/product-type/{productType}","href":"/build/lookup-tables/get-managed-luts-by-product-type"},{"title":"Register a new vault with its on-chain LUT","deprecated":null,"version":null,"openapi":"/kamino-api.json post /luts/managed/new-vault","href":"/build/lookup-tables/register-a-new-vault-with-its-on-chain-lut"}]},{"group":"Season Rewards","pages":[{"title":"Get all KVault season rewards","deprecated":null,"version":null,"openapi":"/kamino-api.json get /kvaults/rewards","href":"/build/season-rewards/get-all-kvault-season-rewards"},{"title":"Get user staking boosts","deprecated":null,"version":null,"openapi":"/kamino-api.json get /users/{pubkey}/staking-boosts","href":"/build/season-rewards/get-user-staking-boosts"},{"title":"Get summary of the KVault program earnings","deprecated":null,"version":null,"openapi":"/kamino-api.json get /kvaults/summary","href":"/build/season-rewards/get-summary-of-the-kvault-program-earnings"},{"title":"Get user season rewards","deprecated":null,"version":null,"openapi":"/kamino-api.json get /season-rewards/users/{pubkey}","href":"/build/season-rewards/get-user-season-rewards"},{"title":"Get user season claim status","deprecated":null,"version":null,"openapi":"/kamino-api.json get /season-rewards/users/{pubkey}/claim-status","href":"/build/season-rewards/get-user-season-claim-status"},{"title":"Get final vesting pool allocation","deprecated":null,"version":null,"openapi":"/kamino-api.json get /season-rewards/final-vesting-pool","href":"/build/season-rewards/get-final-vesting-pool-allocation"}]},{"group":"Private Credit","pages":[{"title":"Get private credit metrics","deprecated":null,"version":null,"openapi":"/kamino-api.json get /kvaults/private-credit/metrics","href":"/build/private-credit/get-private-credit-metrics"},{"title":"Get private credit metrics history","deprecated":null,"version":null,"openapi":"/kamino-api.json get /kvaults/private-credit/metrics/history","href":"/build/private-credit/get-private-credit-metrics-history"}]},{"group":"Farms","pages":[{"title":"Get user farms transactions","deprecated":null,"version":null,"openapi":"/kamino-api.json get /farms/users/{pubkey}/transactions","href":"/build/farms/get-user-farms-transactions"},{"title":"Get farm transactions","deprecated":null,"version":null,"openapi":"/kamino-api.json get /farms/{farmPubkey}/transactions","href":"/build/farms/get-farm-transactions"},{"title":"Get farm management history","deprecated":null,"version":null,"openapi":"/kamino-api.json get /farms/{farmPubkey}/management-history","href":"/build/farms/get-farm-management-history"}]},{"group":"Portfolio","pages":[{"title":"Get portfolio source data for a wallet","deprecated":null,"version":null,"openapi":"/kamino-api.json get /portfolio/{pubkey}","href":"/build/portfolio/get-portfolio-source-data-for-a-wallet"},{"title":"Get pending farm rewards for a wallet","deprecated":null,"version":null,"openapi":"/kamino-api.json get /portfolio/{pubkey}/rewards","href":"/build/portfolio/get-pending-farm-rewards-for-a-wallet"}]},{"group":"User","pages":[{"title":"Get raw token holdings for a wallet","deprecated":null,"version":null,"openapi":"/kamino-api.json get /user/{walletPubkey}/holdings","href":"/build/user/get-raw-token-holdings-for-a-wallet"}]},{"group":"Earn","pages":[{"title":"Get a wallet earn activity feed","deprecated":null,"version":null,"openapi":"/kamino-api.json get /v3/earn/users/{userPubkey}/activity","href":"/build/earn/get-a-wallet-earn-activity-feed"},{"title":"Get a wallet earn summary","deprecated":null,"version":null,"openapi":"/kamino-api.json get /v3/earn/users/{userPubkey}/summary","href":"/build/earn/get-a-wallet-earn-summary"},{"title":"Get wallet token earnings and growth history","deprecated":null,"version":null,"openapi":"/kamino-api.json get /v3/earn/users/{userPubkey}/tokens/{tokenMint}/metrics/history","href":"/build/earn/get-wallet-token-earnings-and-growth-history"},{"title":"Get wallet earnings and growth history for all tokens","deprecated":null,"version":null,"openapi":"/kamino-api.json get /v3/earn/users/{userPubkey}/tokens/metrics/history","href":"/build/earn/get-wallet-earnings-and-growth-history-for-all-tokens"}]},{"group":"Prices","pages":[{"title":"Get token USD price history","deprecated":null,"version":null,"openapi":"/kamino-api.json get /v2/prices/{mint}/history","href":"/build/prices/get-token-usd-price-history"}]},{"group":"Distributors","pages":[{"title":"Create a distributor","deprecated":null,"version":null,"openapi":"/kamino-api.json post /distributors","href":"/build/distributors/create-a-distributor"},{"title":"Get distributor-tagged transactions of a vault","deprecated":null,"version":null,"openapi":"/kamino-api.json get /kvaults/vaults/{pubkey}/distributor-transactions","href":"/build/distributors/get-distributor-tagged-transactions-of-a-vault"},{"title":"Get transactions tagged with a distributor code","deprecated":null,"version":null,"openapi":"/kamino-api.json get /kvaults/distributors/{code}/transactions","href":"/build/distributors/get-transactions-tagged-with-a-distributor-code"},{"title":"Get transactions tagged with a distributor code on one vault","deprecated":null,"version":null,"openapi":"/kamino-api.json get /kvaults/distributors/{code}/vaults/{vault}/transactions","href":"/build/distributors/get-transactions-tagged-with-a-distributor-code-on-one-vault"},{"title":"Get per-wallet totals for a distributor code","deprecated":null,"version":null,"openapi":"/kamino-api.json get /kvaults/distributors/{code}/wallets","href":"/build/distributors/get-per-wallet-totals-for-a-distributor-code"}]}]}]},{"tab":"Tutorials","pages":[{"title":"Tutorials","href":"/build/tutorials/earn"}]},{"tab":"Recipes","pages":[{"title":"Recipes","href":"/build/resources/building-with-llms"}]},{"tab":"Kamino CLI","pages":[{"title":"Kamino CLI","href":"/build/cli"}]}]},{"product":"Curators","icon":"star","description":"Curator Documentation","pages":[{"title":"Curators","href":"/curators"}]}]},"basePath":"","title":"Get stats for a reserve - Kamino Docs","buildId":"dpl_42LwxxU1kGN114H4XzwGYXa9ZDah","deploymentId":"dpl_42LwxxU1kGN114H4XzwGYXa9ZDah","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-C-hEh3I2.js","utils-CnF4QiUD.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-C7PVNbel.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-8ytevL2A.js","snippetPresets-BT1alx3v.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","conditional-requirements-CFM0id0Q.js","ApiExamples-BLXC0i_W.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-CyLIGI9_.js","shallow-DC0lGVIW.js","getApiPlaygroundDisplay-CgDQ85tN.js","CodeSnippet-6-I-Gpv9.js","CodeSnippets-BAk1kDdu.js","Page-C945cI-W.js","getPastedJson-B276RuWN.js","icon-BqP8etTm.js","MethodPill-DM6sbxG1.js","DuplicateIcon-PyJglOaE.js","createIcon-CMeOMAc_.js","DynamicMarkdown-BoyYAA8K.js","SectionHeading-DAYv3gvZ.js","axios-vUo_bRtp.js","Markdown-BhTTmazV.js","clsx-CR-RHrVC.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-CBUH0-zX.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-BmARFYNC.js"]}