Ownership: owner_role
owner_role says how the wallet relates to a position:
authority: the wallet owns the obligation, perp or position account.withdraw_authority: stake the wallet can withdraw.stake_authority: staker only: the wallet can delegate the stake but not withdraw it. Shown with thestaker_onlyflag and excluded from totals (D-09).token_holder: the receipt or share token (an LST, an LP token) is in the wallet.beneficiary: the wallet is entitled through a farm or custody account.delegate: the wallet acts for the owner under a delegation.unknown: the relationship could not be classified.
Positions, legs and roles
A position (id = solana:<adapter>:<container>, stable across snapshots) has three leg arrays: assets, debts
(positive amounts you owe) and rewards. net_value_usd = assets − debts (+ rewards when included). Leg role is one
of supplied, collateral, borrowed, liquidity, staked, share, underlying, margin, unrealized_pnl,
funding, fee, reward. position_type is one of lending_supply, lending_borrow, liquidity_concentrated,
liquidity_bins, liquidity_fungible, vault, native_staking, liquid_staking, perpetual, yield_reward,
governance_staking (staked governance tokens such as JUP; category is null), unclassified (a detected position
whose kind is not supported; shown, never valued); category groups them.
details holds protocol facts (never summed); evidence names the slot, adapter version, method and accounts read.
Leg valuation statuses
priced: valued from a qualified source; counts towardtotal_value_usd.indicative: priced from a thin market; included inknown_value_usd, never intotal_value_usd(D-07).stale: the latest price is too old; the value is shown but counted in neither total.unsupported: no supported price source for this token;value_usdisnull.no_liquidity: no market deep enough to price it;value_usdisnull.unlicensed: a price exists but cannot be served;value_usdisnull.error: pricing failed during the scan;value_usdisnull.not_requested: valuation was not requested (includewithoutvaluation).
confidence is qualified or indicative. pricing_source and price_as_of say where and when the price came from.
market_price_usd (an LST’s market price, D-08) and protocol_mark_price_usd (the protocol’s own mark, D-10/D-17) are
for reference only and are never summed.
Exact vs estimated, claimable, informational
amount_basis: "estimated": an accrual not yet booked on chain (for example farm rewards, D-16). Never counted.claimable: whether a reward can be claimed now.informational: true: a reference figure (perp notional, SOL equivalent, NAV after penalty). Never summed.in_totalsandexclusion_reasonsay whether each leg counts, and if not why:indicative,stale,unpriced,estimated,staker_only,rewards_not_included,informationalornested(counted through a parent position).
Flags and warnings
flags are derived for every position: excluded_from_totals, staker_only, unsupported_position_kind,
interest_stale, oracle_stale, incomplete_position, carried_forward, has_estimated_legs, has_indicative_legs,
has_stale_legs, locked, out_of_range. warnings are adapter messages (code or code:detail). Both are open
enums: new values may appear within v1, and clients must ignore values they don’t know.