Skip to main content
O método RPC getBalance é uma forma simples de descobrir o saldo SOL nativo de qualquer conta na blockchain Solana. Ele retorna o saldo em lamports (1 SOL = 1.000.000.000 lamports). Este método é mais leve do que getAccountInfo se você somente precisar do saldo em SOL e nenhum outro detalhe da conta.

Caso de Uso Principal

  • Verificar Rapidamente o Saldo de SOL de uma Conta: O uso principal é determinar quanto SOL uma conta (carteira, programa, etc.) possui.

Parâmetros

  1. publicKey (string, obrigatório): A chave pública codificada em base-58 da conta a ser consultada.
  2. config (objeto, opcional): Um objeto de configuração com os seguintes campos:
    • commitment (string, opcional): Especifica o nível de compromisso a ser usado para a consulta. O padrão é finalized.
      • finalized: O nó consultará o bloco mais recente confirmado pela supermaioria do cluster como tendo atingido o bloqueio máximo.
      • confirmed: O nó consultará o bloco mais recente que foi votado por uma supermaioria do cluster.
      • processed: O nó consultará seu bloco mais recente. Note que o bloco pode não estar completo.
    • minContextSlot (número, opcional): O slot mínimo que a solicitação pode ser avaliada.

Resposta

O campo result da resposta JSON-RPC será um objeto contendo:
  • context (objeto):
    • slot (número): O slot em que o saldo foi recuperado.
    • apiVersion (string, opcional): A versão da API RPC (pode não estar presente em todos os nós).
  • value (número): O saldo da conta em lamports (inteiro sem sinal de 64 bits).
Se a conta não existir on-chain, getBalance geralmente retornará um valor de 0 lamports.

Exemplo: Obtendo o Saldo de uma Conta

Vamos verificar o saldo SOL do ID do Programa Serum V3 (9xQeWvG816bUx9EPjHmaT23yvVM2ZWbrrpZb9PusVFin) na mainnet. Esta conta de programa em si possui SOL para isenção de aluguel. Nota: Substitua YOUR_API_KEY pela sua chave de API Helius real nos exemplos abaixo.

Dicas para Desenvolvedores

  • Simplicidade para Saldo SOL: Se você precisa apenas do saldo SOL de uma conta e nenhum outro dado on-chain (como proprietário, dados ou status executável), getBalance é mais eficiente do que getAccountInfo pois busca menos dados.
  • Contas Inexistentes: Se uma conta não existe on-chain (nunca foi inicializada ou teve SOL), getBalance retornará 0. Esta pode ser uma maneira rápida de verificar a existência da conta se você só se importa com seu saldo SOL.
  • Lamports vs. SOL: Lembre-se de que o saldo é retornado em lamports. Você precisará dividir por LAMPORTS_PER_SOL (1.000.000.000) para convertê-lo para SOL.
  • Níveis de Compromisso: A escolha de commitment pode afetar a rapidez com que você obtém o saldo e quão confirmado esse saldo está. Para a maioria dos propósitos de exibição em UI, confirmed oferece um bom equilíbrio. Para transações financeiras críticas, finalized fornece a maior garantia. Veja Níveis de Compromisso do Solana para informações detalhadas.
  • Agrupamento com getMultipleAccounts: Enquanto getBalance é para uma única conta, se você precisar de saldos para muitas contas, usar getMultipleAccounts e então extrair o saldo lamport das informações de cada conta pode ser mais eficiente do que muitas chamadas individuais getBalance.

Métodos Relacionados

getAccountInfo

Obtenha detalhes completos da conta, incluindo dados, proprietário e status executável

getMultipleAccounts

Busque várias contas em uma única solicitação