omsWallet.indexer is read-only. It accepts any wallet address and does not require authentication, a completed wallet session, or the currently selected address.
Indexer methods are suspend functions. Amounts are raw base-unit strings.
Query balances
Pass explicit networks when you know which chains to query:BalancesResult exposes native assets as List<NativeTokenBalance> and contract assets as List<ContractTokenBalance>. Contract balances include their contract address and token ID. Price, contract, and token metadata is nullable when unavailable. Use the public API reference when you need every response field.
Use formatUnits(balance.balance.toBigInteger(), decimals) with the token’s actual decimals when presenting a balance. The helper removes trailing fractional zeros.
Query Solana balances
UsegetSolanaBalances for native SOL and fungible SPL-token balances. Omitting networks queries both Solana Mainnet and Devnet.
mintAddresses or excludedMintAddresses, and use omitNativeBalances when native SOL is not needed. Individual network failures appear in errors without discarding balances returned by another requested network.
Query Tron balances
UsegetTronBalances for native TRX and TRC-20 token balances. walletAddress is a Base58Check address that starts with T. Omitting networks queries both Tron Mainnet and Nile.
TronBalance has a raw balance in base units (sun for TRX) and a formattedBalance. TRC-20 entries are TronBalance.FungibleToken values identified by tokenStandard and contractAddress. Filter tokens with contractAddresses or excludedContractAddresses, and use omitNativeBalances when native TRX is not needed. TRC-10 tokens are not supported.
The SDK does not expose Solana or Tron transaction history. getTransactionHistory is for EVM networks.
Query transaction history
TransactionHistoryResult.transactions is List<Transaction>. Each transaction includes its chain, hash, block position, timestamp, and transfers. The OMS transaction ID and transfer metadata are optional.
Choose networks
Whennetworks is non-empty, the SDK sends those chain IDs. When it is empty, networkType controls the group and defaults to IndexerNetworkType.MAINNETS.
MAINNETS, TESTNETS, or ALL. See Networks for the explicit Network registry.
Filter and paginate balances
Apply filters only after the basic query works:tokenIds, omit price data with omitPrices, or disable metadata with includeMetadata = false.
Increment the page number while result.page?.more is true.
Filter transaction history
History filters include contract addresses, transaction hashes, OMS meta-transaction IDs, block range, and token ID:metadataOptions only when you need verified-only, unverified-only, or included-contract metadata behavior. It affects metadata enrichment, not the address being queried.