You are viewing docs for the previous version of the Wallets SDK. We recommend upgrading to V1.
See the updated version of this page or the V1 migration guide.
- 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
- Swift
- 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", signer: { type: "external-wallet" } }
);
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 CrossmintClient
import Wallet
let sdk = CrossmintSDK.shared
let wallet = try await sdk.crossmintWallets.getOrCreateWallet(
chain: .baseSepolia,
signer: .email("user@example.com")
)
let balances = try await wallet.balances(["usdc"])
Parameters
string[]
The tokens to get the balances for. This can be a token symbol or a token address.
Returns
Balances
The balances of the wallet.
Show properties
Show properties
TokenBalance
The native token balance.
Show properties
Show properties
string
The amount of the token in decimal format (e.g. "42.69").
string
The amount of the token in its smallest indivisible unit (e.g. 1000000 for 1 USDC when
decimals = 6).string
The symbol of the token (e.g. USDC, ETH, etc.).
string
The contract address (EVM, Stellar) or mint hash (Solana) of the token.
number
The number of digits after the decimal point (e.g. 6 for USDC).
rawAmount divided by 10 to the power of
decimals gives the amount.TokenBalance
The USDC balance.
Show properties
Show properties
string
The amount of the token in decimal format (e.g. "42.69").
string
The amount of the token in its smallest indivisible unit (e.g. 1000000 for 1 USDC when
decimals = 6).string
The symbol of the token (e.g. USDC, ETH, etc.).
string
The contract address (EVM, Stellar) or mint hash (Solana) of the token.
number
The number of digits after the decimal point (e.g. 6 for USDC).
rawAmount divided by 10 to the power of
decimals gives the amount.TokenBalance[]
The tokens balances.
Show properties
Show properties
string
The amount of the token in decimal format (e.g. "42.69").
string
The amount of the token in its smallest indivisible unit (e.g. 1000000 for 1 USDC when
decimals = 6).string
The symbol of the token (e.g. USDC, ETH, etc.).
string
The contract address (EVM, Stellar) or mint hash (Solana) of the token.
number
The number of digits after the decimal point (e.g. 6 for USDC).
rawAmount divided by 10 to the power of
decimals gives the amount.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
- Swift
- REST
import { useWallet } from '@crossmint/client-sdk-react-ui';
const { wallet } = useWallet();
const nfts = await wallet.experimental_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", signer: { type: "external-wallet" } }
);
const nfts = await wallet.experimental_nfts({ page: 1, perPage: 10 });
import { useWallet } from '@crossmint/client-sdk-react-native-ui';
const { wallet } = useWallet();
const nfts = await wallet.experimental_nfts({ page: 1, perPage: 10 });
import CrossmintClient
import Wallet
let sdk = CrossmintSDK.shared
let wallet = try await sdk.crossmintWallets.getOrCreateWallet(
chain: .baseSepolia,
signer: .email("user@example.com")
)
let nfts = try await wallet.nfts(page: 1, nftsPerPage: 10)
Parameters
number
The number of NFTs to return per page.
number
The page number to return.
Returns
Promise<GetNftsResponse>
The NFTs.
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())

