Get Address Token Balance
This example demonstrates how to query specific token balance for a given address
public void GetAddressTokenBalance()
{
// Initialize PhantasmaAPI instance
var api = new PhantasmaAPI("https://testnet.phantasma.info/rpc");
// Address to check balance for
var address = "P2K...";
// Token symbol to query (e.g. SOUL, KCAL, NFT symbol)
var symbol = "KCAL";
StartCoroutine(api.GetToken(symbol,
// Callback on success
(tokenResult) =>
{
StartCoroutine(api.GetTokenBalance(address, symbol, "main",
// Callback on success
(tokenBalanceResult) =>
{
// Check whether the token is fungible (e.g. SOUL, KCAL) or non-fungible (NFT)
if (tokenResult.IsFungible())
{
// UnitConversion.ToDecimal() converts raw token amount into human-readable decimal format
Debug.Log($"[Balance] Fungible {symbol} amount for {address}: {UnitConversion.ToDecimal(tokenBalanceResult.Amount, tokenBalanceResult.Decimals)}");
}
else
{
Debug.Log($"[Balance] NFT {symbol} count for {address}: {tokenBalanceResult.Amount}");
}
},
// Callback for RPC errors (invalid token, network error, etc.)
(errorCode, errorMessage) =>
{
Debug.LogError($"[Error][{errorCode}] {errorMessage}");
}
));
},
// Callback for RPC errors (invalid token, network error, etc.)
(errorCode, errorMessage) =>
{
Debug.LogError($"[Error][{errorCode}] {errorMessage}");
}
));
}
Last updated