getBalance
The getBalance RPC method provides a simple and efficient way to retrieve the native SOL balance of any account on the Solana blockchain. The balance is returned in lamports.
The getBalance RPC method provides a simple and efficient way to retrieve the native SOL balance of any account on the Solana blockchain. The balance is returned in lamports, where 1 SOL = 1,000,000,000 lamports. Unlike getAccountInfo, which returns detailed metadata, getBalance is ideal for lightweight balance checks.
🎯 Primary Use Case
Quick SOL Balance Check Instantly determine how much SOL an account—such as a wallet or program-owned address—holds.
🛠 Parameters
publicKey(string, required): The base-58 encoded public key of the account to query.config(object, optional): Optional fields to control query behavior:commitment(string): Determines the commitment level for the request:finalized(default) – Highest level of confirmation.confirmed– Recent vote-confirmed block.processed– Most recent block (possibly unconfirmed).
minContextSlot(number): Minimum slot at which the query may be evaluated.
Public Key: 4UJuvGZ7Ge8H3je63Nsb9ZRNVBAd3CG2ajibnRaVSbw5
Sample Request (CoinVera RPC):
const fetch = require('node-fetch');
async function getBalance(rpcUrl) {
try {
const response = await fetch(rpcUrl, {
method: 'POST',
headers: {
'Content-Type': 'application/json',
},
body: JSON.stringify({
jsonrpc: '2.0',
id: 1,
method: 'getBalance',
"params": [
"4UJuvGZ7Ge8H3je63Nsb9ZRNVBAd3CG2ajibnRaVSbw5"
]
}),
});
const data = await response.json();
// Print the exact full response
console.log('Full RPC Response:');
console.log(JSON.stringify(data, null, 2));
return data;
} catch (error) {
console.error('Error getting health:', error.message);
return null;
}
}
// Example usage
const RPC_URL = 'https://rpc.coinvera.io/?x-api-key=your-coinvera-x-api-key';
getBalance(RPC_URL);Example Response
🧠 Developer Tips (with CoinVera)
Use
getBalancefor Simplicity When you only need SOL balance, this method is significantly lighter thangetAccountInfoand avoids unnecessary data transfer.Account Existence Check If the account hasn't been initialized on-chain,
getBalancereturns0. This makes it a quick way to check if an account exists for balance purposes only.Convert Lamports to SOL Don’t forget: divide the result by
LAMPORTS_PER_SOL(1,000,000,000) to display balances in SOL.Commitment Strategy Choose your commitment level based on the application:
confirmed– Best for UI and general info.finalized– Best for financial or high-assurance operations. See Solana’s commitment model for more on consistency vs. speed.
Scaling with
getMultipleAccountsNeed balances for multiple accounts? WhilegetBalanceonly handles one at a time, usinggetMultipleAccountsand extracting lamport balances can be more efficient at scale.
Last updated