Skip to main content

Overview

The ValidatorClient handles transaction submission and blockchain queries through the Cosmos SDK RPC interface. Access via CompositeClient:
const blockHeight = await client.validatorClient.get.latestBlockHeight();
const balances = await client.validatorClient.get.getAccountBalances(address);

GET Methods

latestBlockHeight()

Get the current blockchain height.
const currentBlock = await client.validatorClient.get.latestBlockHeight();
console.log("Current block:", currentBlock);
Returns: Promise<number>

getAccountBalances()

Get wallet balances (source account, not subaccount).
const balances = await client.validatorClient.get.getAccountBalances(
  wallet.address
);

balances.forEach((balance) => {
  console.log(`${balance.denom}: ${balance.amount}`);
});
address
string
required
Wallet address
Returns: Promise<Coin[]>

POST Methods

sendToken()

Send tokens from source wallet.
const tx = await client.validatorClient.post.sendToken(
  subaccount,
  recipientAddress,
  denom,
  amount
);
subaccount
SubaccountInfo
required
Sender subaccount
recipient
string
required
Recipient address
denom
string
required
Token denomination
amount
string
required
Amount to send
Returns: Promise<BroadcastTxResponse>

Cache Methods

populateAccountNumberCache()

Pre-populate account number cache for faster transactions.
await client.validatorClient.populateAccountNumberCache(wallet.address);
address
string
required
Address to cache
Returns: Promise<void>
Call this before submitting multiple transactions to improve performance.