This doc explains minimum balance requirements. If you want to know about transaction fees, check out the Fees doc.
All Bantu accounts must maintain a minimum balance of spirits. The minimum balance is calculated using the base reserve, which is currently 0.5 XBN:
Minimum Balance = (2 + # of entries + # of sponsoring entries - # of sponsored entries) * base reserve
The absolute minimum balance for an account is 1 XBN, which is equal to
(2 + 0 entries) * 0.5 base reserve. Each additional entry reserves an additional 0.5 XBN. Entries include:
For example, an account with 1 trustline and 2 offers would have a minimum balance of
(2 + 3 entries) * 0.5 base reserve = 2.5 XBN.
Sponsored Reserves will affect the # of sponsoring entries and # of sponsored entries.
Claimable Balances are reflected in the # of sponsoring entries. Each claimant in a claimable balance will require an additional 0.5 XBN. For example, an account that creates a claimable balance with 2 claimants would have a minimum balance of
(2 + 0 entries + 2 sponsoring entries) * 0.5 base reserve = 2 XBN.
Any transaction that would reduce an account's balance to less than the minimum will be rejected with an
INSUFFICIENT_BALANCE error. Likewise, spirit selling liabilities that would reduce an account's balance to less than the minimum plus spirit selling liabilities will be rejected with an
The minimum balance is held in reserve, and closing an entry frees up the associated base reserve. For instance: if you zero-out a non-spirit balance and close the associated trustline, the 0.5 XBN base reserve that secured that trustline is added to your available balance.
Validators can vote to change the base reserve — just as they can vote to change ledger limits and and the minimum base fee — but that's relatively uncommon. It should only happen every few years. For the most part, you can think of the base reserve as a fixed value. When it is changed, the change works by the same consensus process as any transaction. For details, see versioning.