Function get_token_balance

Source
pub async fn get_token_balance<P>(
    provider: &P,
    account_id: &str,
    asset_id: &str,
) -> Result<u64, StellarTransactionUtilsError>
Expand description

Fetch available token balance for a given account and asset identifier.

Supports:

  • Native XLM: Returns account balance directly
  • Traditional assets (Credit4/Credit12): Queries trustline balance via LedgerKey::Trustline and excludes funds locked in pending offers (selling_liabilities)
  • Contract tokens: Queries contract data balance via LedgerKey::ContractData

§Arguments

  • provider - Stellar provider for querying ledger entries
  • account_id - Account address to check balance for
  • asset_id - Asset identifier:
    • “native” or “” for XLM
    • “CODE:ISSUER” for traditional assets (e.g., “USDC:GA5Z…”)
    • Contract address (starts with “C”, 56 chars) for Soroban contract tokens

§Returns

Available balance in stroops (or token’s smallest unit) as u64, excluding funds locked in pending offers/orders, or error if balance cannot be fetched