> For the complete documentation index, see [llms.txt](https://docs.railgun.org/developer-guide/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.railgun.org/developer-guide/wallet/private-balances.md).

# Private Balances

### Overview&#x20;

RAILGUN private (shielded) balances are built through a registry of [UTXOs](https://www.investopedia.com/terms/u/utxo.asp) (unspent transaction outputs), similar to Bitcoin. The primary difference is that the RAILGUN UTXO list is encrypted with the sender and receiver’s keys, meaning that no outsider can view the contents of the UTXO.&#x20;

The entire list of RAILGUN UTXOs makes up a [merkle tree data structure](https://en.wikipedia.org/wiki/Merkle_tree), which is a structured list of hashes which is used to validate the balance state during transactions.&#x20;

While generating the most up-to-date merkle tree, each commitment leaf (which represent a transaction) must be synced and decrypted in order to build a RAILGUN wallet’s private balance. This syncing process can take a few minutes. Once the sync is complete, UTXO token balances are aggregated into a user’s balance.
