DeFi Tracking

Tracking Solana DeFi Positions in a Portfolio

Solana DeFi is the least-covered sector in portfolio APIs. How Kamino, Jupiter, Jito and LST positions break token-only portfolio tracking.

Octav Team2 min read
Banner: Solana DeFi, actually decoded

Protocols covered

  • Solana blockchain logoSolana
  • Kamino lending protocol logoKamino
  • Jupiter exchange logoJupiter
  • Jito staked SOL logoJito
  • Marinade liquid staking logoMarinade

Solana is where portfolio APIs diverge most. In our nine-provider benchmark, several providers have no Solana support at all, and most of the rest read Solana as a token list — which on an active wallet is a small fraction of the truth.

Same Solana DeFi whale, same day: full decoding reported $26.04M; token-only reads stopped near $9.67M.

Why Solana breaks token-only tracking

On Solana, as on EVM chains, a DeFi position leaves a token in your wallet that is a claim, not the value. The difference is that Solana's largest protocols are all position-based, so the share of a wallet that is invisible to a balance query tends to be higher.

ProtocolWhat sits in the walletWhat it actually represents
KaminoObligation accountSupplies, borrows, rewards, loan health
Jupiter LendReceipt tokenSupplied principal plus earned yield
JitojitoSOLStaked SOL plus accrued MEV rewards
MarinademSOLStaked SOL plus staking rewards
Liquid staking generallyAn LSTUnderlying stake, not the LST's own thin market price

Kamino is the clearest case. A Kamino position is not a token in your wallet — it is a lending obligation with supplies, borrows, rewards and a health factor. An API that lists the obligation token gives you a string you cannot read.

The LST pricing trap

Liquid staking tokens are the most common source of quietly wrong Solana numbers. jitoSOL and mSOL accrue value against SOL over time, so their correct valuation is derived from the underlying stake and the exchange rate — not from whatever the LST last traded at on a thin pair.

Price an LST as a loose token and net worth drifts, usually downward, in a way that looks like market movement rather than a data bug.

What full decoding returns

For a Solana wallet, complete coverage means resolving:

  1. SPL token balances — the easy part every provider does.
  2. Lending positions — Kamino and Jupiter Lend supplies, borrows, accrued interest and loan health.
  3. Staking — native stake accounts plus LSTs valued from the underlying.
  4. Liquidity positions — pool share resolved to underlying assets.
  5. Perps and derivatives — margin and unrealised PnL held as protocol state.

Octav scores 100 on coverage in the benchmark and reads Solana DeFi most completely of the nine providers measured. It is worth being precise about what that costs: our performance score is 40 and our cost score is 54, both below DeBank and Zerion. Decoding this much takes time. See Octav vs DeBank vs Zerion for the trade-off.

Fetching a Solana portfolio

Solana addresses are base58 and go through the same endpoint as EVM addresses, so a mixed-chain fund does not need a separate integration:

curl -s https://api.octav.fi/v1/portfolio \
  -H "Authorization: Bearer $OCTAV_API_KEY" \
  -G --data-urlencode "addresses=<solana-address>,<evm-address>"

One call, both ecosystems, positions decoded in the same response shape. The full endpoint list is in the API endpoint reference.

There is also a Solana-only endpoint for airdrop eligibility, /v1/airdrop, which does not apply to EVM addresses.

How to test a provider on Solana

Take a wallet you understand — ideally one with a Kamino position, an LST and a plain SPL balance — and compare the API's answer to what the protocol UIs show.

Three specific things to check:

  • Does the Kamino position appear as supplies and borrows, or as an opaque token?
  • Is the LST valued from the underlying stake, or from its own market price?
  • Does the total change when you add a Solana address to an EVM-only request?

If a provider silently returns less, you will not get an error. You will get a number. That failure mode is covered in Why Portfolio APIs Disagree About Net Worth.

Keep reading

  • Banner: One strategy, three chains, three integrations
    DeFi Tracking

    Tracking DeFi Positions Across Multiple Chains

    Why DeFi positions are hard to enumerate across chains, how lending, LP and staking positions differ, and what a complete tracking setup has to cover.

    1 min read

  • Banner: Your Hyperliquid position is not in your wallet
    DeFi Tracking

    Tracking Hyperliquid Perps in Your Portfolio

    Perp positions are protocol state, not tokens, so most trackers miss them. What Hyperliquid and Lighter positions look like when decoded properly.

    2 min read

  • Banner: Eight of nine see your collateral and stop
    DeFi Tracking

    Decoding Derive Options in a Crypto Portfolio

    On-chain options are barely covered by portfolio APIs. Only one of nine providers benchmarked decodes the Derive options book; the rest see collateral.

    2 min read