- Token Balances
- NFT Balances
Prerequisites
- Ensure you have a wallet created.
- API Key: Ensure you have an API key with the scopes:
wallets.readandwallets:balance.read.
Retrieving Wallet Balances
- React
- Node.js
- React Native
- Kotlin
- Swift
- Flutter
- REST
import { useWallet } from '@crossmint/client-sdk-react-ui';
const { wallet } = useWallet();
const { nativeToken, usdc, tokens } = await wallet.balances(["usdc"]);
import { CrossmintWallets, createCrossmint } from "@crossmint/wallets-sdk";
const crossmint = createCrossmint({
apiKey: "<your-server-api-key>",
});
const crossmintWallets = CrossmintWallets.from(crossmint);
const wallet = await crossmintWallets.getWallet(
"<wallet-address>",
{ chain: "base-sepolia" }
);
const { nativeToken, usdc, tokens } = await wallet.balances(["usdc"]);
import { useWallet } from '@crossmint/client-sdk-react-native-ui';
const { wallet } = useWallet();
const { nativeToken, usdc, tokens } = await wallet.balances(["usdc"]);
import com.crossmint.kotlin.CrossmintSDK
import com.crossmint.kotlin.types.EVMChain
import com.crossmint.kotlin.types.getOrThrow
CrossmintSDK.configure(apiKey = "YOUR_CROSSMINT_API_KEY")
val sdk = CrossmintSDK.shared
val wallet = sdk.wallets.getWallet(chain = EVMChain.BaseSepolia).getOrThrow()
val balances = wallet.balances(listOf("usdc")).getOrThrow()
println("Native: ${balances.nativeToken.amount}")
println("USDC: ${balances.usdc.amount}")
for (token in balances.tokens) {
println("${token.symbol}: ${token.amount}")
}
import CrossmintClient
import Wallet
CrossmintSDK.configure(apiKey: "<YOUR_API_KEY>")
let sdk = CrossmintSDK.shared
guard let wallet = try await sdk.crossmintWallets.getWallet(
chain: .baseSepolia
) else {
return
}
let balances = try await wallet.balances()
Parameters
Returns
The balances of the wallet.
Show properties
Show properties
The native token balance.
Show properties
Show properties
The amount of the token in its smallest indivisible unit (e.g. 1000000 for 1 USDC when
decimals = 6).The USDC balance.
Show properties
Show properties
The amount of the token in its smallest indivisible unit (e.g. 1000000 for 1 USDC when
decimals = 6).The tokens balances.
Show properties
Show properties
The amount of the token in its smallest indivisible unit (e.g. 1000000 for 1 USDC when
decimals = 6).import 'package:crossmint_flutter/crossmint_flutter_ui.dart';
final controller = CrossmintWalletContext.of(context).requireWalletController;
final wallet = controller.createEvmWallet();
final balances = await wallet.balances(tokens: <String>['usdc']);
print('USDC: ${balances.usdc.amount}');
print('Native: ${balances.nativeToken.amount}');
createEvmWallet for createSolanaWallet or createStellarWallet on
the matching chain. See the
Flutter SDK reference
for more details.curl --request GET \
--url 'https://staging.crossmint.com/api/2025-06-09/wallets/email:user@example.com:evm/balances?tokens=usdc&chains=base-sepolia' \
--header 'X-API-KEY: <x-api-key>'
const url = 'https://staging.crossmint.com/api/2025-06-09/wallets/email:user@example.com:evm/balances?tokens=usdc&chains=base-sepolia';
const options = {
method: 'GET',
headers: {
'X-API-KEY': '<x-api-key>'
}
};
try {
const response = await fetch(url, options);
const data = await response.json();
console.log(data);
} catch (error) {
console.error(error);
}
import requests
url = "https://staging.crossmint.com/api/2025-06-09/wallets/email:user@example.com:evm/balances"
querystring = {"tokens":"usdc","chains":"base-sepolia"}
headers = {"X-API-KEY": "<x-api-key>"}
response = requests.get(url, params=querystring, headers=headers)
print(response.json())
Prerequisites
- Ensure you have a wallet created.
- API Key: Ensure you have an API key with the scopes:
wallets.read,wallets.nfts.read.
Retrieving NFTs
- React
- Node.js
- React Native
- Flutter
- Swift
- REST
import { useWallet } from '@crossmint/client-sdk-react-ui';
const { wallet } = useWallet();
const nfts = await wallet.nfts({ page: 1, perPage: 10 });
import { CrossmintWallets, createCrossmint } from "@crossmint/wallets-sdk";
const crossmint = createCrossmint({
apiKey: "<your-server-api-key>",
});
const crossmintWallets = CrossmintWallets.from(crossmint);
const wallet = await crossmintWallets.getWallet(
"<wallet-address>",
{ chain: "base-sepolia" }
);
const nfts = await wallet.nfts({ page: 1, perPage: 10 });
import { useWallet } from '@crossmint/client-sdk-react-native-ui';
const { wallet } = useWallet();
const nfts = await wallet.nfts({ page: 1, perPage: 10 });
import 'package:crossmint_flutter/crossmint_flutter_ui.dart';
final controller = CrossmintWalletContext.of(context).requireWalletController;
final wallet = controller.createEvmWallet();
final nfts = await wallet.nfts(page: 1, perPage: 10);
import CrossmintClient
import Wallet
CrossmintSDK.configure(apiKey: "<YOUR_API_KEY>")
let sdk = CrossmintSDK.shared
guard let wallet = try await sdk.crossmintWallets.getWallet(
chain: .baseSepolia
) else {
return
}
let nfts = try await wallet.nfts(page: 1, nftsPerPage: 10)
Parameters
Returns
curl --request GET \
--url 'https://staging.crossmint.com/api/2022-06-09/wallets/email:user@example.com:base/nfts?page=1&perPage=20' \
--header 'X-API-KEY: <x-api-key>'
const url = 'https://staging.crossmint.com/api/2022-06-09/wallets/email:user@example.com:base/nfts?page=1&perPage=20';
const options = {
method: 'GET',
headers: {
'X-API-KEY': '<x-api-key>'
}
};
try {
const response = await fetch(url, options);
const data = await response.json();
console.log(data);
} catch (error) {
console.error(error);
}
import requests
url = "https://staging.crossmint.com/api/2022-06-09/wallets/email:user@example.com:base/nfts"
querystring = {"page":"1","perPage":"20"}
headers = {"X-API-KEY": "<x-api-key>"}
response = requests.get(url, params=querystring, headers=headers)
print(response.json())

