Skip to main content
Private alpha, partial coverage. The API is in private alpha (release_status: "alpha_partial"): a token is required and only some protocols are covered. See Supported protocols.
Read-only Solana DeFi positions with explicit coverage and sourced USD values.

What it does

Give it a Solana wallet address and it returns the wallet’s positions in the protocols it supports, from verified adapters only. Every position is broken into legs with exact amounts read from chain state. A USD value is given only where it can be sourced, and is null otherwise, never a guessed zero.

Your first request

A captured response, filtered to native stake (the first request for a wallet may return 202 with a job to poll; see Quickstart; add ?wait=8 to get the snapshot in one call in most cases):
GET /v1/solana/wallets/G4VmLamEV6h15gndx7nHn8TTcu7fJkBBNVN3wTugMNtH/defi-positions?protocols=native_stake → 200 (captured 2026-11-12 from local positions-filtered)

Why it’s different

  • Explicit coverage. Every snapshot lists each supported protocol as complete, partial, error, not_applicable or skipped. The absence of a position means something only for complete protocols.
  • Null, not zero. Unknown values are null. total_value_usd is null unless coverage is complete and every counted leg is priced, and total_null_reasons says why.
  • Per-leg provenance. Each leg names its pricing_source, price_as_of and valuation_status.
  • No double counting. LSTs, LP receipts and nested vaults are counted once.
  • Read-only. No wallet connection, no signature, no transaction.

Key features

  • 26 verified adapters across lending, concentrated, bin and fungible liquidity, vaults, native and liquid staking, perpetuals and rewards: see Supported protocols.
  • Built-in on-chain prices, refreshed every 2 minutes; LSTs valued by redemption rate.
  • Async scans: 202 + job polling for cold wallets, or one call with ?wait=8; stale snapshots (at most 10 minutes old) served at once while a refresh runs.
  • Optional wallet token balances with include=tokens, kept separate from the DeFi totals.

Honest limits

  • Supported universe only: not wallet net worth. Protocols outside the supported list are not seen at all.
  • Alpha and partial: release_status is alpha_partial.
  • Snapshots are not atomic (snapshot_consistency: multi_slot).
  • No history: each snapshot is the current state.
  • Not an oracle: prices are not executable quotes.
  • Orca Whirlpools is pending licence clearance; Drift is not supported; Pyth is not used.

Where to go next

Quickstart

Your first wallet snapshot, and how to read it.

Concepts

Coverage, null-not-zero, totals and freshness.

Supported protocols

Every verified adapter and its limitations.

API reference

Conventions, and every endpoint from the OpenAPI contract.

Errors

The error envelope and every code.

FAQ

Answers to the common developer questions.