from compass_api_sdk import CompassAPIwith CompassAPI( api_key_auth="<YOUR_API_KEY_HERE>",) as compass_api: res = compass_api.earn.earn_positions_all(owner="0x06A9aF046187895AcFc7258450B15397CAc67400") # Handle response print(res)
import { CompassApiSDK } from "@compass-labs/api-sdk";
const compassApiSDK = new CompassApiSDK({
apiKeyAuth: "<YOUR_API_KEY_HERE>",
});
async function run() {
const result = await compassApiSDK.earn.earnPositionsAll({
owner: "0x06A9aF046187895AcFc7258450B15397CAc67400",
});
console.log(result);
}
run();
curl --request GET \
--url https://api.compasslabs.ai/v2/earn/positions_all \
--header 'x-api-key: <api-key>'
List all Earn positions across all supported chains (Ethereum, Base, Arbitrum).
Returns positions grouped by chain, with per-chain and total USD values.
Each chain includes Aave, vault, and Pendle PT positions. Chains where
the user has no earn account return empty position lists.
Use this endpoint for a cross-chain portfolio overview instead of making
separate calls per chain to /positions.
GET
/
v2
/
earn
/
positions_all
Python (SDK)
from compass_api_sdk import CompassAPIwith CompassAPI( api_key_auth="<YOUR_API_KEY_HERE>",) as compass_api: res = compass_api.earn.earn_positions_all(owner="0x06A9aF046187895AcFc7258450B15397CAc67400") # Handle response print(res)
import { CompassApiSDK } from "@compass-labs/api-sdk";
const compassApiSDK = new CompassApiSDK({
apiKeyAuth: "<YOUR_API_KEY_HERE>",
});
async function run() {
const result = await compassApiSDK.earn.earnPositionsAll({
owner: "0x06A9aF046187895AcFc7258450B15397CAc67400",
});
console.log(result);
}
run();
curl --request GET \
--url https://api.compasslabs.ai/v2/earn/positions_all \
--header 'x-api-key: <api-key>'
Positions grouped by chain. Keys: 'ethereum', 'base', 'arbitrum', 'hyperevm'. Every key is present; chains without a deployed earn account carry empty lists.
Total USD value of all positions across all chains.
Example:
"6250.66"
Was this page helpful?
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Compass API Docs","colors":{"primary":"#0284c7","light":"#0e9fe9","dark":"#0284c7"},"logo":{"light":"https://mintcdn.com/compasslabs-f07467e0/x2NrFgZ7soJbH6sc/logo/light.svg?fit=max\u0026auto=format\u0026n=x2NrFgZ7soJbH6sc\u0026q=85\u0026s=80a04b06674000990914306c6a833cb9","dark":"https://mintcdn.com/compasslabs-f07467e0/x2NrFgZ7soJbH6sc/logo/dark.svg?fit=max\u0026auto=format\u0026n=x2NrFgZ7soJbH6sc\u0026q=85\u0026s=77e910ba12605c7f004ad72498f8076f"},"favicon":"https://mintcdn.com/compasslabs-f07467e0/x2NrFgZ7soJbH6sc/favicon.svg?fit=max\u0026auto=format\u0026n=x2NrFgZ7soJbH6sc\u0026q=85\u0026s=2025e9c84a2b6b167d319b28e1ecb8a0","appearance":{"default":"light","strict":true},"navbar":{"links":[{"href":"https://calendly.com/elisabeth-compasslabs/30min","label":"Book a demo"},{"href":"https://compasslabs.ai/login","label":"Login"}]},"footer":{"socials":{"x":"https://x.com/labs_compass","github":"https://github.com/CompassLabs","linkedin":"https://www.linkedin.com/company/compass-labs-ai","medium":"https://medium.com/@compasslabs","telegram":"https://discord.com/invite/ujetyJJPYr","discord":"https://discord.com/invite/ujetyJJPYr"},"links":[{"header":"Resources","items":[{"label":"Blog","href":"https://medium.com/@compasslabs"}]},{"header":"Legal","items":[{"label":"Terms \u0026 Conditions","href":"https://docs.compasslabs.ai/v1/support/terms-and-conditions"},{"label":"Privacy Policy","href":"https://docs.compasslabs.ai/v1/support/privacy-policy"}]}]},"styling":{"eyebrows":"section","codeblocks":"system","latex":false},"integrations":{"ga4":{"measurementId":"G-EQSZ3TK15C"},"gtm":{"tagId":"GTM-5NXMZG6D"}},"contextual":{"options":["chatgpt","claude"],"display":"header"},"navigation":{"global":{"tabs":[],"anchors":[]},"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"compasslabs-f07467e0","hasAudioNarration":false,"actualSubdomain":"compasslabs-f07467e0","customDomains":["docs.compasslabs.ai"],"gitSource":{"type":"github","owner":"compasslabs","repo":"mono","deployBranch":"production","contentDirectory":"api_docs","isPrivate":true,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6ae0a6ff7c6095c2ab5b81a9","collectionId":"7e667304-c32a-4059-a44a-da8b60cd1eb8","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6ae0a6ff7c6095c2ab5b81a9"},"feedback":{"issues":true,"edits":true,"thumbs":true},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6ae0a6ff7c6095c2ab5b81a9","clientVersion":"0.0.3990","searchFilterCounts":[{"language":"default","tag":"API Reference","count":298},{"language":"default","tag":"Documentation","count":30},{"language":"default","tag":"Aave V3","count":15},{"language":"default","tag":"Perpetual Trading","count":15},{"language":"default","tag":"Tokenized Assets","count":15},{"language":"default","tag":"Credit","count":14},{"language":"default","tag":"Earn","count":13},{"language":"default","tag":"Morpho","count":12},{"language":"default","tag":"Uniswap V3","count":10},{"language":"default","tag":"Transaction Bundler","count":9}]},"assistantConfig":{},"basePath":"","hasChatPermissions":true,"hasWebMcpPermissions":true,"toggles":[{"name":"kill-isr","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":"editor-v7-file-tree","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":"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":"pause-universal-search-reconcile","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":"per-site-search-delta","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":"editor-private-page-search","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":"editor-nav-generations","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":"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":"byok-sep-25","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":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-agent-model-picker","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","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":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"isAtlas":false,"googleFontsInlined":false},"customCss":[{"filePath":"button.css","content":"@keyframes jump{0%,to{transform:translateY(0)}50%{transform:translateY(-20px)}}.jump-loop{animation:jump .5s ease infinite}#code-group,#content-area>div.flex.flex-col.gap-8>div.mt-6.flex.w-full.flex-col.space-y-4>div{background-color:#efefef33;box-shadow:0 4px 12px rgba(0,0,0,.08)}#code-group:hover,#content-area>div.flex.flex-col.gap-8>div.mt-6.flex.w-full.flex-col.space-y-4>div:hover{box-shadow:0 6px 18px rgba(0,0,0,.1)}"}],"page":{"pagePath":"v2/api-reference/earn/list-earn-positions-across-all-chains","slug":"/v2/api-reference/earn/list-earn-positions-across-all-chains","pageMetadata":{"title":"List earn positions across all chains","description":"List all Earn positions across all supported chains (Ethereum, Base, Arbitrum).\n\nReturns positions grouped by chain, with per-chain and total USD values.\nEach chain includes Aave, vault, and Pendle PT positions. Chains where\nthe user has no earn account return empty position lists.\n\nUse this endpoint for a cross-chain portfolio overview instead of making\nseparate calls per chain to /positions.","deprecated":null,"version":null,"openapi":"/v2/combined_spec.json get /v2/earn/positions_all","href":"/v2/api-reference/earn/list-earn-positions-across-all-chains","autogeneratedByOpenApi":true},"description":{"compiledSource":"\"use strict\";\nconst {Fragment: _Fragment, jsx: _jsx, jsxs: _jsxs} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsxs(_Fragment, {\n children: [_jsx(_components.p, {\n children: \"List all Earn positions across all supported chains (Ethereum, Base, Arbitrum).\"\n }), \"\\n\", _jsx(_components.p, {\n children: \"Returns positions grouped by chain, with per-chain and total USD values.\\nEach chain includes Aave, vault, and Pendle PT positions. Chains where\\nthe user has no earn account return empty position lists.\"\n }), \"\\n\", _jsx(_components.p, {\n children: \"Use this endpoint for a cross-chain portfolio overview instead of making\\nseparate calls per chain to /positions.\"\n })]\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":"system","config":{},"pageMetadata":{"title":"List earn positions across all chains","description":"List all Earn positions across all supported chains (Ethereum, Base, Arbitrum).\n\nReturns positions grouped by chain, with per-chain and total USD values.\nEach chain includes Aave, vault, and Pendle PT positions. Chains where\nthe user has no earn account return empty position lists.\n\nUse this endpoint for a cross-chain portfolio overview instead of making\nseparate calls per chain to /positions.","deprecated":null,"version":null,"openapi":"/v2/combined_spec.json get /v2/earn/positions_all","href":"/v2/api-reference/earn/list-earn-positions-across-all-chains","autogeneratedByOpenApi":true}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":["/_mintlify/custom/compasslabs-f07467e0/27fd886bf35b6ed0/redeploy-trigger.js","/_mintlify/custom/compasslabs-f07467e0/5b350f94165e79a1/scripts/auth-btns.js","/_mintlify/custom/compasslabs-f07467e0/0c2ee6a003a69104/scripts/home-btn-link.js","/_mintlify/custom/compasslabs-f07467e0/17a3e2d25ff9b880/scripts/magic.js","/_mintlify/custom/compasslabs-f07467e0/2592024b81e4044f/scripts/modal.js","/_mintlify/custom/compasslabs-f07467e0/60b3db97b96f7d26/scripts/language-icon-fixer.js","/_mintlify/custom/compasslabs-f07467e0/60408501351ea2bb/scripts/disable-bundler-playground.js"],"openApiReferenceData":{"operation":{"tags":["Earn"],"summary":"List earn positions across all chains","description":"List all Earn positions across all supported chains (Ethereum, Base, Arbitrum).\n\nReturns positions grouped by chain, with per-chain and total USD values.\nEach chain includes Aave, vault, and Pendle PT positions. Chains where\nthe user has no earn account return empty position lists.\n\nUse this endpoint for a cross-chain portfolio overview instead of making\nseparate calls per chain to /positions.","operationId":"v2_earn_positions_all","parameters":["7b493a2a-a3d1-4059-848c-0f30012924a3"],"responses":{"200":"8c8d97b0-0e68-4297-afa0-579ad4ba0a92","422":"df846dca-9b16-42ef-b93d-bd102768e9d4"},"x-speakeasy-name-override":"earn_positions_all","x-codeSamples":[{"lang":"python","label":"Python (SDK)","source":"from compass_api_sdk import CompassAPI\n\n\nwith CompassAPI(\n api_key_auth=\"\u003cYOUR_API_KEY_HERE>\",\n) as compass_api:\n\n res = compass_api.earn.earn_positions_all(owner=\"0x06A9aF046187895AcFc7258450B15397CAc67400\")\n\n # Handle response\n print(res)"},{"lang":"typescript","label":"Typescript (SDK)","source":"import { CompassApiSDK } from \"@compass-labs/api-sdk\";\n\nconst compassApiSDK = new CompassApiSDK({\n apiKeyAuth: \"\u003cYOUR_API_KEY_HERE>\",\n});\n\nasync function run() {\n const result = await compassApiSDK.earn.earnPositionsAll({\n owner: \"0x06A9aF046187895AcFc7258450B15397CAc67400\",\n });\n\n console.log(result);\n}\n\nrun();"}],"method":"get","type":"path","servers":["f38a9aa6-5bf5-4e43-8411-67293530b947"],"security":["eff03a3b-02d2-4605-ba22-1d398ee6cda2"],"path":"/v2/earn/positions_all","baseUrlOptions":["https://api.compasslabs.ai"],"title":"List earn positions across all chains","codeSamples":[{"label":"Python (SDK)","lang":"python","source":"from compass_api_sdk import CompassAPI\n\n\nwith CompassAPI(\n api_key_auth=\"\u003cYOUR_API_KEY_HERE>\",\n) as compass_api:\n\n res = compass_api.earn.earn_positions_all(owner=\"0x06A9aF046187895AcFc7258450B15397CAc67400\")\n\n # Handle response\n print(res)"},{"label":"Typescript (SDK)","lang":"typescript","source":"import { CompassApiSDK } from \"@compass-labs/api-sdk\";\n\nconst compassApiSDK = new CompassApiSDK({\n apiKeyAuth: \"\u003cYOUR_API_KEY_HERE>\",\n});\n\nasync function run() {\n const result = await compassApiSDK.earn.earnPositionsAll({\n owner: \"0x06A9aF046187895AcFc7258450B15397CAc67400\",\n });\n\n console.log(result);\n}\n\nrun();"}],"requiredOnlyExamples":false,"requestExampleType":"codeSamples","responseExampleType":"generated"},"dependencies":{"parameters":{"7b493a2a-a3d1-4059-848c-0f30012924a3":{"name":"owner","in":"query","required":true,"schema":{"type":"string","title":"Owner","default":"0x06A9aF046187895AcFc7258450B15397CAc67400","isRequired":true,"description":"The address of the owner of the earn account.","uniqueKey":"","typeLabel":"string"},"description":"The address of the owner of the earn account."}},"responses":{"8c8d97b0-0e68-4297-afa0-579ad4ba0a92":{"description":"Successful Response","content":{"application/json":{"schema":{"properties":{"chains":{"additionalProperties":{"properties":{"aave":{"items":{"properties":{"type":{"type":"string","const":"AAVE","title":"Type","description":"The market type discriminator.","examples":["VAULT","AAVE","PENDLE_PT","MAPLE"],"isRequired":true,"uniqueKey":"chains.additionalProperties.aave.items.[INDEX].type","typeLabel":"string"},"reserve_address":{"type":"string","title":"Reserve Address","description":"The reserve (underlying token) address.","isRequired":true,"uniqueKey":"chains.additionalProperties.aave.items.[INDEX].reserve_address","typeLabel":"string"},"reserve_symbol":{"type":"string","title":"Reserve Symbol","description":"Symbol of the reserve asset (e.g., USDC).","isRequired":true,"uniqueKey":"chains.additionalProperties.aave.items.[INDEX].reserve_symbol","typeLabel":"string"},"balance":{"oneOf":[{"type":"string","title":"Balance","description":"The user's position value (aToken balance).","isRequired":true,"uniqueKey":"chains.additionalProperties.aave.items.[INDEX].balance.oneOf.0","typeLabel":"string"},{"type":"null","title":"Balance","description":"The user's position value (aToken balance).","isRequired":true,"uniqueKey":"chains.additionalProperties.aave.items.[INDEX].balance.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"chains.additionalProperties.aave.items.[INDEX].balance","typeLabel":"string | null"},"usd_value":{"oneOf":[{"type":"string","title":"Usd Value","description":"Position value in USD (null if price unavailable).","uniqueKey":"chains.additionalProperties.aave.items.[INDEX].usd_value.oneOf.0","typeLabel":"string"},{"type":"null","title":"Usd Value","description":"Position value in USD (null if price unavailable).","uniqueKey":"chains.additionalProperties.aave.items.[INDEX].usd_value.oneOf.1","typeLabel":"null"}],"uniqueKey":"chains.additionalProperties.aave.items.[INDEX].usd_value","typeLabel":"string | null"},"pnl":{"oneOf":[{"type":"object","title":"PositionPnL","description":"PnL metrics for this position.","required":["total_deposited","current_value","unrealized_pnl","realized_pnl","total_pnl","total_pnl_percent"],"properties":{"total_deposited":{"type":"string","title":"Total Deposited","description":"Total assets deposited over all time","isRequired":true,"uniqueKey":"chains.additionalProperties.aave.items.[INDEX].pnl.oneOf.0.total_deposited","typeLabel":"string"},"current_value":{"type":"string","title":"Current Value","description":"Current position value in underlying","isRequired":true,"uniqueKey":"chains.additionalProperties.aave.items.[INDEX].pnl.oneOf.0.current_value","typeLabel":"string"},"unrealized_pnl":{"type":"string","title":"Unrealized Pnl","description":"current_value - cost_basis_remaining","isRequired":true,"uniqueKey":"chains.additionalProperties.aave.items.[INDEX].pnl.oneOf.0.unrealized_pnl","typeLabel":"string"},"realized_pnl":{"type":"string","title":"Realized Pnl","description":"Sum of profits/losses from all withdrawals","isRequired":true,"uniqueKey":"chains.additionalProperties.aave.items.[INDEX].pnl.oneOf.0.realized_pnl","typeLabel":"string"},"total_pnl":{"type":"string","title":"Total Pnl","description":"unrealized_pnl + realized_pnl","isRequired":true,"uniqueKey":"chains.additionalProperties.aave.items.[INDEX].pnl.oneOf.0.total_pnl","typeLabel":"string"},"total_pnl_percent":{"type":"string","title":"Total Pnl Percent","description":"(total_pnl / total_deposited) * 100","isRequired":true,"uniqueKey":"chains.additionalProperties.aave.items.[INDEX].pnl.oneOf.0.total_pnl_percent","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"chains.additionalProperties.aave.items.[INDEX].pnl.oneOf.0","typeLabel":"PositionPnL · object"},{"type":"null","description":"PnL metrics for this position.","uniqueKey":"chains.additionalProperties.aave.items.[INDEX].pnl.oneOf.1","typeLabel":"null"}],"uniqueKey":"chains.additionalProperties.aave.items.[INDEX].pnl","typeLabel":"PositionPnL · object | null"},"deposits":{"items":{"properties":{"block_number":{"type":"integer","title":"Block Number","description":"Block number when deposit occurred","isRequired":true,"uniqueKey":"chains.additionalProperties.aave.items.[INDEX].deposits.items.[INDEX].block_number","typeLabel":"integer"},"block_timestamp":{"type":"string","format":"date-time","title":"Block Timestamp","description":"Timestamp when deposit occurred","isRequired":true,"uniqueKey":"chains.additionalProperties.aave.items.[INDEX].deposits.items.[INDEX].block_timestamp","typeLabel":"string\u003cdate-time>"},"transaction_hash":{"type":"string","title":"Transaction Hash","description":"Transaction hash of the deposit","isRequired":true,"uniqueKey":"chains.additionalProperties.aave.items.[INDEX].deposits.items.[INDEX].transaction_hash","typeLabel":"string"},"input_amount":{"type":"string","title":"Input Amount","description":"Amount deposited (underlying asset or swap token)","isRequired":true,"uniqueKey":"chains.additionalProperties.aave.items.[INDEX].deposits.items.[INDEX].input_amount","typeLabel":"string"},"input_symbol":{"type":"string","title":"Input Symbol","description":"Symbol of token deposited","isRequired":true,"uniqueKey":"chains.additionalProperties.aave.items.[INDEX].deposits.items.[INDEX].input_symbol","typeLabel":"string"},"output_amount":{"type":"string","title":"Output Amount","description":"Units received (shares, aTokens, or PT)","isRequired":true,"uniqueKey":"chains.additionalProperties.aave.items.[INDEX].deposits.items.[INDEX].output_amount","typeLabel":"string"},"output_symbol":{"type":"string","title":"Output Symbol","description":"Symbol of units received","isRequired":true,"uniqueKey":"chains.additionalProperties.aave.items.[INDEX].deposits.items.[INDEX].output_symbol","typeLabel":"string"},"cost_per_unit":{"type":"string","title":"Cost Per Unit","description":"Cost basis per unit at time of deposit","isRequired":true,"uniqueKey":"chains.additionalProperties.aave.items.[INDEX].deposits.items.[INDEX].cost_per_unit","typeLabel":"string"}},"type":"object","required":["block_number","block_timestamp","transaction_hash","input_amount","input_symbol","output_amount","output_symbol","cost_per_unit"],"title":"DepositEvent","description":"Historical deposit event for position transparency.\n\nUses generic input/output format that works across all protocols:\n- Vault: input=underlying, output=shares\n- Aave: input=underlying, output=aTokens\n- Pendle: input=token (varies), output=PT","uniqueKey":"chains.additionalProperties.aave.items.[INDEX].deposits.items.[INDEX]","typeLabel":"DepositEvent · object"},"type":"array","title":"Deposits","description":"All deposit events for this position.","default":[],"uniqueKey":"chains.additionalProperties.aave.items.[INDEX].deposits","typeLabel":"DepositEvent · object[]"},"withdrawals":{"items":{"properties":{"block_number":{"type":"integer","title":"Block Number","description":"Block number when withdrawal occurred","isRequired":true,"uniqueKey":"chains.additionalProperties.aave.items.[INDEX].withdrawals.items.[INDEX].block_number","typeLabel":"integer"},"block_timestamp":{"type":"string","format":"date-time","title":"Block Timestamp","description":"Timestamp when withdrawal occurred","isRequired":true,"uniqueKey":"chains.additionalProperties.aave.items.[INDEX].withdrawals.items.[INDEX].block_timestamp","typeLabel":"string\u003cdate-time>"},"transaction_hash":{"type":"string","title":"Transaction Hash","description":"Transaction hash of the withdrawal","isRequired":true,"uniqueKey":"chains.additionalProperties.aave.items.[INDEX].withdrawals.items.[INDEX].transaction_hash","typeLabel":"string"},"input_amount":{"type":"string","title":"Input Amount","description":"Units withdrawn (shares, aTokens, PT)","isRequired":true,"uniqueKey":"chains.additionalProperties.aave.items.[INDEX].withdrawals.items.[INDEX].input_amount","typeLabel":"string"},"input_symbol":{"type":"string","title":"Input Symbol","description":"Symbol of units withdrawn","isRequired":true,"uniqueKey":"chains.additionalProperties.aave.items.[INDEX].withdrawals.items.[INDEX].input_symbol","typeLabel":"string"},"output_amount":{"type":"string","title":"Output Amount","description":"Amount received (underlying or token)","isRequired":true,"uniqueKey":"chains.additionalProperties.aave.items.[INDEX].withdrawals.items.[INDEX].output_amount","typeLabel":"string"},"output_symbol":{"type":"string","title":"Output Symbol","description":"Symbol of token received","isRequired":true,"uniqueKey":"chains.additionalProperties.aave.items.[INDEX].withdrawals.items.[INDEX].output_symbol","typeLabel":"string"},"realized_pnl":{"type":"string","title":"Realized Pnl","description":"Profit/loss: output value - cost basis consumed","isRequired":true,"uniqueKey":"chains.additionalProperties.aave.items.[INDEX].withdrawals.items.[INDEX].realized_pnl","typeLabel":"string"}},"type":"object","required":["block_number","block_timestamp","transaction_hash","input_amount","input_symbol","output_amount","output_symbol","realized_pnl"],"title":"WithdrawalEvent","description":"Historical withdrawal event with realized PnL.\n\nUses generic input/output format:\n- Vault: input=shares, output=underlying\n- Aave: input=aTokens, output=underlying\n- Pendle: input=PT, output=token (varies)","uniqueKey":"chains.additionalProperties.aave.items.[INDEX].withdrawals.items.[INDEX]","typeLabel":"WithdrawalEvent · object"},"type":"array","title":"Withdrawals","description":"All withdrawal events for this position.","default":[],"uniqueKey":"chains.additionalProperties.aave.items.[INDEX].withdrawals","typeLabel":"WithdrawalEvent · object[]"},"apy":{"oneOf":[{"type":"string","title":"Apy","description":"Current supply APY (percentage).","uniqueKey":"chains.additionalProperties.aave.items.[INDEX].apy.oneOf.0","typeLabel":"string"},{"type":"null","title":"Apy","description":"Current supply APY (percentage).","uniqueKey":"chains.additionalProperties.aave.items.[INDEX].apy.oneOf.1","typeLabel":"null"}],"uniqueKey":"chains.additionalProperties.aave.items.[INDEX].apy","typeLabel":"string | null"}},"additionalProperties":false,"type":"object","required":["type","reserve_address","reserve_symbol","balance"],"title":"AavePosition","description":"Aave V3 lending position.\n\nNote: Unlike the old model, this no longer has vault_address/vault_name fields\nas they were nonsensical for Aave positions.","uniqueKey":"chains.additionalProperties.aave.items.[INDEX]","typeLabel":"AavePosition · object"},"type":"array","title":"Aave","description":"Aave V3 lending positions.","default":[],"example":[{"balance":"1250.5432100000","deposits":[],"pnl":{"current_value":"1250.5432100000","realized_pnl":"0.0000000000","total_deposited":"1200.0000000000","total_pnl":"50.5432100000","total_pnl_percent":"4.2119341667","unrealized_pnl":"50.5432100000"},"reserve_address":"0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48","reserve_symbol":"USDC","type":"AAVE","withdrawals":[]}],"uniqueKey":"chains.additionalProperties.aave","typeLabel":"AavePosition · object[]"},"vaults":{"items":{"properties":{"type":{"type":"string","const":"VAULT","title":"Type","description":"The market type discriminator.","examples":["VAULT","AAVE","PENDLE_PT","MAPLE"],"isRequired":true,"uniqueKey":"chains.additionalProperties.vaults.items.[INDEX].type","typeLabel":"string"},"vault_address":{"type":"string","title":"Vault Address","description":"The vault address.","examples":["0xBEEF01735c132Ada46AA9aA4c54623cAA92A64CB"],"isRequired":true,"uniqueKey":"chains.additionalProperties.vaults.items.[INDEX].vault_address","typeLabel":"string"},"vault_name":{"type":"string","title":"Vault Name","description":"Name of the vault token (share token).","isRequired":true,"uniqueKey":"chains.additionalProperties.vaults.items.[INDEX].vault_name","typeLabel":"string"},"underlying_symbol":{"type":"string","title":"Underlying Symbol","description":"Symbol of the underlying token (e.g., USDC).","isRequired":true,"uniqueKey":"chains.additionalProperties.vaults.items.[INDEX].underlying_symbol","typeLabel":"string"},"underlying_address":{"type":"string","title":"Underlying Address","description":"Address of the underlying token.","isRequired":true,"uniqueKey":"chains.additionalProperties.vaults.items.[INDEX].underlying_address","typeLabel":"string"},"balance":{"oneOf":[{"type":"string","title":"Balance","description":"The user's position value in underlying token.","isRequired":true,"uniqueKey":"chains.additionalProperties.vaults.items.[INDEX].balance.oneOf.0","typeLabel":"string"},{"type":"null","title":"Balance","description":"The user's position value in underlying token.","isRequired":true,"uniqueKey":"chains.additionalProperties.vaults.items.[INDEX].balance.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"chains.additionalProperties.vaults.items.[INDEX].balance","typeLabel":"string | null"},"usd_value":{"oneOf":[{"type":"string","title":"Usd Value","description":"Position value in USD (null if price unavailable).","uniqueKey":"chains.additionalProperties.vaults.items.[INDEX].usd_value.oneOf.0","typeLabel":"string"},{"type":"null","title":"Usd Value","description":"Position value in USD (null if price unavailable).","uniqueKey":"chains.additionalProperties.vaults.items.[INDEX].usd_value.oneOf.1","typeLabel":"null"}],"uniqueKey":"chains.additionalProperties.vaults.items.[INDEX].usd_value","typeLabel":"string | null"},"pnl":{"oneOf":[{"type":"object","title":"PositionPnL","description":"PnL metrics for this position.","required":["total_deposited","current_value","unrealized_pnl","realized_pnl","total_pnl","total_pnl_percent"],"properties":{"total_deposited":{"type":"string","title":"Total Deposited","description":"Total assets deposited over all time","isRequired":true,"uniqueKey":"chains.additionalProperties.vaults.items.[INDEX].pnl.oneOf.0.total_deposited","typeLabel":"string"},"current_value":{"type":"string","title":"Current Value","description":"Current position value in underlying","isRequired":true,"uniqueKey":"chains.additionalProperties.vaults.items.[INDEX].pnl.oneOf.0.current_value","typeLabel":"string"},"unrealized_pnl":{"type":"string","title":"Unrealized Pnl","description":"current_value - cost_basis_remaining","isRequired":true,"uniqueKey":"chains.additionalProperties.vaults.items.[INDEX].pnl.oneOf.0.unrealized_pnl","typeLabel":"string"},"realized_pnl":{"type":"string","title":"Realized Pnl","description":"Sum of profits/losses from all withdrawals","isRequired":true,"uniqueKey":"chains.additionalProperties.vaults.items.[INDEX].pnl.oneOf.0.realized_pnl","typeLabel":"string"},"total_pnl":{"type":"string","title":"Total Pnl","description":"unrealized_pnl + realized_pnl","isRequired":true,"uniqueKey":"chains.additionalProperties.vaults.items.[INDEX].pnl.oneOf.0.total_pnl","typeLabel":"string"},"total_pnl_percent":{"type":"string","title":"Total Pnl Percent","description":"(total_pnl / total_deposited) * 100","isRequired":true,"uniqueKey":"chains.additionalProperties.vaults.items.[INDEX].pnl.oneOf.0.total_pnl_percent","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"chains.additionalProperties.vaults.items.[INDEX].pnl.oneOf.0","typeLabel":"PositionPnL · object"},{"type":"null","description":"PnL metrics for this position.","uniqueKey":"chains.additionalProperties.vaults.items.[INDEX].pnl.oneOf.1","typeLabel":"null"}],"uniqueKey":"chains.additionalProperties.vaults.items.[INDEX].pnl","typeLabel":"PositionPnL · object | null"},"deposits":{"items":{"properties":{"block_number":{"type":"integer","title":"Block Number","description":"Block number when deposit occurred","isRequired":true,"uniqueKey":"chains.additionalProperties.vaults.items.[INDEX].deposits.items.[INDEX].block_number","typeLabel":"integer"},"block_timestamp":{"type":"string","format":"date-time","title":"Block Timestamp","description":"Timestamp when deposit occurred","isRequired":true,"uniqueKey":"chains.additionalProperties.vaults.items.[INDEX].deposits.items.[INDEX].block_timestamp","typeLabel":"string\u003cdate-time>"},"transaction_hash":{"type":"string","title":"Transaction Hash","description":"Transaction hash of the deposit","isRequired":true,"uniqueKey":"chains.additionalProperties.vaults.items.[INDEX].deposits.items.[INDEX].transaction_hash","typeLabel":"string"},"input_amount":{"type":"string","title":"Input Amount","description":"Amount deposited (underlying asset or swap token)","isRequired":true,"uniqueKey":"chains.additionalProperties.vaults.items.[INDEX].deposits.items.[INDEX].input_amount","typeLabel":"string"},"input_symbol":{"type":"string","title":"Input Symbol","description":"Symbol of token deposited","isRequired":true,"uniqueKey":"chains.additionalProperties.vaults.items.[INDEX].deposits.items.[INDEX].input_symbol","typeLabel":"string"},"output_amount":{"type":"string","title":"Output Amount","description":"Units received (shares, aTokens, or PT)","isRequired":true,"uniqueKey":"chains.additionalProperties.vaults.items.[INDEX].deposits.items.[INDEX].output_amount","typeLabel":"string"},"output_symbol":{"type":"string","title":"Output Symbol","description":"Symbol of units received","isRequired":true,"uniqueKey":"chains.additionalProperties.vaults.items.[INDEX].deposits.items.[INDEX].output_symbol","typeLabel":"string"},"cost_per_unit":{"type":"string","title":"Cost Per Unit","description":"Cost basis per unit at time of deposit","isRequired":true,"uniqueKey":"chains.additionalProperties.vaults.items.[INDEX].deposits.items.[INDEX].cost_per_unit","typeLabel":"string"}},"type":"object","required":["block_number","block_timestamp","transaction_hash","input_amount","input_symbol","output_amount","output_symbol","cost_per_unit"],"title":"DepositEvent","description":"Historical deposit event for position transparency.\n\nUses generic input/output format that works across all protocols:\n- Vault: input=underlying, output=shares\n- Aave: input=underlying, output=aTokens\n- Pendle: input=token (varies), output=PT","uniqueKey":"chains.additionalProperties.vaults.items.[INDEX].deposits.items.[INDEX]","typeLabel":"DepositEvent · object"},"type":"array","title":"Deposits","description":"All deposit events for this position.","default":[],"uniqueKey":"chains.additionalProperties.vaults.items.[INDEX].deposits","typeLabel":"DepositEvent · object[]"},"withdrawals":{"items":{"properties":{"block_number":{"type":"integer","title":"Block Number","description":"Block number when withdrawal occurred","isRequired":true,"uniqueKey":"chains.additionalProperties.vaults.items.[INDEX].withdrawals.items.[INDEX].block_number","typeLabel":"integer"},"block_timestamp":{"type":"string","format":"date-time","title":"Block Timestamp","description":"Timestamp when withdrawal occurred","isRequired":true,"uniqueKey":"chains.additionalProperties.vaults.items.[INDEX].withdrawals.items.[INDEX].block_timestamp","typeLabel":"string\u003cdate-time>"},"transaction_hash":{"type":"string","title":"Transaction Hash","description":"Transaction hash of the withdrawal","isRequired":true,"uniqueKey":"chains.additionalProperties.vaults.items.[INDEX].withdrawals.items.[INDEX].transaction_hash","typeLabel":"string"},"input_amount":{"type":"string","title":"Input Amount","description":"Units withdrawn (shares, aTokens, PT)","isRequired":true,"uniqueKey":"chains.additionalProperties.vaults.items.[INDEX].withdrawals.items.[INDEX].input_amount","typeLabel":"string"},"input_symbol":{"type":"string","title":"Input Symbol","description":"Symbol of units withdrawn","isRequired":true,"uniqueKey":"chains.additionalProperties.vaults.items.[INDEX].withdrawals.items.[INDEX].input_symbol","typeLabel":"string"},"output_amount":{"type":"string","title":"Output Amount","description":"Amount received (underlying or token)","isRequired":true,"uniqueKey":"chains.additionalProperties.vaults.items.[INDEX].withdrawals.items.[INDEX].output_amount","typeLabel":"string"},"output_symbol":{"type":"string","title":"Output Symbol","description":"Symbol of token received","isRequired":true,"uniqueKey":"chains.additionalProperties.vaults.items.[INDEX].withdrawals.items.[INDEX].output_symbol","typeLabel":"string"},"realized_pnl":{"type":"string","title":"Realized Pnl","description":"Profit/loss: output value - cost basis consumed","isRequired":true,"uniqueKey":"chains.additionalProperties.vaults.items.[INDEX].withdrawals.items.[INDEX].realized_pnl","typeLabel":"string"}},"type":"object","required":["block_number","block_timestamp","transaction_hash","input_amount","input_symbol","output_amount","output_symbol","realized_pnl"],"title":"WithdrawalEvent","description":"Historical withdrawal event with realized PnL.\n\nUses generic input/output format:\n- Vault: input=shares, output=underlying\n- Aave: input=aTokens, output=underlying\n- Pendle: input=PT, output=token (varies)","uniqueKey":"chains.additionalProperties.vaults.items.[INDEX].withdrawals.items.[INDEX]","typeLabel":"WithdrawalEvent · object"},"type":"array","title":"Withdrawals","description":"All withdrawal events for this position.","default":[],"uniqueKey":"chains.additionalProperties.vaults.items.[INDEX].withdrawals","typeLabel":"WithdrawalEvent · object[]"},"apy_7d":{"oneOf":[{"type":"string","title":"Apy 7D","description":"7-day annualized APY (percentage).","uniqueKey":"chains.additionalProperties.vaults.items.[INDEX].apy_7d.oneOf.0","typeLabel":"string"},{"type":"null","title":"Apy 7D","description":"7-day annualized APY (percentage).","uniqueKey":"chains.additionalProperties.vaults.items.[INDEX].apy_7d.oneOf.1","typeLabel":"null"}],"uniqueKey":"chains.additionalProperties.vaults.items.[INDEX].apy_7d","typeLabel":"string | null"},"apy_30d":{"oneOf":[{"type":"string","title":"Apy 30D","description":"30-day annualized APY (percentage).","uniqueKey":"chains.additionalProperties.vaults.items.[INDEX].apy_30d.oneOf.0","typeLabel":"string"},{"type":"null","title":"Apy 30D","description":"30-day annualized APY (percentage).","uniqueKey":"chains.additionalProperties.vaults.items.[INDEX].apy_30d.oneOf.1","typeLabel":"null"}],"uniqueKey":"chains.additionalProperties.vaults.items.[INDEX].apy_30d","typeLabel":"string | null"},"apy_90d":{"oneOf":[{"type":"string","title":"Apy 90D","description":"90-day annualized APY (percentage).","uniqueKey":"chains.additionalProperties.vaults.items.[INDEX].apy_90d.oneOf.0","typeLabel":"string"},{"type":"null","title":"Apy 90D","description":"90-day annualized APY (percentage).","uniqueKey":"chains.additionalProperties.vaults.items.[INDEX].apy_90d.oneOf.1","typeLabel":"null"}],"uniqueKey":"chains.additionalProperties.vaults.items.[INDEX].apy_90d","typeLabel":"string | null"}},"additionalProperties":false,"type":"object","required":["type","vault_address","vault_name","underlying_symbol","underlying_address","balance"],"title":"VaultPosition","description":"ERC-4626 vault position.","uniqueKey":"chains.additionalProperties.vaults.items.[INDEX]","typeLabel":"VaultPosition · object"},"type":"array","title":"Vaults","description":"ERC-4626 vault positions.","default":[],"example":[{"balance":"5000.1234560000","deposits":[],"pnl":{"current_value":"5000.1234560000","realized_pnl":"0.0000000000","total_deposited":"4800.0000000000","total_pnl":"200.1234560000","total_pnl_percent":"4.1692386667","unrealized_pnl":"200.1234560000"},"type":"VAULT","underlying_symbol":"USDC","vault_address":"0xBEEF01735c132Ada46AA9aA4c54623cAA92A64CB","vault_name":"Steakhouse USDC","withdrawals":[]}],"uniqueKey":"chains.additionalProperties.vaults","typeLabel":"VaultPosition · object[]"},"pendle_pt":{"items":{"properties":{"type":{"type":"string","const":"PENDLE_PT","title":"Type","description":"The market type discriminator.","examples":["VAULT","AAVE","PENDLE_PT","MAPLE"],"isRequired":true,"uniqueKey":"chains.additionalProperties.pendle_pt.items.[INDEX].type","typeLabel":"string"},"market_address":{"type":"string","title":"Market Address","description":"The Pendle market address.","examples":["0xAF9D76938E66d0E52C80fbaA35bEd623d9a57eAa"],"isRequired":true,"uniqueKey":"chains.additionalProperties.pendle_pt.items.[INDEX].market_address","typeLabel":"string"},"pt_address":{"type":"string","title":"Pt Address","description":"The PT (Principal Token) contract address.","isRequired":true,"uniqueKey":"chains.additionalProperties.pendle_pt.items.[INDEX].pt_address","typeLabel":"string"},"underlying_symbol":{"type":"string","title":"Underlying Symbol","description":"Symbol of the underlying asset (e.g., rsETH, weETH).","isRequired":true,"uniqueKey":"chains.additionalProperties.pendle_pt.items.[INDEX].underlying_symbol","typeLabel":"string"},"underlying_address":{"type":"string","title":"Underlying Address","description":"Address of the underlying asset (base asset from SY).","isRequired":true,"uniqueKey":"chains.additionalProperties.pendle_pt.items.[INDEX].underlying_address","typeLabel":"string"},"yield_token_address":{"type":"string","title":"Yield Token Address","description":"Address of the yield token (e.g., weETH) used for USD pricing.","isRequired":true,"uniqueKey":"chains.additionalProperties.pendle_pt.items.[INDEX].yield_token_address","typeLabel":"string"},"pt_balance":{"oneOf":[{"type":"string","title":"Pt Balance","description":"The user's PT token balance.","isRequired":true,"uniqueKey":"chains.additionalProperties.pendle_pt.items.[INDEX].pt_balance.oneOf.0","typeLabel":"string"},{"type":"null","title":"Pt Balance","description":"The user's PT token balance.","isRequired":true,"uniqueKey":"chains.additionalProperties.pendle_pt.items.[INDEX].pt_balance.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"chains.additionalProperties.pendle_pt.items.[INDEX].pt_balance","typeLabel":"string | null"},"expiry":{"type":"integer","title":"Expiry","description":"Market expiry timestamp (Unix seconds).","isRequired":true,"uniqueKey":"chains.additionalProperties.pendle_pt.items.[INDEX].expiry","typeLabel":"integer"},"current_pt_to_sy_rate":{"oneOf":[{"type":"string","title":"Current Pt To Sy Rate","description":"Current PT-to-SY exchange rate (SY received per PT if sold now).","isRequired":true,"uniqueKey":"chains.additionalProperties.pendle_pt.items.[INDEX].current_pt_to_sy_rate.oneOf.0","typeLabel":"string"},{"type":"null","title":"Current Pt To Sy Rate","description":"Current PT-to-SY exchange rate (SY received per PT if sold now).","isRequired":true,"uniqueKey":"chains.additionalProperties.pendle_pt.items.[INDEX].current_pt_to_sy_rate.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"chains.additionalProperties.pendle_pt.items.[INDEX].current_pt_to_sy_rate","typeLabel":"string | null"},"usd_value":{"oneOf":[{"type":"string","title":"Usd Value","description":"Position value in USD (null if price unavailable).","uniqueKey":"chains.additionalProperties.pendle_pt.items.[INDEX].usd_value.oneOf.0","typeLabel":"string"},{"type":"null","title":"Usd Value","description":"Position value in USD (null if price unavailable).","uniqueKey":"chains.additionalProperties.pendle_pt.items.[INDEX].usd_value.oneOf.1","typeLabel":"null"}],"uniqueKey":"chains.additionalProperties.pendle_pt.items.[INDEX].usd_value","typeLabel":"string | null"},"pnl":{"oneOf":[{"type":"object","title":"PositionPnL","description":"PnL metrics (in SY terms) for this position.","required":["total_deposited","current_value","unrealized_pnl","realized_pnl","total_pnl","total_pnl_percent"],"properties":{"total_deposited":{"type":"string","title":"Total Deposited","description":"Total assets deposited over all time","isRequired":true,"uniqueKey":"chains.additionalProperties.pendle_pt.items.[INDEX].pnl.oneOf.0.total_deposited","typeLabel":"string"},"current_value":{"type":"string","title":"Current Value","description":"Current position value in underlying","isRequired":true,"uniqueKey":"chains.additionalProperties.pendle_pt.items.[INDEX].pnl.oneOf.0.current_value","typeLabel":"string"},"unrealized_pnl":{"type":"string","title":"Unrealized Pnl","description":"current_value - cost_basis_remaining","isRequired":true,"uniqueKey":"chains.additionalProperties.pendle_pt.items.[INDEX].pnl.oneOf.0.unrealized_pnl","typeLabel":"string"},"realized_pnl":{"type":"string","title":"Realized Pnl","description":"Sum of profits/losses from all withdrawals","isRequired":true,"uniqueKey":"chains.additionalProperties.pendle_pt.items.[INDEX].pnl.oneOf.0.realized_pnl","typeLabel":"string"},"total_pnl":{"type":"string","title":"Total Pnl","description":"unrealized_pnl + realized_pnl","isRequired":true,"uniqueKey":"chains.additionalProperties.pendle_pt.items.[INDEX].pnl.oneOf.0.total_pnl","typeLabel":"string"},"total_pnl_percent":{"type":"string","title":"Total Pnl Percent","description":"(total_pnl / total_deposited) * 100","isRequired":true,"uniqueKey":"chains.additionalProperties.pendle_pt.items.[INDEX].pnl.oneOf.0.total_pnl_percent","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"chains.additionalProperties.pendle_pt.items.[INDEX].pnl.oneOf.0","typeLabel":"PositionPnL · object"},{"type":"null","description":"PnL metrics (in SY terms) for this position.","uniqueKey":"chains.additionalProperties.pendle_pt.items.[INDEX].pnl.oneOf.1","typeLabel":"null"}],"uniqueKey":"chains.additionalProperties.pendle_pt.items.[INDEX].pnl","typeLabel":"PositionPnL · object | null"},"deposits":{"items":{"properties":{"block_number":{"type":"integer","title":"Block Number","description":"Block number when deposit occurred","isRequired":true,"uniqueKey":"chains.additionalProperties.pendle_pt.items.[INDEX].deposits.items.[INDEX].block_number","typeLabel":"integer"},"block_timestamp":{"type":"string","format":"date-time","title":"Block Timestamp","description":"Timestamp when deposit occurred","isRequired":true,"uniqueKey":"chains.additionalProperties.pendle_pt.items.[INDEX].deposits.items.[INDEX].block_timestamp","typeLabel":"string\u003cdate-time>"},"transaction_hash":{"type":"string","title":"Transaction Hash","description":"Transaction hash of the deposit","isRequired":true,"uniqueKey":"chains.additionalProperties.pendle_pt.items.[INDEX].deposits.items.[INDEX].transaction_hash","typeLabel":"string"},"input_amount":{"type":"string","title":"Input Amount","description":"Amount deposited (token spent)","isRequired":true,"uniqueKey":"chains.additionalProperties.pendle_pt.items.[INDEX].deposits.items.[INDEX].input_amount","typeLabel":"string"},"input_symbol":{"type":"string","title":"Input Symbol","description":"Symbol of token deposited","isRequired":true,"uniqueKey":"chains.additionalProperties.pendle_pt.items.[INDEX].deposits.items.[INDEX].input_symbol","typeLabel":"string"},"output_amount":{"type":"string","title":"Output Amount","description":"PT tokens received","isRequired":true,"uniqueKey":"chains.additionalProperties.pendle_pt.items.[INDEX].deposits.items.[INDEX].output_amount","typeLabel":"string"},"output_symbol":{"type":"string","title":"Output Symbol","description":"Symbol (PT)","isRequired":true,"uniqueKey":"chains.additionalProperties.pendle_pt.items.[INDEX].deposits.items.[INDEX].output_symbol","typeLabel":"string"},"cost_per_unit":{"type":"string","title":"Cost Per Unit","description":"Cost basis per PT at deposit (SY spent per PT acquired)","isRequired":true,"uniqueKey":"chains.additionalProperties.pendle_pt.items.[INDEX].deposits.items.[INDEX].cost_per_unit","typeLabel":"string"}},"type":"object","required":["block_number","block_timestamp","transaction_hash","input_amount","input_symbol","output_amount","output_symbol","cost_per_unit"],"title":"PendleDepositEvent","description":"Pendle PT deposit event with cost basis at time of deposit.","uniqueKey":"chains.additionalProperties.pendle_pt.items.[INDEX].deposits.items.[INDEX]","typeLabel":"PendleDepositEvent · object"},"type":"array","title":"Deposits","description":"All buy PT events for this position.","default":[],"uniqueKey":"chains.additionalProperties.pendle_pt.items.[INDEX].deposits","typeLabel":"PendleDepositEvent · object[]"},"withdrawals":{"items":{"properties":{"block_number":{"type":"integer","title":"Block Number","description":"Block number when withdrawal occurred","isRequired":true,"uniqueKey":"chains.additionalProperties.pendle_pt.items.[INDEX].withdrawals.items.[INDEX].block_number","typeLabel":"integer"},"block_timestamp":{"type":"string","format":"date-time","title":"Block Timestamp","description":"Timestamp when withdrawal occurred","isRequired":true,"uniqueKey":"chains.additionalProperties.pendle_pt.items.[INDEX].withdrawals.items.[INDEX].block_timestamp","typeLabel":"string\u003cdate-time>"},"transaction_hash":{"type":"string","title":"Transaction Hash","description":"Transaction hash of the withdrawal","isRequired":true,"uniqueKey":"chains.additionalProperties.pendle_pt.items.[INDEX].withdrawals.items.[INDEX].transaction_hash","typeLabel":"string"},"input_amount":{"type":"string","title":"Input Amount","description":"PT tokens sold/redeemed","isRequired":true,"uniqueKey":"chains.additionalProperties.pendle_pt.items.[INDEX].withdrawals.items.[INDEX].input_amount","typeLabel":"string"},"input_symbol":{"type":"string","title":"Input Symbol","description":"Symbol (PT)","isRequired":true,"uniqueKey":"chains.additionalProperties.pendle_pt.items.[INDEX].withdrawals.items.[INDEX].input_symbol","typeLabel":"string"},"output_amount":{"type":"string","title":"Output Amount","description":"Amount received (SY or token)","isRequired":true,"uniqueKey":"chains.additionalProperties.pendle_pt.items.[INDEX].withdrawals.items.[INDEX].output_amount","typeLabel":"string"},"output_symbol":{"type":"string","title":"Output Symbol","description":"Symbol of token received","isRequired":true,"uniqueKey":"chains.additionalProperties.pendle_pt.items.[INDEX].withdrawals.items.[INDEX].output_symbol","typeLabel":"string"},"realized_pnl":{"type":"string","title":"Realized Pnl","description":"Profit/loss: output value - cost basis consumed","isRequired":true,"uniqueKey":"chains.additionalProperties.pendle_pt.items.[INDEX].withdrawals.items.[INDEX].realized_pnl","typeLabel":"string"},"cost_per_unit":{"type":"string","title":"Cost Per Unit","description":"Cost basis per PT at withdrawal (SY received per PT sold)","isRequired":true,"uniqueKey":"chains.additionalProperties.pendle_pt.items.[INDEX].withdrawals.items.[INDEX].cost_per_unit","typeLabel":"string"}},"type":"object","required":["block_number","block_timestamp","transaction_hash","input_amount","input_symbol","output_amount","output_symbol","realized_pnl","cost_per_unit"],"title":"PendleWithdrawalEvent","description":"Pendle PT withdrawal event with cost basis at time of withdrawal.","uniqueKey":"chains.additionalProperties.pendle_pt.items.[INDEX].withdrawals.items.[INDEX]","typeLabel":"PendleWithdrawalEvent · object"},"type":"array","title":"Withdrawals","description":"All sell/redeem PT events for this position.","default":[],"uniqueKey":"chains.additionalProperties.pendle_pt.items.[INDEX].withdrawals","typeLabel":"PendleWithdrawalEvent · object[]"},"implied_apy":{"oneOf":[{"type":"string","title":"Implied Apy","description":"Implied APY (percentage).","uniqueKey":"chains.additionalProperties.pendle_pt.items.[INDEX].implied_apy.oneOf.0","typeLabel":"string"},{"type":"null","title":"Implied Apy","description":"Implied APY (percentage).","uniqueKey":"chains.additionalProperties.pendle_pt.items.[INDEX].implied_apy.oneOf.1","typeLabel":"null"}],"uniqueKey":"chains.additionalProperties.pendle_pt.items.[INDEX].implied_apy","typeLabel":"string | null"}},"additionalProperties":false,"type":"object","required":["type","market_address","pt_address","underlying_symbol","underlying_address","yield_token_address","pt_balance","expiry","current_pt_to_sy_rate"],"title":"PendlePTPosition","description":"Pendle Principal Token position.","uniqueKey":"chains.additionalProperties.pendle_pt.items.[INDEX]","typeLabel":"PendlePTPosition · object"},"type":"array","title":"Pendle Pt","description":"Pendle Principal Token positions.","default":[],"example":[{"deposits":[],"expiry":1735689600,"market_address":"0x7d372819240D14fB477f17b964f95F33BeB4c704","pnl":{"current_value":"2.5000000000","realized_pnl":"0.0000000000","total_deposited":"2.4500000000","total_pnl":"0.0500000000","total_pnl_percent":"2.0408163265","unrealized_pnl":"0.0500000000"},"pt_address":"0x7d372819240D14fB477f17b964f95F33BeB4c704","pt_balance":"2.5000000000","type":"PENDLE_PT","underlying_symbol":"weETH","withdrawals":[]}],"uniqueKey":"chains.additionalProperties.pendle_pt","typeLabel":"PendlePTPosition · object[]"},"maple":{"items":{"properties":{"type":{"type":"string","const":"MAPLE","title":"Type","description":"The market type discriminator.","examples":["VAULT","AAVE","PENDLE_PT","MAPLE"],"isRequired":true,"uniqueKey":"chains.additionalProperties.maple.items.[INDEX].type","typeLabel":"string"},"pool_address":{"type":"string","title":"Pool Address","description":"The Maple pool, which is also the syrup token address.","examples":["0x80ac24aA929eaF5013f6436cdA2a7ba190f5Cc0b"],"isRequired":true,"uniqueKey":"chains.additionalProperties.maple.items.[INDEX].pool_address","typeLabel":"string"},"pool_symbol":{"type":"string","title":"Pool Symbol","description":"The syrup token symbol, e.g. syrupUSDC.","isRequired":true,"uniqueKey":"chains.additionalProperties.maple.items.[INDEX].pool_symbol","typeLabel":"string"},"underlying_symbol":{"type":"string","title":"Underlying Symbol","description":"Symbol of the underlying asset (USDC or USDT).","isRequired":true,"uniqueKey":"chains.additionalProperties.maple.items.[INDEX].underlying_symbol","typeLabel":"string"},"underlying_address":{"type":"string","title":"Underlying Address","description":"Address of the underlying asset.","isRequired":true,"uniqueKey":"chains.additionalProperties.maple.items.[INDEX].underlying_address","typeLabel":"string"},"balance":{"oneOf":[{"type":"string","title":"Balance","description":"Position value in the underlying asset at the pool's exit rate, including shares waiting in the withdrawal queue.","isRequired":true,"uniqueKey":"chains.additionalProperties.maple.items.[INDEX].balance.oneOf.0","typeLabel":"string"},{"type":"null","title":"Balance","description":"Position value in the underlying asset at the pool's exit rate, including shares waiting in the withdrawal queue.","isRequired":true,"uniqueKey":"chains.additionalProperties.maple.items.[INDEX].balance.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"chains.additionalProperties.maple.items.[INDEX].balance","typeLabel":"string | null"},"shares":{"oneOf":[{"type":"string","title":"Shares","description":"Pool shares held by the product account (excludes queued shares).","isRequired":true,"uniqueKey":"chains.additionalProperties.maple.items.[INDEX].shares.oneOf.0","typeLabel":"string"},{"type":"null","title":"Shares","description":"Pool shares held by the product account (excludes queued shares).","isRequired":true,"uniqueKey":"chains.additionalProperties.maple.items.[INDEX].shares.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"chains.additionalProperties.maple.items.[INDEX].shares","typeLabel":"string | null"},"pending_redemption":{"oneOf":[{"type":"object","title":"MaplePendingRedemption","description":"Shares requested for withdrawal that Maple has not paid out yet. Null when nothing is pending.","required":["shares","expected_amount","requested_at","request_ids"],"properties":{"shares":{"type":"string","title":"Shares","description":"Pool shares waiting in the queue.","isRequired":true,"uniqueKey":"chains.additionalProperties.maple.items.[INDEX].pending_redemption.oneOf.0.shares","typeLabel":"string"},"expected_amount":{"type":"string","title":"Expected Amount","description":"Underlying asset the queued shares are worth at today's exit rate. Maple pays at the rate when it processes the request, so this is an estimate.","isRequired":true,"uniqueKey":"chains.additionalProperties.maple.items.[INDEX].pending_redemption.oneOf.0.expected_amount","typeLabel":"string"},"requested_at":{"type":"string","format":"date-time","title":"Requested At","description":"When the oldest still-pending request was made.","isRequired":true,"uniqueKey":"chains.additionalProperties.maple.items.[INDEX].pending_redemption.oneOf.0.requested_at","typeLabel":"string\u003cdate-time>"},"request_ids":{"items":{"type":"integer","uniqueKey":"chains.additionalProperties.maple.items.[INDEX].pending_redemption.oneOf.0.request_ids.items.[INDEX]","typeLabel":"integer"},"type":"array","title":"Request Ids","description":"Maple withdrawal-queue request ids still pending.","isRequired":true,"uniqueKey":"chains.additionalProperties.maple.items.[INDEX].pending_redemption.oneOf.0.request_ids","typeLabel":"integer[]"}},"uniqueKey":"chains.additionalProperties.maple.items.[INDEX].pending_redemption.oneOf.0","typeLabel":"MaplePendingRedemption · object"},{"type":"null","description":"Shares requested for withdrawal that Maple has not paid out yet. Null when nothing is pending.","uniqueKey":"chains.additionalProperties.maple.items.[INDEX].pending_redemption.oneOf.1","typeLabel":"null"}],"uniqueKey":"chains.additionalProperties.maple.items.[INDEX].pending_redemption","typeLabel":"MaplePendingRedemption · object | null"},"usd_value":{"oneOf":[{"type":"string","title":"Usd Value","description":"Position value in USD (null if price unavailable).","uniqueKey":"chains.additionalProperties.maple.items.[INDEX].usd_value.oneOf.0","typeLabel":"string"},{"type":"null","title":"Usd Value","description":"Position value in USD (null if price unavailable).","uniqueKey":"chains.additionalProperties.maple.items.[INDEX].usd_value.oneOf.1","typeLabel":"null"}],"uniqueKey":"chains.additionalProperties.maple.items.[INDEX].usd_value","typeLabel":"string | null"},"pnl":{"oneOf":[{"type":"object","title":"PositionPnL","description":"PnL metrics for this position. Null when the shares were not minted through the MAPLE venue (for example bought via swap), so no cost basis is known.","required":["total_deposited","current_value","unrealized_pnl","realized_pnl","total_pnl","total_pnl_percent"],"properties":{"total_deposited":{"type":"string","title":"Total Deposited","description":"Total assets deposited over all time","isRequired":true,"uniqueKey":"chains.additionalProperties.maple.items.[INDEX].pnl.oneOf.0.total_deposited","typeLabel":"string"},"current_value":{"type":"string","title":"Current Value","description":"Current position value in underlying","isRequired":true,"uniqueKey":"chains.additionalProperties.maple.items.[INDEX].pnl.oneOf.0.current_value","typeLabel":"string"},"unrealized_pnl":{"type":"string","title":"Unrealized Pnl","description":"current_value - cost_basis_remaining","isRequired":true,"uniqueKey":"chains.additionalProperties.maple.items.[INDEX].pnl.oneOf.0.unrealized_pnl","typeLabel":"string"},"realized_pnl":{"type":"string","title":"Realized Pnl","description":"Sum of profits/losses from all withdrawals","isRequired":true,"uniqueKey":"chains.additionalProperties.maple.items.[INDEX].pnl.oneOf.0.realized_pnl","typeLabel":"string"},"total_pnl":{"type":"string","title":"Total Pnl","description":"unrealized_pnl + realized_pnl","isRequired":true,"uniqueKey":"chains.additionalProperties.maple.items.[INDEX].pnl.oneOf.0.total_pnl","typeLabel":"string"},"total_pnl_percent":{"type":"string","title":"Total Pnl Percent","description":"(total_pnl / total_deposited) * 100","isRequired":true,"uniqueKey":"chains.additionalProperties.maple.items.[INDEX].pnl.oneOf.0.total_pnl_percent","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"chains.additionalProperties.maple.items.[INDEX].pnl.oneOf.0","typeLabel":"PositionPnL · object"},{"type":"null","description":"PnL metrics for this position. Null when the shares were not minted through the MAPLE venue (for example bought via swap), so no cost basis is known.","uniqueKey":"chains.additionalProperties.maple.items.[INDEX].pnl.oneOf.1","typeLabel":"null"}],"uniqueKey":"chains.additionalProperties.maple.items.[INDEX].pnl","typeLabel":"PositionPnL · object | null"},"deposits":{"items":{"properties":{"block_number":{"type":"integer","title":"Block Number","description":"Block number when deposit occurred","isRequired":true,"uniqueKey":"chains.additionalProperties.maple.items.[INDEX].deposits.items.[INDEX].block_number","typeLabel":"integer"},"block_timestamp":{"type":"string","format":"date-time","title":"Block Timestamp","description":"Timestamp when deposit occurred","isRequired":true,"uniqueKey":"chains.additionalProperties.maple.items.[INDEX].deposits.items.[INDEX].block_timestamp","typeLabel":"string\u003cdate-time>"},"transaction_hash":{"type":"string","title":"Transaction Hash","description":"Transaction hash of the deposit","isRequired":true,"uniqueKey":"chains.additionalProperties.maple.items.[INDEX].deposits.items.[INDEX].transaction_hash","typeLabel":"string"},"input_amount":{"type":"string","title":"Input Amount","description":"Amount deposited (underlying asset or swap token)","isRequired":true,"uniqueKey":"chains.additionalProperties.maple.items.[INDEX].deposits.items.[INDEX].input_amount","typeLabel":"string"},"input_symbol":{"type":"string","title":"Input Symbol","description":"Symbol of token deposited","isRequired":true,"uniqueKey":"chains.additionalProperties.maple.items.[INDEX].deposits.items.[INDEX].input_symbol","typeLabel":"string"},"output_amount":{"type":"string","title":"Output Amount","description":"Units received (shares, aTokens, or PT)","isRequired":true,"uniqueKey":"chains.additionalProperties.maple.items.[INDEX].deposits.items.[INDEX].output_amount","typeLabel":"string"},"output_symbol":{"type":"string","title":"Output Symbol","description":"Symbol of units received","isRequired":true,"uniqueKey":"chains.additionalProperties.maple.items.[INDEX].deposits.items.[INDEX].output_symbol","typeLabel":"string"},"cost_per_unit":{"type":"string","title":"Cost Per Unit","description":"Cost basis per unit at time of deposit","isRequired":true,"uniqueKey":"chains.additionalProperties.maple.items.[INDEX].deposits.items.[INDEX].cost_per_unit","typeLabel":"string"}},"type":"object","required":["block_number","block_timestamp","transaction_hash","input_amount","input_symbol","output_amount","output_symbol","cost_per_unit"],"title":"DepositEvent","description":"Historical deposit event for position transparency.\n\nUses generic input/output format that works across all protocols:\n- Vault: input=underlying, output=shares\n- Aave: input=underlying, output=aTokens\n- Pendle: input=token (varies), output=PT","uniqueKey":"chains.additionalProperties.maple.items.[INDEX].deposits.items.[INDEX]","typeLabel":"DepositEvent · object"},"type":"array","title":"Deposits","description":"All MAPLE deposits into this pool.","default":[],"uniqueKey":"chains.additionalProperties.maple.items.[INDEX].deposits","typeLabel":"DepositEvent · object[]"},"withdrawals":{"items":{"properties":{"block_number":{"type":"integer","title":"Block Number","description":"Block number when withdrawal occurred","isRequired":true,"uniqueKey":"chains.additionalProperties.maple.items.[INDEX].withdrawals.items.[INDEX].block_number","typeLabel":"integer"},"block_timestamp":{"type":"string","format":"date-time","title":"Block Timestamp","description":"Timestamp when withdrawal occurred","isRequired":true,"uniqueKey":"chains.additionalProperties.maple.items.[INDEX].withdrawals.items.[INDEX].block_timestamp","typeLabel":"string\u003cdate-time>"},"transaction_hash":{"type":"string","title":"Transaction Hash","description":"Transaction hash of the withdrawal","isRequired":true,"uniqueKey":"chains.additionalProperties.maple.items.[INDEX].withdrawals.items.[INDEX].transaction_hash","typeLabel":"string"},"input_amount":{"type":"string","title":"Input Amount","description":"Units withdrawn (shares, aTokens, PT)","isRequired":true,"uniqueKey":"chains.additionalProperties.maple.items.[INDEX].withdrawals.items.[INDEX].input_amount","typeLabel":"string"},"input_symbol":{"type":"string","title":"Input Symbol","description":"Symbol of units withdrawn","isRequired":true,"uniqueKey":"chains.additionalProperties.maple.items.[INDEX].withdrawals.items.[INDEX].input_symbol","typeLabel":"string"},"output_amount":{"type":"string","title":"Output Amount","description":"Amount received (underlying or token)","isRequired":true,"uniqueKey":"chains.additionalProperties.maple.items.[INDEX].withdrawals.items.[INDEX].output_amount","typeLabel":"string"},"output_symbol":{"type":"string","title":"Output Symbol","description":"Symbol of token received","isRequired":true,"uniqueKey":"chains.additionalProperties.maple.items.[INDEX].withdrawals.items.[INDEX].output_symbol","typeLabel":"string"},"realized_pnl":{"type":"string","title":"Realized Pnl","description":"Profit/loss: output value - cost basis consumed","isRequired":true,"uniqueKey":"chains.additionalProperties.maple.items.[INDEX].withdrawals.items.[INDEX].realized_pnl","typeLabel":"string"}},"type":"object","required":["block_number","block_timestamp","transaction_hash","input_amount","input_symbol","output_amount","output_symbol","realized_pnl"],"title":"WithdrawalEvent","description":"Historical withdrawal event with realized PnL.\n\nUses generic input/output format:\n- Vault: input=shares, output=underlying\n- Aave: input=aTokens, output=underlying\n- Pendle: input=PT, output=token (varies)","uniqueKey":"chains.additionalProperties.maple.items.[INDEX].withdrawals.items.[INDEX]","typeLabel":"WithdrawalEvent · object"},"type":"array","title":"Withdrawals","description":"Withdrawals Maple has processed (paid out), with realized PnL.","default":[],"uniqueKey":"chains.additionalProperties.maple.items.[INDEX].withdrawals","typeLabel":"WithdrawalEvent · object[]"},"apy_7d":{"oneOf":[{"type":"string","title":"Apy 7D","description":"7-day annualized APY from the pool's exchange-rate growth (percentage).","uniqueKey":"chains.additionalProperties.maple.items.[INDEX].apy_7d.oneOf.0","typeLabel":"string"},{"type":"null","title":"Apy 7D","description":"7-day annualized APY from the pool's exchange-rate growth (percentage).","uniqueKey":"chains.additionalProperties.maple.items.[INDEX].apy_7d.oneOf.1","typeLabel":"null"}],"uniqueKey":"chains.additionalProperties.maple.items.[INDEX].apy_7d","typeLabel":"string | null"}},"additionalProperties":false,"type":"object","required":["type","pool_address","pool_symbol","underlying_symbol","underlying_address","balance","shares"],"title":"MaplePosition","description":"Maple syrup pool position (syrupUSDC / syrupUSDT), from the `MAPLE` venue.","uniqueKey":"chains.additionalProperties.maple.items.[INDEX]","typeLabel":"MaplePosition · object"},"type":"array","title":"Maple","description":"Maple syrup pool positions (Ethereum). A position with a `pending_redemption` has a MAPLE withdrawal waiting in Maple's queue.","default":[],"example":[{"apy_7d":"5.1000000000","balance":"1480.0000000000","deposits":[],"pending_redemption":{"expected_amount":"400.0000000000","request_ids":[19153],"requested_at":"2026-10-26T10:15:00Z","shares":"336.1623500000"},"pnl":{"current_value":"1480.0000000000","realized_pnl":"0.0000000000","total_deposited":"1480.0000000000","total_pnl":"0.0000000000","total_pnl_percent":"0.0000000000","unrealized_pnl":"0.0000000000"},"pool_address":"0x80ac24aA929eaF5013f6436cdA2a7ba190f5Cc0b","pool_symbol":"syrupUSDC","shares":"908.2563500000","type":"MAPLE","underlying_address":"0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48","underlying_symbol":"USDC","withdrawals":[]}],"uniqueKey":"chains.additionalProperties.maple","typeLabel":"MaplePosition · object[]"},"total_usd_value":{"oneOf":[{"type":"string","title":"Total Usd Value","description":"Total USD value of all positions (sum of available values).","uniqueKey":"chains.additionalProperties.total_usd_value.oneOf.0","typeLabel":"string"},{"type":"null","title":"Total Usd Value","description":"Total USD value of all positions (sum of available values).","uniqueKey":"chains.additionalProperties.total_usd_value.oneOf.1","typeLabel":"null"}],"uniqueKey":"chains.additionalProperties.total_usd_value","typeLabel":"string | null"}},"type":"object","title":"EarnPositionsResponse","description":"Grouped positions by protocol.\n\nThis new structure groups positions by protocol type for better organization and\nremoves the need for a discriminated union in SDK consumers.","uniqueKey":"chains.additionalProperties","typeLabel":"EarnPositionsResponse · object"},"type":"object","title":"Chains","description":"Positions grouped by chain. Keys: 'ethereum', 'base', 'arbitrum', 'hyperevm'. Every key is present; chains without a deployed earn account carry empty lists.","example":{"arbitrum":{"aave":[],"pendle_pt":[],"vaults":[]},"base":{"aave":[{"balance":"1250.5432100000","deposits":[],"pnl":{"current_value":"1250.5432100000","realized_pnl":"0.0000000000","total_deposited":"1200.0000000000","total_pnl":"50.5432100000","total_pnl_percent":"4.2119341667","unrealized_pnl":"50.5432100000"},"reserve_address":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","reserve_symbol":"USDC","type":"AAVE","withdrawals":[]}],"pendle_pt":[],"total_usd_value":"1250.54","vaults":[]},"ethereum":{"aave":[],"pendle_pt":[],"total_usd_value":"5000.12","vaults":[{"balance":"5000.1234560000","deposits":[],"pnl":{"current_value":"5000.1234560000","realized_pnl":"0.0000000000","total_deposited":"4800.0000000000","total_pnl":"200.1234560000","total_pnl_percent":"4.1692386667","unrealized_pnl":"200.1234560000"},"type":"VAULT","underlying_symbol":"USDC","vault_address":"0xBEEF01735c132Ada46AA9aA4c54623cAA92A64CB","vault_name":"Steakhouse USDC","withdrawals":[]}]},"hyperevm":{"aave":[],"pendle_pt":[],"vaults":[]}},"isRequired":true,"uniqueKey":"chains","typeLabel":"Chains · object"},"total_usd_value":{"oneOf":[{"type":"string","title":"Total Usd Value","description":"Total USD value of all positions across all chains.","example":"6250.66","uniqueKey":"total_usd_value.oneOf.0","typeLabel":"string"},{"type":"null","title":"Total Usd Value","description":"Total USD value of all positions across all chains.","example":"6250.66","uniqueKey":"total_usd_value.oneOf.1","typeLabel":"null"}],"uniqueKey":"total_usd_value","typeLabel":"string | null"}},"type":"object","required":["chains"],"title":"EarnPositionsAllResponse","description":"Positions across all chains, grouped by chain name.\n\nEach chain key maps to an EarnPositionsResponse containing that chain's\naave, vaults, and pendle_pt positions with per-chain total_usd_value.","uniqueKey":"","typeLabel":"EarnPositionsAllResponse · object"},"examples":{"Example":{"title":"Example","value":{"chains":{"arbitrum":{"aave":[],"pendle_pt":[],"vaults":[]},"base":{"aave":[{"balance":"1250.5432100000","deposits":[],"pnl":{"current_value":"1250.5432100000","realized_pnl":"0.0000000000","total_deposited":"1200.0000000000","total_pnl":"50.5432100000","total_pnl_percent":"4.2119341667","unrealized_pnl":"50.5432100000"},"reserve_address":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","reserve_symbol":"USDC","type":"AAVE","withdrawals":[]}],"pendle_pt":[],"total_usd_value":"1250.54","vaults":[]},"ethereum":{"aave":[],"pendle_pt":[],"total_usd_value":"5000.12","vaults":[{"balance":"5000.1234560000","deposits":[],"pnl":{"current_value":"5000.1234560000","realized_pnl":"0.0000000000","total_deposited":"4800.0000000000","total_pnl":"200.1234560000","total_pnl_percent":"4.1692386667","unrealized_pnl":"200.1234560000"},"type":"VAULT","underlying_symbol":"USDC","vault_address":"0xBEEF01735c132Ada46AA9aA4c54623cAA92A64CB","vault_name":"Steakhouse USDC","withdrawals":[]}]},"hyperevm":{"aave":[],"pendle_pt":[],"vaults":[]}},"total_usd_value":"6250.66"}}},"exampleType":"generated"}},"exampleType":"generated"},"df846dca-9b16-42ef-b93d-bd102768e9d4":{"description":"Validation Error","content":{"application/json":{"schema":{"properties":{"detail":{"items":{"properties":{"loc":{"items":{"oneOf":[{"type":"string","uniqueKey":"detail.items.[INDEX].loc.items.[INDEX].oneOf.0","typeLabel":"string"},{"type":"integer","uniqueKey":"detail.items.[INDEX].loc.items.[INDEX].oneOf.1","typeLabel":"integer"}],"uniqueKey":"detail.items.[INDEX].loc.items.[INDEX]","typeLabel":"string | integer"},"type":"array","title":"Location","isRequired":true,"uniqueKey":"detail.items.[INDEX].loc","typeLabel":"(string | integer)[]"},"msg":{"type":"string","title":"Message","isRequired":true,"uniqueKey":"detail.items.[INDEX].msg","typeLabel":"string"},"type":{"type":"string","title":"Error Type","isRequired":true,"uniqueKey":"detail.items.[INDEX].type","typeLabel":"string"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError","uniqueKey":"detail.items.[INDEX]","typeLabel":"ValidationError · object"},"type":"array","title":"Detail","uniqueKey":"detail","typeLabel":"ValidationError · object[]"}},"type":"object","title":"HTTPValidationError","uniqueKey":"","typeLabel":"HTTPValidationError · object"},"examples":{"Example":{"title":"Example","value":{"detail":[{"loc":["\u003cstring>"],"msg":"\u003cstring>","type":"\u003cstring>"}]}}},"exampleType":"generated"}},"exampleType":"generated"}},"security":{"eff03a3b-02d2-4605-ba22-1d398ee6cda2":{"ApiKeyAuth":{"type":"apiKey","in":"header","name":"x-api-key","description":"Your Compass API Key. Get your key [here](https://www.compasslabs.ai/dashboard).","scopes":[],"schemeName":"ApiKeyAuth"}}},"servers":{"f38a9aa6-5bf5-4e43-8411-67293530b947":{"url":"https://api.compasslabs.ai","description":"Production server"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"apiKey","in":"header","name":"x-api-key","description":"Your Compass API Key. Get your key [here](https://www.compasslabs.ai/dashboard).","scopes":[],"schemeName":"ApiKeyAuth"},"schema":{"title":"x-api-key","type":"string","description":"Your Compass API Key. Get your key [here](https://www.compasslabs.ai/dashboard).","isRequired":true,"typeLabel":"string","deprecated":false},"schemeName":"ApiKeyAuth","name":"x-api-key"}],"title":"ApiKeyAuth"}]},"originalFileLocation":"v2/combined_spec.json"},"subdomain":"compasslabs-f07467e0","siteName":"Compass API Docs","title":"List earn positions across all chains - Compass API Docs","navMaps":{"firstHrefInVersion":{"V2":{"href":"/v2/api-reference/earn/list-earn-positions-across-all-chains","matchLevel":0},"V1":{"href":"/v1/api-reference/aave-v3/aave-supported-tokens","matchLevel":2}},"firstHrefInLanguage":{}},"lastModified":"2026-10-27T13:28:45.341Z","originalFileLocation":"v2/api-reference/earn/list-earn-positions-across-all-chains.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=\"light\";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=\"List all Earn positions across all supported chains (Ethereum, Base, Arbitrum). Returns positions grouped by chain, with per-chain and total USD values. Each chain includes Aave, vault, and Pendle PT positions. Chains where the user has no earn account return empty position lists. Use this endpoint for a cross-chain portfolio overview instead of making separate calls per chain to /positions.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Compass API 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/compasslabs-f07467e0/CejAEahS9T_GZmf_/_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/compasslabs-f07467e0/CejAEahS9T_GZmf_/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/compasslabs-f07467e0/CejAEahS9T_GZmf_/_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/compasslabs-f07467e0/CejAEahS9T_GZmf_/_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/compasslabs-f07467e0/CejAEahS9T_GZmf_/_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/compasslabs-f07467e0/CejAEahS9T_GZmf_/_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/compasslabs-f07467e0/CejAEahS9T_GZmf_/_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/compasslabs-f07467e0/CejAEahS9T_GZmf_/_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/compasslabs-f07467e0/CejAEahS9T_GZmf_/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"List earn positions across all chains - Compass API Docs\">\u003cmeta data-mint-head property=\"og:description\" content=\"List all Earn positions across all supported chains (Ethereum, Base, Arbitrum). Returns positions grouped by chain, with per-chain and total USD values. Each chain includes Aave, vault, and Pendle PT positions. Chains where the user has no earn account return empty position lists. Use this endpoint for a cross-chain portfolio overview instead of making separate calls per chain to /positions.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Compass API Docs\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.compasslabs.ai/v2/api-reference/earn/list-earn-positions-across-all-chains\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://compasslabs-f07467e0.mintlify.app/_mintlify/api/og/v2?division=Earn\u0026amp;title=List+earn+positions+across+all+chains\u0026amp;description=List+all+Earn+positions+across+all+supported+chains+%28Ethereum%2C+Base%2C+Arbitrum%29.%0A%0AReturns+positions+grouped+by+chain%2C+with+per-chain+and+total+USD+values.%0AEach+c\u0026amp;theme=2e6095874381ba0da4ce66d4\u0026amp;signature=58d27f48e489e185cd5949f4501dea5959738b772b3b196de084312c6f2277e4\">\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=\"List earn positions across all chains - Compass API Docs\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"List all Earn positions across all supported chains (Ethereum, Base, Arbitrum). Returns positions grouped by chain, with per-chain and total USD values. Each chain includes Aave, vault, and Pendle PT positions. Chains where the user has no earn account return empty position lists. Use this endpoint for a cross-chain portfolio overview instead of making separate calls per chain to /positions.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://compasslabs-f07467e0.mintlify.app/_mintlify/api/og/v2?division=Earn\u0026amp;title=List+earn+positions+across+all+chains\u0026amp;description=List+all+Earn+positions+across+all+supported+chains+%28Ethereum%2C+Base%2C+Arbitrum%29.%0A%0AReturns+positions+grouped+by+chain%2C+with+per-chain+and+total+USD+values.%0AEach+c\u0026amp;theme=2e6095874381ba0da4ce66d4\u0026amp;signature=58d27f48e489e185cd5949f4501dea5959738b772b3b196de084312c6f2277e4\">\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/compasslabs-f07467e0/CejAEahS9T_GZmf_/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Compass API Docs\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#0284c7\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.compasslabs.ai/v2/api-reference/earn/list-earn-positions-across-all-chains\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/v2/api-reference/earn/list-earn-positions-across-all-chains.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.compasslabs.ai/#organization\",\"name\":\"Compass API Docs\",\"url\":\"https://docs.compasslabs.ai\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/compasslabs-f07467e0/x2NrFgZ7soJbH6sc/logo/light.svg?fit=max\u0026auto=format\u0026n=x2NrFgZ7soJbH6sc\u0026q=85\u0026s=80a04b06674000990914306c6a833cb9\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.compasslabs.ai#website\",\"name\":\"Compass API Docs\",\"url\":\"https://docs.compasslabs.ai\",\"publisher\":{\"@id\":\"https://docs.compasslabs.ai/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.compasslabs.ai/v2/api-reference/earn/list-earn-positions-across-all-chains#webpage\",\"url\":\"https://docs.compasslabs.ai/v2/api-reference/earn/list-earn-positions-across-all-chains\",\"name\":\"List earn positions across all chains\",\"description\":\"List all Earn positions across all supported chains (Ethereum, Base, Arbitrum). Returns positions grouped by chain, with per-chain and total USD values. Each chain includes Aave, vault, and Pendle PT positions. Chains where the user has no earn account return empty position lists. Use this endpoint for a cross-chain portfolio overview instead of making separate calls per chain to /positions.\",\"dateModified\":\"2026-10-27T13:28:45.341Z\",\"isPartOf\":{\"@id\":\"https://docs.compasslabs.ai#website\"},\"breadcrumb\":{\"@id\":\"https://docs.compasslabs.ai/v2/api-reference/earn/list-earn-positions-across-all-chains#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.compasslabs.ai/v2/api-reference/earn/list-earn-positions-across-all-chains#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"API Reference\",\"item\":\"https://docs.compasslabs.ai/v2/api-reference/gas-sponsorship/prepare-gas-sponsored-transaction\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Earn\",\"item\":\"https://docs.compasslabs.ai/v2/api-reference/earn/list-earn-positions\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"List earn positions across all chains\",\"item\":\"https://docs.compasslabs.ai/v2/api-reference/earn/list-earn-positions-across-all-chains\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.compasslabs.ai/v2/api-reference/earn/list-earn-positions-across-all-chains#apireference\",\"headline\":\"List earn positions across all chains\",\"name\":\"List earn positions across all chains\",\"description\":\"List all Earn positions across all supported chains (Ethereum, Base, Arbitrum). Returns positions grouped by chain, with per-chain and total USD values. Each chain includes Aave, vault, and Pendle PT positions. Chains where the user has no earn account return empty position lists. Use this endpoint for a cross-chain portfolio overview instead of making separate calls per chain to /positions.\",\"url\":\"https://docs.compasslabs.ai/v2/api-reference/earn/list-earn-positions-across-all-chains\",\"mainEntityOfPage\":{\"@id\":\"https://docs.compasslabs.ai/v2/api-reference/earn/list-earn-positions-across-all-chains#webpage\"},\"dateModified\":\"2026-10-27T13:28:45.341Z\",\"publisher\":{\"@id\":\"https://docs.compasslabs.ai/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.compasslabs.ai#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Compass API Docs\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Compass API Docs","nav":{"global":{"tabs":[],"anchors":[]},"tabs":[{"tab":"Documentation","pages":[{"title":"Documentation","href":"/v2/get_started/overview"}]},{"tab":"API Reference","versions":[{"version":"V2","groups":[{"group":"API Reference","pages":[{"group":"Gas Sponsorship","pages":[{"title":"Prepare gas-sponsored transaction","deprecated":null,"version":null,"openapi":"/v2/combined_spec.json post /v2/gas_sponsorship/prepare","href":"/v2/api-reference/gas-sponsorship/prepare-gas-sponsored-transaction"},{"title":"Approve token transfer","deprecated":null,"version":null,"openapi":"/v2/combined_spec.json post /v2/gas_sponsorship/approve_transfer","href":"/v2/api-reference/gas-sponsorship/approve-token-transfer"}]},{"group":"Earn","pages":[{"title":"List earn positions","description":"List all Earn positions for a given owner with PnL tracking.\n\nReturns position data including current balance, cost basis, and profit and loss.\nUse this endpoint to display portfolio performance, track yields over time, or build\nposition management interfaces.\n\nPositions are tracked across all venue types (vaults and Aave markets). Each\nposition includes the venue address, deposited amount, and performance metrics.","deprecated":null,"version":null,"openapi":"/v2/combined_spec.json get /v2/earn/positions","href":"/v2/api-reference/earn/list-earn-positions"},{"title":"List earn positions across all chains","deprecated":null,"version":null,"openapi":"/v2/combined_spec.json get /v2/earn/positions_all","href":"/v2/api-reference/earn/list-earn-positions-across-all-chains"},{"title":"List vaults","description":"List ERC-4626 yield vaults across DeFi venues.\n\nReturns vault data including APY, TVL, and underlying asset information. Use this endpoint to discover yield opportunities, compare rates across venues, or build vault selection interfaces.\n\nSupports dozens of vaults and markets like Morpho and other ERC-4626 compatible yield venues.\n\nTo deposit into a vault, use the [manage endpoint](https://docs.compasslabs.ai/v2/api-reference/earn/manage-earn-position) with `venue_type=VAULTS`.","deprecated":null,"version":null,"openapi":"/v2/combined_spec.json get /v2/earn/vaults","href":"/v2/api-reference/earn/list-vaults"},{"title":"List aave markets","deprecated":null,"version":null,"openapi":"/v2/combined_spec.json get /v2/earn/aave_markets","href":"/v2/api-reference/earn/list-aave-markets"},{"title":"List pendle markets","deprecated":null,"version":null,"openapi":"/v2/combined_spec.json get /v2/earn/pendle_markets","href":"/v2/api-reference/earn/list-pendle-markets"},{"title":"List maple pools","deprecated":null,"version":null,"openapi":"/v2/combined_spec.json get /v2/earn/maple_pools","href":"/v2/api-reference/earn/list-maple-pools"},{"title":"Quote a swap","deprecated":null,"version":null,"openapi":"/v2/combined_spec.json get /v2/earn/swap_quote","href":"/v2/api-reference/earn/quote-a-swap"},{"title":"Get token balances","deprecated":null,"version":null,"openapi":"/v2/combined_spec.json get /v2/earn/balances","href":"/v2/api-reference/earn/get-token-balances"},{"title":"Create earn account","deprecated":null,"version":null,"openapi":"/v2/combined_spec.json post /v2/earn/create_account","href":"/v2/api-reference/earn/create-earn-account"},{"title":"Transfer tokens to/from account","deprecated":null,"version":null,"openapi":"/v2/combined_spec.json post /v2/earn/transfer","href":"/v2/api-reference/earn/transfer-tokens-tofrom-account"},{"title":"Manage earn position","deprecated":null,"version":null,"openapi":"/v2/combined_spec.json post /v2/earn/manage","href":"/v2/api-reference/earn/manage-earn-position"},{"title":"Swap tokens","deprecated":null,"version":null,"openapi":"/v2/combined_spec.json post /v2/earn/swap","href":"/v2/api-reference/earn/swap-tokens"},{"title":"Execute multiple earn actions","deprecated":null,"version":null,"openapi":"/v2/combined_spec.json post /v2/earn/bundle","href":"/v2/api-reference/earn/execute-multiple-earn-actions"}]},{"group":"Bridge","pages":[{"title":"Initiate USDC bridging","deprecated":null,"version":null,"openapi":"/v2/combined_spec.json post /v2/cctp/burn","href":"/v2/api-reference/bridge/initiate-usdc-bridging"},{"title":"Complete USDC bridging","deprecated":null,"version":null,"openapi":"/v2/combined_spec.json post /v2/cctp/mint","href":"/v2/api-reference/bridge/complete-usdc-bridging"}]},{"group":"Credit","pages":[{"title":"List credit positions","deprecated":null,"version":null,"openapi":"/v2/combined_spec.json get /v2/credit/positions","href":"/v2/api-reference/credit/list-credit-positions"},{"title":"Get credit account token balances","deprecated":null,"version":null,"openapi":"/v2/combined_spec.json get /v2/credit/balances","href":"/v2/api-reference/credit/get-credit-account-token-balances"},{"title":"List looped (leveraged) credit positions","deprecated":null,"version":null,"openapi":"/v2/combined_spec.json get /v2/credit/looped_positions","href":"/v2/api-reference/credit/list-looped-leveraged-credit-positions"},{"title":"List curated Euler markets","deprecated":null,"version":null,"openapi":"/v2/combined_spec.json get /v2/credit/euler_markets","href":"/v2/api-reference/credit/list-curated-euler-markets"},{"title":"List curated Morpho markets","deprecated":null,"version":null,"openapi":"/v2/combined_spec.json get /v2/credit/morpho_markets","href":"/v2/api-reference/credit/list-curated-morpho-markets"},{"title":"Create credit account","deprecated":null,"version":null,"openapi":"/v2/combined_spec.json post /v2/credit/create_account","href":"/v2/api-reference/credit/create-credit-account"},{"title":"Borrow against collateral","deprecated":null,"version":null,"openapi":"/v2/combined_spec.json post /v2/credit/borrow","href":"/v2/api-reference/credit/borrow-against-collateral"},{"title":"Open a leveraged loop","deprecated":null,"version":null,"openapi":"/v2/combined_spec.json post /v2/credit/loop","href":"/v2/api-reference/credit/open-a-leveraged-loop"},{"title":"Unwind a leveraged loop","deprecated":null,"version":null,"openapi":"/v2/combined_spec.json post /v2/credit/unloop","href":"/v2/api-reference/credit/unwind-a-leveraged-loop"},{"title":"Rebalance the leveraged credit book","deprecated":null,"version":null,"openapi":"/v2/combined_spec.json post /v2/credit/rebalance","href":"/v2/api-reference/credit/rebalance-the-leveraged-credit-book"},{"title":"Transfer tokens to/from Credit Account","deprecated":null,"version":null,"openapi":"/v2/combined_spec.json post /v2/credit/transfer","href":"/v2/api-reference/credit/transfer-tokens-tofrom-credit-account"},{"title":"Swap tokens","deprecated":null,"version":null,"openapi":"/v2/combined_spec.json post /v2/credit/swap","href":"/v2/api-reference/credit/swap-tokens"},{"title":"Repay debt and withdraw collateral","deprecated":null,"version":null,"openapi":"/v2/combined_spec.json post /v2/credit/repay","href":"/v2/api-reference/credit/repay-debt-and-withdraw-collateral"},{"title":"Execute multiple credit actions","deprecated":null,"version":null,"openapi":"/v2/combined_spec.json post /v2/credit/bundle","href":"/v2/api-reference/credit/execute-multiple-credit-actions"}]},{"group":"Perpetual Trading","pages":[{"title":"List perpetual trading markets","deprecated":null,"version":null,"openapi":"/v2/combined_spec.json get /v2/perpetual_trading/opportunities","href":"/v2/api-reference/perpetual-trading/list-perpetual-trading-markets"},{"title":"List perpetual trading positions","deprecated":null,"version":null,"openapi":"/v2/combined_spec.json get /v2/perpetual_trading/positions","href":"/v2/api-reference/perpetual-trading/list-perpetual-trading-positions"},{"title":"Get OHLCV candles","deprecated":null,"version":null,"openapi":"/v2/combined_spec.json get /v2/perpetual_trading/candles","href":"/v2/api-reference/perpetual-trading/get-ohlcv-candles"},{"title":"Aggregated Hyperliquid activity for a user","deprecated":null,"version":null,"openapi":"/v2/combined_spec.json get /v2/perpetual_trading/activity","href":"/v2/api-reference/perpetual-trading/aggregated-hyperliquid-activity-for-a-user"},{"title":"Deposit USDC to perpetual trading account","deprecated":null,"version":null,"openapi":"/v2/combined_spec.json post /v2/perpetual_trading/deposit","href":"/v2/api-reference/perpetual-trading/deposit-usdc-to-perpetual-trading-account"},{"title":"Build the Bridge2 deposit tx from a signed permit","deprecated":null,"version":null,"openapi":"/v2/combined_spec.json post /v2/perpetual_trading/deposit/sponsor_prepare","href":"/v2/api-reference/perpetual-trading/build-the-bridge2-deposit-tx-from-a-signed-permit"},{"title":"Withdraw USDC from perpetual trading account","deprecated":null,"version":null,"openapi":"/v2/combined_spec.json post /v2/perpetual_trading/withdraw","href":"/v2/api-reference/perpetual-trading/withdraw-usdc-from-perpetual-trading-account"},{"title":"Place market order","deprecated":null,"version":null,"openapi":"/v2/combined_spec.json post /v2/perpetual_trading/market_order","href":"/v2/api-reference/perpetual-trading/place-market-order"},{"title":"Place limit order","deprecated":null,"version":null,"openapi":"/v2/combined_spec.json post /v2/perpetual_trading/limit_order","href":"/v2/api-reference/perpetual-trading/place-limit-order"},{"title":"Cancel order","deprecated":null,"version":null,"openapi":"/v2/combined_spec.json post /v2/perpetual_trading/cancel_order","href":"/v2/api-reference/perpetual-trading/cancel-order"},{"title":"Execute signed action","deprecated":null,"version":null,"openapi":"/v2/combined_spec.json post /v2/perpetual_trading/execute","href":"/v2/api-reference/perpetual-trading/execute-signed-action"},{"title":"Approve builder fee","deprecated":null,"version":null,"openapi":"/v2/combined_spec.json post /v2/perpetual_trading/approve_builder_fee","href":"/v2/api-reference/perpetual-trading/approve-builder-fee"},{"title":"Enable unified account mode","deprecated":null,"version":null,"openapi":"/v2/combined_spec.json post /v2/perpetual_trading/enable_unified_account","href":"/v2/api-reference/perpetual-trading/enable-unified-account-mode"},{"title":"Ensure 1x cross leverage","deprecated":null,"version":null,"openapi":"/v2/combined_spec.json post /v2/perpetual_trading/ensure_leverage","href":"/v2/api-reference/perpetual-trading/ensure-1x-cross-leverage"},{"title":"Set leverage (defaults to market maximum)","deprecated":null,"version":null,"openapi":"/v2/combined_spec.json post /v2/perpetual_trading/set_leverage","href":"/v2/api-reference/perpetual-trading/set-leverage-defaults-to-market-maximum"}]},{"group":"Tokenized Assets","pages":[{"title":"List markets","deprecated":null,"version":null,"openapi":"/v2/combined_spec.json get /v2/tokenized_assets/markets","href":"/v2/api-reference/tokenized-assets/list-markets"},{"title":"Get a market","deprecated":null,"version":null,"openapi":"/v2/combined_spec.json get /v2/tokenized_assets/markets/{symbol}","href":"/v2/api-reference/tokenized-assets/get-a-market"},{"title":"List positions","deprecated":null,"version":null,"openapi":"/v2/combined_spec.json get /v2/tokenized_assets/positions","href":"/v2/api-reference/tokenized-assets/list-positions"},{"title":"Get token balances","deprecated":null,"version":null,"openapi":"/v2/combined_spec.json get /v2/tokenized_assets/balances","href":"/v2/api-reference/tokenized-assets/get-token-balances"},{"title":"Get order status","deprecated":null,"version":null,"openapi":"/v2/combined_spec.json get /v2/tokenized_assets/order/{order_hash}","href":"/v2/api-reference/tokenized-assets/get-order-status"},{"title":"List redemption requests","deprecated":null,"version":null,"openapi":"/v2/combined_spec.json get /v2/tokenized_assets/redemptions","href":"/v2/api-reference/tokenized-assets/list-redemption-requests"},{"title":"Create account","deprecated":null,"version":null,"openapi":"/v2/combined_spec.json post /v2/tokenized_assets/create_account","href":"/v2/api-reference/tokenized-assets/create-account"},{"title":"Transfer tokens to/from account","deprecated":null,"version":null,"openapi":"/v2/combined_spec.json post /v2/tokenized_assets/transfer","href":"/v2/api-reference/tokenized-assets/transfer-tokens-tofrom-account"},{"title":"Quote an order","deprecated":null,"version":null,"openapi":"/v2/combined_spec.json post /v2/tokenized_assets/quote","href":"/v2/api-reference/tokenized-assets/quote-an-order"},{"title":"Build an order","deprecated":null,"version":null,"openapi":"/v2/combined_spec.json post /v2/tokenized_assets/order","href":"/v2/api-reference/tokenized-assets/build-an-order"},{"title":"Submit a signed order","deprecated":null,"version":null,"openapi":"/v2/combined_spec.json post /v2/tokenized_assets/order/submit","href":"/v2/api-reference/tokenized-assets/submit-a-signed-order"},{"title":"Cancel an order","deprecated":null,"version":null,"openapi":"/v2/combined_spec.json post /v2/tokenized_assets/order/{order_hash}/cancel","href":"/v2/api-reference/tokenized-assets/cancel-an-order"},{"title":"Charge a partner fee","deprecated":null,"version":null,"openapi":"/v2/combined_spec.json post /v2/tokenized_assets/order/{order_hash}/charge_fee","href":"/v2/api-reference/tokenized-assets/charge-a-partner-fee"},{"title":"Buy an RWA yield token","deprecated":null,"version":null,"openapi":"/v2/combined_spec.json post /v2/tokenized_assets/transact/buy","href":"/v2/api-reference/tokenized-assets/buy-an-rwa-yield-token"},{"title":"Sell an RWA yield token","deprecated":null,"version":null,"openapi":"/v2/combined_spec.json post /v2/tokenized_assets/transact/sell","href":"/v2/api-reference/tokenized-assets/sell-an-rwa-yield-token"}]}]}]},{"version":"V1","pages":[{"title":"V1","href":"/v1/api-reference/aave-v3/aave-supported-tokens"}]}]}]},"title":"List earn positions across all chains - Compass API Docs","buildId":"dpl_2oYXwqkEXirXBPk8wV1FtM5USFWi","deploymentId":"dpl_2oYXwqkEXirXBPk8wV1FtM5USFWi","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-WRhTSUDL.js","utils-ChMov4Kr.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-_REmC2bI.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-Bp6nVRCu.js","snippetPresets-DZadmXoU.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","ApiExamples-CY2WdoTl.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-DwYG-Q4l.js","shallow-BXQIGwv4.js","getApiPlaygroundDisplay-CK5nK5B9.js","CodeSnippet-TH4a2aGW.js","CodeSnippets-DwsQiOFS.js","Page-R3M_BF4L.js","getPastedJson-DD7kUzi_.js","icon-holE3QoJ.js","MethodPill-DUW0T8us.js","DuplicateIcon-CI_p4be-.js","createIcon-BdbRvavb.js","DynamicMarkdown-DN96a4Ur.js","SectionHeading-SCu36A9d.js","axios-vUo_bRtp.js","Markdown-CCeGv-zI.js","clsx-BGBGWFTt.js","lib--scc4DXi.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-Cv_O2fky.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-2C5OB2eV.js"]}