include_unknown_price=true to see them.
Parameters
This endpoint accepts the shared parameters, plus the following.number
Hide balances worth less than this many US dollars, to filter out dust. Must be
0 or more. Balances without a price are hidden too, since they have no value to compare. total_value_usd only counts the balances that pass.boolean
default:"false"
Also return zero balances: tokens the wallet held and fully sold, and native tokens it holds none of.
Response
string
The wallet address, in lowercase.
number
Sum of
value_usd over every balance that matches your filters, across all pages. Balances without a USD value add nothing, so read it as a lower bound.object[]
One entry per token balance, highest
value_usd first. Balances without a price come last.object
See pagination.
How the data behaves
- Latest only. You can’t ask for a wallet’s balances at a past block. To reconstruct past holdings, use Transfers.
- Native balances are read live. The API reads each chain’s native balance over RPC when you make the request. If a chain doesn’t answer, the request fails with
503 NATIVE_BALANCE_UNAVAILABLE, lists the chains inerror.chains, and setsRetry-After. To get the other chains in the meantime, leave the failing ones out ofchains. - Values move without onchain activity. Prices update on their own schedule, so two requests seconds apart can return different values for the same balances. Pages are ordered by
value_usd, so a balance whose value changes while you page through can be skipped or repeated. - Going back re-reads the wallet. A
prev_page_tokenrequest uses current values, so a balance can land on a different page than it did the first time.