Skip to main content
wallet.getBalance() now supports Arkade Assets! See how it works on the Assets > Check Balance page.
Your Arkade wallet balance shows how many satoshis you can spend in offchain transactions. This is your primary balance for everyday payments within Arkade.
const balance = await wallet.getBalance()

// Total wallet balance
console.log('Total:', balance.total)

// Boarding UTXOs waiting to be onboarded
console.log('Boarding Total:', balance.boarding.total)

// Available balance - spendable in offchain Arkade transactions
console.log('Available:', balance.available)

// Offchain balance split by settlement state
console.log('Settled:', balance.settled)
console.log('Preconfirmed:', balance.preconfirmed)

// Funds that may require recovery
console.log('Recoverable:', balance.recoverable)

Understanding Your Balance

Your Arkade wallet balance is composed of different VTXO states:
{
  // Offchain balances (VTXOs)
  preconfirmed: 0;      // Cosigned by the Arkade operator and sender
  settled: 20000;       // Bitcoin-anchored via batch swap
  available: 20000;     // settled + preconfirmed (spendable in transactions)
  recoverable: 5000;    // Expired VTXOs and subdust. (see VTXO Management)
  total: 25000;         // available + recoverable

  // Pending onchain deposits. (boarding UTXOs - see Ramps for onboarding)
  boarding: {
    unconfirmed: 0,     // Unconfirmed onchain UTXOs
    confirmed: 0,       // Confirmed onchain UTXOs
    total: 0            // confirmed + unconfirmed
  };
}
Primary Balance Fields:
  • available - What you can spend right now in Arkade transactions
  • total - Your total offchain balance including funds that need recovery
For everyday use, focus on the available balance.
Advanced Balance Fields:
  • recoverable - VTXOs that have been swept by the server or subdust amounts. Follow the steps in VTXO Recovery to recover these funds.
  • boarding - Only relevant when using the native onboarding process. For most users, this will be zero.
Learn more about VTXO States.

Managing Coins

Getting Virtual UTXOs

You can retrieve all your offchain VTXOs with a simple call:
// Get virtual UTXOs (offchain)
const vtxos = await wallet.getVtxos()
console.log('Number of VTXOs:', vtxos.length)

// Log important information about each VTXO
vtxos.forEach((vtxo, index) => {
  console.log(`VTXO #${index + 1}:`);
  console.log(`  ID: ${vtxo.txid}:${vtxo.vout}`);
  console.log(`  Amount: ${vtxo.value} sats`);
  console.log(`  Batch ID: ${vtxo.virtualStatus.batchTxID}`);
  console.log(`  Status: ${vtxo.virtualStatus.state}`); // "preconfirmed" | "settled" | "swept" | "spent";
});
Each VTXO has the following shape:
type ExtendedVirtualCoin = {
  txid: string;
  vout: number;
  value: number;
  status: {
    confirmed: boolean;
    // optional block hash, height, etc...
  };
  virtualStatus: {
    state: "preconfirmed" | "settled" | "swept" | "spent";
    // commitment tx ids, expiry, etc...
  };
  createdAt: Date;
  assets?: Asset[]; // see Assets > Core Concepts
  // misc taproot fields, extra witness, etc...
}

Getting Boarding UTXOs

Boarding UTXOs are onchain UTXOs that have been sent to a boarding address but haven’t yet been converted to VTXOs:
// Get boarding UTXOs
const boardingUtxos = await wallet.getBoardingUtxos()
console.log('Number of boarding UTXOs:', boardingUtxos.length)

// Log important information about each boarding UTXO
boardingUtxos.forEach((utxo, index) => {
  console.log(`Boarding UTXO #${index + 1}:`);
  console.log(`  TXID: ${utxo.txid}`);
  console.log(`  Output Index: ${utxo.vout}`);
  console.log(`  Amount: ${utxo.value} sats`);
  console.log(`  Status: ${utxo.status.confirmed ? 'Confirmed' : 'Unconfirmed'}`);
});
Each boarding UTXO has the following shape:
type ExtendedCoin = {
  txid: string;
  vout: number;
  value: number;
  status: {
    confirmed: boolean;
    // optional block hash, height, etc...
  };
  // misc taproot fields, extra witness, etc...
}

Next Steps

  • Send Payments - Learn how to send payments within Arkade and to Lightning
  • VTXO Management - Manage VTXO renewal and recovery
  • Ramps - Advanced: onboard from Bitcoin or offboard to Bitcoin