Returns real-time per-asset token balances and USD values for a portfolio.
Returns the portfolio’s live positions — per-asset balances, unit prices, and USD values — plus an aggregateDocumentation Index
Fetch the complete documentation index at: https://docs.glider.fi/llms.txt
Use this file to discover all available pages before exploring further.
totalValueUsd. Responses are cached
for up to 30 seconds, so rapid polling from a single caller is cheap. For
schedule state (nextDueAt, lastRebalanceAt, status), strategy
metadata, and smart account addresses without live balances, use
GET /v2/portfolios/{portfolioId} instead.
One shape, every asset class. The assets[] array uses the same row
shape (assetId, symbol, decimals, balance, balanceRaw,
priceUsd, valueUsd) for ERC-20 tokens, SPL tokens, and tokenized
real-world assets (equities, treasuries) when the underlying allocation
includes them. Symbol, decimals, and price come from Glider’s upstream
data providers and are passed through unchanged.
x-api-key header (required)portfolios:read200 with whatever loaded and a structured warnings[] array describing the
gap. A full failure returns totalValueUsd: "0", assets: [], and populated
warnings — never a 5xx for transient issues.
Multi-chain by construction. Every asset entry carries a full CAIP-19
assetId and a CAIP-10 smartAccountId, so EVM and non-EVM holdings share
one wire shape.
POST /v2/enroll or GET /v2/portfolios.400 when the path parameter is invalid401 when x-api-key header is missing or the key is invalid403 when the API key lacks the portfolios:read scope404 when the portfolio does not exist or does not belong to the tenant500 on unexpected server errorswarnings[]):
MISSING_SMART_ACCOUNT — no smart account is known for the requested chainRPC_ERROR — chain RPC timed out or erroredMISSING_PRICE — no USD price found for an assetBLOCKLISTED_ASSET — asset is blocked and was skippedMISSING_ASSET — asset metadata is unavailable