Documentation Index
Fetch the complete documentation index at: https://www.dynamic.xyz/docs/llms.txt
Use this file to discover all available pages before exploring further.
Get wallet balance
BaseWallet wallet = DynamicSDK.Instance.Wallets.UserWallets[0];
string balance = await DynamicSDK.Instance.Wallets.GetBalance(wallet);
Debug.Log($"Balance: {balance}");
Query multichain balances
Query balances across multiple chains and addresses:
var request = new MultichainBalanceRequest
{
FilterSpamTokens = true,
BalanceRequests = new List<BalanceRequestItem>
{
new()
{
Address = wallet.Address,
Chain = "SOL", // or "EVM"
NetworkIds = new List<object> { 103 }, // Solana Devnet
}
}
};
var response = await DynamicSDK.Instance.Wallets.GetMultichainBalances(request);
foreach (var token in response.Balances)
{
Debug.Log($"{token.Symbol}: {token.Balance} (mint: {token.MintAddress})");
}
Query specific token balance
Use WhitelistedContracts to query a specific token by its contract/mint address:
var request = new MultichainBalanceRequest
{
FilterSpamTokens = false,
BalanceRequests = new List<BalanceRequestItem>
{
new()
{
Address = wallet.Address,
Chain = "SOL",
NetworkIds = new List<object> { 103 },
WhitelistedContracts = new List<string>
{
"4zMMC9srt5Ri5X14GAgXhaHii3GnPAEERYPJgZJDncDU" // USDC Devnet
},
}
}
};
var response = await DynamicSDK.Instance.Wallets.GetMultichainBalances(request);
Common token mint addresses
Solana
| Token | Network | Mint Address |
|---|
| USDC | Mainnet (101) | EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v |
| USDC | Devnet (103) | 4zMMC9srt5Ri5X14GAgXhaHii3GnPAEERYPJgZJDncDU |
Complete example
using DynamicSDK.Core;
using UnityEngine;
using System.Collections.Generic;
public class BalanceManager : MonoBehaviour
{
public async void LoadAllBalances()
{
var wallets = DynamicSDK.Instance.Wallets.UserWallets;
foreach (var wallet in wallets)
{
// Get native balance
string balance = await DynamicSDK.Instance.Wallets.GetBalance(wallet);
Debug.Log($"{wallet.Chain} Native Balance: {balance}");
// Get token balances
var request = new MultichainBalanceRequest
{
FilterSpamTokens = true,
BalanceRequests = new List<BalanceRequestItem>
{
new()
{
Address = wallet.Address,
Chain = wallet.Chain,
NetworkIds = GetNetworkIds(wallet.Chain),
}
}
};
var response = await DynamicSDK.Instance.Wallets.GetMultichainBalances(request);
foreach (var token in response.Balances)
{
Debug.Log($" {token.Symbol}: {token.Balance}");
}
}
}
private List<object> GetNetworkIds(string chain)
{
return chain.ToUpper() switch
{
"SOL" => new List<object> { 103 }, // Devnet
"EVM" => new List<object> { 84532 }, // Base Sepolia
_ => new List<object>()
};
}
}
Next steps