read_view.as_of_ledger. Each
record says how its balance was determined (source, verified), and each
holdings response says in completeness whether the whole answer is verified.
Read this page before you show balances as authoritative, for example in a
wallet or an audit.
Sources
- Exact: XLM, trustlines, pool shares, claimable balances, offers, and SAC
balances of contract (
C...) holders, live or archived. AG...account’s SAC balance is its trustline. - Exact for the layout: custom SEP-41 tokens that store balances in the
common
Balance(Address) -> i128layout (layout: balance_i128). - Not listed by default: other custom tokens. They appear only with
include=unverified, flaggedunverified_token.
Completeness block
Every holdings response carriescompleteness. This live Mainnet answer holds
one token with an unrecognized layout, so it is incomplete:
With
include=unverified the same request simulates the candidate tokens (up to
5 per request, 1 extra credit each) and lists those with a non-zero balance as
source: simulation, verified: false.
Archived balances
Contract storage that reaches the end of its lifetime moves to the hot archive, a store for expired contract entries. The holder still owns an archived balance, and the network restores it automatically the next time it is used. Archived balances keeparchived: true and their amount; they are never
shown as zero, and they count toward holder_count and supply.
What is not covered
- Positions inside protocols (lending deposits, vault shares as value) are not holdings.
- NFT contracts (SEP-50) are excluded from fungible lists.
- Balance history starts at
read_view.bootstrap_ledger. Ledgers it cannot answer exactly return409; use a snapshot job.
Consistency with Activity
Holdings atas_of_ledger N plus Activity events from since_ledger=N+1 give
no gaps and no double counting for ledger_entry and token_storage balances.
The two indexes publish independently, so Assets as_of_ledger can be a few
ledgers ahead of Activity.
Next
- Holdings: the
includeparameter. - Token registry:
unverified_tokenand other flags.