Skip to main content
GET
Wallet DeFi positions snapshot (200) or queued scan (202)

Authorizations

Authorization
string
header
required

PRIVATE_API_TOKEN, required on /v1/* (except /v1/health) while configured.

Path Parameters

wallet
string
required

Base58 public key decoding to exactly 32 bytes; case-sensitive.

Pattern: ^[1-9A-HJ-NP-Za-km-z]{32,44}$

Query Parameters

include
string

Comma-separated subset of underlying, rewards, valuation, metadata, tokens. Default underlying,rewards,valuation,metadata (tokens, the wallet token balances of D-27, only when asked for).

Maximum string length: 200
Pattern: ^(underlying|rewards|valuation|metadata|tokens)(,(underlying|rewards|valuation|metadata|tokens))*$
protocols
string

Comma-separated adapter ids (see GET /v1/solana/protocols). Default all registered.

Maximum string length: 1000
freshness_seconds
integer

Maximum acceptable snapshot age in seconds. Default 120.

Required range: 0 <= x <= 86400
include_rewards_in_total
enum<string>
default:false

Count claimable reward and fee legs in totals. Requires rewards in include.

Available options:
true,
false
limit
integer
default:100
Required range: 1 <= x <= 500
cursor
string

Opaque cursor from page.next_cursor.

Maximum string length: 200
wait
integer
default:0

Long-poll (D-29). When the request would start or join a refresh scan (202, or a stale 200 with refreshing), hold it open up to this many seconds for the scan; if it finishes in time the response is the normal fresh 200 for the new snapshot, else exactly the response without wait. Counted once against rate limits. 0 (default) returns at once.

Required range: 0 <= x <= 10

Response

Fresh or stale snapshot

chain
string
required
Allowed value: "solana"
network
string
required
Allowed value: "mainnet-beta"
wallet
string
required
Pattern: ^[1-9A-HJ-NP-Za-km-z]{32,44}$
snapshot_id
string | null
required
release_status
enum<string>
required
Available options:
alpha_partial,
v1
as_of
string
required
Pattern: ^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}Z$
observed_slots
object
required
snapshot_consistency
enum<string>
required
Available options:
single_slot,
multi_slot,
unknown
refreshing
boolean
required
refresh_job_id
string | null
required
freshness
object
required
coverage
object
required
positions
object[]
required
page
object
required
totals
object | null
required
request
object
required
metadata
object | null
required

Display metadata for the mints and protocols on this page (14 §7.1); null when metadata is not in include.

tokens
object | null

D-27 wallet token balances (native SOL plus every non-zero SPL / Token-2022 mint) for the whole snapshot, identical on every page; null unless tokens is in include or when the snapshot predates D-27. Emitted on every 200 since D-27.

tokens_total
object | null

D-27 separate wallet-token total. Never part of, and never includes, totals. Null unless both tokens and valuation are in include (and the snapshot has a tokens section).