Skip to main content

User positions (index-hinted, experimental)

GET 

/v1/data/lending/user-positions/hinted

The same response as /v1/data/lending/user-positions, reading only the lenders the position index says the wallet can hold. Every value is still read live on chain; the index only narrows WHICH lenders are queried.

Per chain, the index answers whether its hint is usable. Only then is the read narrowed to the lenders the wallet's last full read found, the ones it entered since, and every lender the index cannot observe. Otherwise — no full read on record, the index behind it, an unfollowed chain, the index slow or unreachable, or an explicit lenders= — the chain is read in full, exactly as the plain route does.

The response adds hints: { ms, chains: { [chainId]: { mode: 'hinted' | 'full', reason, lenders? } } }.

Plain-text reference — GET /v1/data/lending/user-positions/hinted

Parameters

ParameterInTypeRequiredDescription
accountquerystringyesEVM account address (0x-prefixed, 40 hex chars)
chainsquerystringyesComma-separated chain IDs
lendersquerystringnoComma-separated lender IDs. When given, the index is not consulted. See the LenderId schema for the full set of accepted values.

Response 200

FieldTypeDescription
successTrue
dataobjectUser lending positions as a flat array with portfolio summary and per-chain breakdowns.
data.itemsobject[]Flat array of lender entries sorted by net worth (descending). Each entry fuses position data with aggregated summary metrics.
data.items[].lenderstringLender identifier
data.items[].chainIdstringChain ID
data.items[].accountstringUser account address
data.items[].dataobject[]Sub-account position data
data.items[].data[].accountIdstringSub-account identifier (e.g., "0" for default, NFT ID for Init)
data.items[].data[].healthnumberHealth factor (null if no debt). Values > 1 are healthy, < 1 at risk of liquidation.
data.items[].data[].borrowCapacityUSDnumberTotal USD borrowable while maintaining health >= 1
data.items[].data[].balanceDataobjectAggregated balance data for a sub-account.
data.items[].data[].aprDataobjectAPR breakdown for a sub-account.
data.items[].data[].positionsobject[]Individual asset positions in this sub-account
data.items[].data[].userConfigobjectUser configuration for a sub-account.
data.items[].balanceDataobjectSummary-level balance data (without discounted/adjusted fields).
data.items[].balanceData.depositsnumberTotal deposits in USD
data.items[].balanceData.debtnumberTotal debt in USD
data.items[].balanceData.collateralnumberCollateral value in USD
data.items[].balanceData.collateralAllActivenumberCollateral if all assets were enabled
data.items[].balanceData.navnumberNet asset value (deposits - debt)
data.items[].balanceData.deposits24hnumberDeposits 24h ago
data.items[].balanceData.debt24hnumberDebt 24h ago
data.items[].balanceData.nav24hnumberNAV 24h ago
data.items[].balanceData.rewardsobject[]Pending reward token claims. Each entry represents a single reward program.
data.items[].aprDataobjectSummary-level APR breakdown.
data.items[].aprData.aprnumberNet APR (deposit - borrow)
data.items[].aprData.depositAprnumberWeighted deposit APR
data.items[].aprData.borrowAprnumberWeighted borrow APR
data.items[].aprData.rewardAprnumberTotal reward APR
data.items[].aprData.rewardDepositAprnumberReward APR on deposits
data.items[].aprData.rewardBorrowAprnumberReward APR on borrows
data.items[].aprData.intrinsicAprnumberIntrinsic yield APR (e.g., stETH staking)
data.items[].aprData.intrinsicDepositAprnumberIntrinsic yield APR portion from deposits
data.items[].aprData.intrinsicBorrowAprnumberIntrinsic yield APR portion from borrows
data.items[].aprData.rewardsobjectPer-reward-token APR breakdown. Keys are reward token addresses.
data.items[].leveragenumberLeverage ratio (deposits / nav)
data.summaryobjectPortfolio-wide totals with per-chain breakdowns. Per-lender summaries are fused into each LenderDataEntry in the items array.
data.summary.balanceDataobjectSummary-level balance data (without discounted/adjusted fields).
data.summary.balanceData.depositsnumberTotal deposits in USD
data.summary.balanceData.debtnumberTotal debt in USD

Request​

Responses​

User position data with portfolio summary