Account portfolio
Changed onReturns a position-first portfolio view for an owner on a single chain. Cached reads remain eligible for the server cache even when a client sends Cache-Control: no-cache. A request with forceFresh=true, maxAge or minBlock is never served from or stored in that cache. Uncached reads share the concurrency budget of /v3/accounts/{address}/positions and may return 429 for a caller/key budget or 503 when service capacity is temporarily exhausted. The backend builds SDK Account and Portfolio entities from internal V3 account, vault, price, and label data sources; it does not recursively call /v3/accounts/{address}/positions. When forceFresh=true, the endpoint enqueues or promotes account snapshot refresh work and waits briefly for refreshed snapshots before falling back to the current indexed portfolio view. Freshness metadata indicates whether the refresh completed, timed out, or was rate-limited. When any EVK position has unknown debt or controller state, affected SDK rows are omitted and the aggregate portfolio.totals properties are omitted instead of reporting an incomplete result as zero.
Request
- Base URLhttps://v3.euler.finance
- URLhttps://v3.euler.finance/v3/accounts/{address}/portfolio
- Authnone required
Path parameters
Query parameters
Chain ID. Exactly one chain is required.
Filter positions to the product-facing labeled vault universe.
Include the backing SDK account-shaped payload for debugging and migration.
When true, re-read every position of the portfolio, at most 50, and wait briefly for the new rows. The portfolio is built from the rows read after the wait: a position whose refresh completed uses its new row, and a position whose refresh did not complete in time is read live. Any other position uses its stored row; it is read live only when it has no row, or when discovery still finds it but its row shows no exposure. forceFresh is allowed once a minute per address. Each re-read position takes one unit of the caller's refresh budget: by default 60 a minute per API key, or per client IP without a key, and 120 a minute for all callers together. Over the per-address limit, or when the budget cannot cover every position, the request runs as maxAge=300 and freshness.fallbackReason is force-fresh-downgraded. When the refresh budget cannot be checked, nothing is re-read and freshness has rateLimited: true and fallbackReason: rate-limit-unavailable. All these answers are HTTP 200. A request the admission gate refuses, including when its store is down, gets 429 or 503 as before.
Re-read only the positions whose stored row is older than this many seconds, or that have no row, and wait as forceFresh does. Values under the minimum (300 by default) count as the minimum; freshness.maxAge gives the value used. A request where no row is older takes no budget and queues nothing. Each re-read position takes one unit of the caller's refresh budget; a position whose refresh job is already queued costs nothing. At most 50 positions are re-read per request. When the budget or that cap covers only part, the oldest rows are re-read and the rest stay stored (fallbackReason: refresh-budget-partial); when the budget covers none, every row stays stored (fallbackReason: refresh-budget). Both answer HTTP 200 with rateLimited: true.
Build the portfolio from rows that include the state of this block on chainId, for example the block of a transaction the caller just sent. The request first waits until the indexer has processed the block, so a position the block created is found even before it has a stored row. Then it re-reads every position whose row was read before the block, or has no row, and waits until the new rows reach it; a re-read position whose row has not reached the block in time is read live. A position whose refresh job is already queued costs no budget; any other re-read takes one unit, as for maxAge. The whole wait is about 12 seconds, and a request that has to wait for the indexer takes one more unit. When the indexer does not reach the block in time, or reaches it with under a second left, the stored rows are used with timedOut: true and fallbackReason: indexer-behind. A block well past the chain head, or too far ahead of the indexer to reach in time, is answered that way at once.
Response
Account portfolio
Changes
- warning
added the new
EVaultenum value to the//////response property for the response status - warning
added the new
EVaultenum value to the/////response property for the response status - warning
added the new
EVaultenum value to the//////response property for the response status - warning
added the new
EVaultenum value to the/////response property for the response status - warning
added the new
EVaultenum value to the///////response property for the response status - warning
added the new
EVaultenum value to the//////response property for the response status - warning
added the new
EVaultenum value to the/////response property for the response status - warning
added the new
EVaultenum value to the//////response property for the response status - warning
added the new
EVaultenum value to the/////response property for the response status - warning
added the new
EVaultenum value to the/////response property for the response status - warning
added the new
EVaultenum value to the//////response property for the response status - warning
added the new
EVaultenum value to the/////response property for the response status - warning
added the new
EulerEarnenum value to the//////response property for the response status - warning
added the new
EulerEarnenum value to the/////response property for the response status - warning
added the new
EulerEarnenum value to the//////response property for the response status - warning
added the new
EulerEarnenum value to the/////response property for the response status - warning
added the new
EulerEarnenum value to the///////response property for the response status - warning
added the new
EulerEarnenum value to the//////response property for the response status - warning
added the new
EulerEarnenum value to the/////response property for the response status - warning
added the new
EulerEarnenum value to the//////response property for the response status - warning
added the new
EulerEarnenum value to the/////response property for the response status - warning
added the new
EulerEarnenum value to the/////response property for the response status - warning
added the new
EulerEarnenum value to the//////response property for the response status - warning
added the new
EulerEarnenum value to the/////response property for the response status - warning
added the new
SecuritizeCollateralenum value to the//////response property for the response status - warning
added the new
SecuritizeCollateralenum value to the/////response property for the response status - warning
added the new
SecuritizeCollateralenum value to the//////response property for the response status - warning
added the new
SecuritizeCollateralenum value to the/////response property for the response status - warning
added the new
SecuritizeCollateralenum value to the///////response property for the response status - warning
added the new
SecuritizeCollateralenum value to the//////response property for the response status - warning
added the new
SecuritizeCollateralenum value to the/////response property for the response status - warning
added the new
SecuritizeCollateralenum value to the//////response property for the response status - warning
added the new
SecuritizeCollateralenum value to the/////response property for the response status - warning
added the new
SecuritizeCollateralenum value to the/////response property for the response status - warning
added the new
SecuritizeCollateralenum value to the//////response property for the response status - warning
added the new
SecuritizeCollateralenum value to the/////response property for the response status - warning
added the new
Unknownenum value to the//////response property for the response status - warning
added the new
Unknownenum value to the/////response property for the response status - warning
added the new
Unknownenum value to the//////response property for the response status - warning
added the new
Unknownenum value to the/////response property for the response status - warning
added the new
Unknownenum value to the///////response property for the response status - warning
added the new
Unknownenum value to the//////response property for the response status - warning
added the new
Unknownenum value to the/////response property for the response status - warning
added the new
Unknownenum value to the//////response property for the response status - warning
added the new
Unknownenum value to the/////response property for the response status - warning
added the new
Unknownenum value to the/////response property for the response status - warning
added the new
Unknownenum value to the//////response property for the response status - warning
added the new
Unknownenum value to the/////response property for the response status - warning
added the new
force-fresh-downgradedenum value to the//response property for the response status - warning
added the new
indexer-behindenum value to the//response property for the response status - warning
added the new
rate-limit-unavailableenum value to the//response property for the response status - warning
added the new
refresh-budgetenum value to the//response property for the response status - warning
added the new
refresh-budget-partialenum value to the//response property for the response status - warning
added the new
timeoutenum value to the//response property for the response status - info
added the new optional
queryrequest parametermaxAge - info
added the new optional
queryrequest parameterminBlock - info
added the optional property
//to the response with the status - info
added the optional property
//to the response with the status - info
added the optional property
//to the response with the status - info
added the optional property
//to the response with the status - info
added the optional property
//to the response with the status - info
added the optional property
/////to the response with the status - info
added the optional property
/////to the response with the status - info
added the optional property
//////to the response with the status - info
added the optional property
/////to the response with the status - info
added the optional property
/////to the response with the status - info
added the optional property
////to the response with the status - info
added the optional property
/////to the response with the status - info
removed the
earnenum value from the//////response property for the response status - info
removed the
earnenum value from the/////response property for the response status - info
removed the
earnenum value from the//////response property for the response status - info
removed the
earnenum value from the/////response property for the response status - info
removed the
earnenum value from the///////response property for the response status - info
removed the
earnenum value from the//////response property for the response status - info
removed the
earnenum value from the/////response property for the response status - info
removed the
earnenum value from the//////response property for the response status - info
removed the
earnenum value from the/////response property for the response status - info
removed the
earnenum value from the/////response property for the response status - info
removed the
earnenum value from the//////response property for the response status - info
removed the
earnenum value from the/////response property for the response status - info
removed the
evkenum value from the//////response property for the response status - info
removed the
evkenum value from the/////response property for the response status - info
removed the
evkenum value from the//////response property for the response status - info
removed the
evkenum value from the/////response property for the response status - info
removed the
evkenum value from the///////response property for the response status - info
removed the
evkenum value from the//////response property for the response status - info
removed the
evkenum value from the/////response property for the response status - info
removed the
evkenum value from the//////response property for the response status - info
removed the
evkenum value from the/////response property for the response status - info
removed the
evkenum value from the/////response property for the response status - info
removed the
evkenum value from the//////response property for the response status - info
removed the
evkenum value from the/////response property for the response status - info
removed the
securitizeenum value from the//////response property for the response status - info
removed the
securitizeenum value from the/////response property for the response status - info
removed the
securitizeenum value from the//////response property for the response status - info
removed the
securitizeenum value from the/////response property for the response status - info
removed the
securitizeenum value from the///////response property for the response status - info
removed the
securitizeenum value from the//////response property for the response status - info
removed the
securitizeenum value from the/////response property for the response status - info
removed the
securitizeenum value from the//////response property for the response status - info
removed the
securitizeenum value from the/////response property for the response status - info
removed the
securitizeenum value from the/////response property for the response status - info
removed the
securitizeenum value from the//////response property for the response status - info
removed the
securitizeenum value from the/////response property for the response status - info
removed the
unknownenum value from the//////response property for the response status - info
removed the
unknownenum value from the/////response property for the response status - info
removed the
unknownenum value from the//////response property for the response status - info
removed the
unknownenum value from the/////response property for the response status - info
removed the
unknownenum value from the///////response property for the response status - info
removed the
unknownenum value from the//////response property for the response status - info
removed the
unknownenum value from the/////response property for the response status - info
removed the
unknownenum value from the//////response property for the response status - info
removed the
unknownenum value from the/////response property for the response status - info
removed the
unknownenum value from the/////response property for the response status - info
removed the
unknownenum value from the//////response property for the response status - info
removed the
unknownenum value from the/////response property for the response status
- warning
- info
added the non-success response with the status
- info
added the non-success response with the status
- info