You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/learn/learn-account-balances.md
+72-57Lines changed: 72 additions & 57 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -3,108 +3,123 @@ title: Account Balances
3
3
description: Discover the different types of account balances in Polkadot and Kusama, including free, frozen, and spendable balances.
4
4
---
5
5
6
-
In the Polkadot ecosystem, there are different types of balances depending on the account activity.
7
-
Different balance types dictate whether your balance can be used for transfers, to pay fees, or must
8
-
remain frozen and unused due to an on-chain requirement.
6
+
In the Polkadot ecosystem, different types of balances depend on the account activity.
7
+
Different balance types dictate whether your balance can be used for transfers, to pay fees, or must remain frozen and unused due to an on-chain requirement.
9
8
10
-
!!!info "A more efficient distribution of account balance types"
11
-
Soon, pallets on Polkadot SDK will be implementing the _fungible_ trait (see [the tracking issue](https://github.com/paritytech/polkadot-sdk/issues/226) for more info). This new logic will allow for more efficient use of your account balance. Specifically, the [fungible trait](https://paritytech.github.io/polkadot-sdk/master/frame_support/traits/tokens/fungible/index.html) will allow using the `free` balance for on-chain activity like setting proxies and identities.
9
+
There are four types of account balances:
12
10
13
-
There are 4 types of account balances:
11
+
-**Free Balance** is a portion of an account's total balance that is not held (see below). It is the balance that can be used for any on-chain activity ([staking](./learn-staking.md), [governance](./learn-polkadot-opengov.md), and deposits) as long as the total balance (free + reserved) remains above the maximum of frozen balance and existential deposit.
14
12
15
-
-**Free** is the balance that can be used for any on-chain activity ([staking](./learn-staking.md), [governance](./learn-polkadot-opengov.md), deposits) as long as your total balance (free + reserved) remains above the maximum of frozen balance and existential deposit.
16
-
-**Frozen** (also called locks) is a balance that overlaps across pallets. Example: If governance freezes 100 DOT and vesting freezes 120 DOT, total frozen = 120 DOT (not 220 DOT).
17
-
-**Reserved** (also called holds) is the balance removed from free and doesn't overlap. Used by nomination pools, [staking](./learn-staking.md), etc. Can still be used for governance voting but not for transfers or fees.
18
-
-**Spendable** is the portion of free balance available for transaction fees and creating new holds.
13
+
-**Reserved Balance** (also called holds, or held balance) is the balance removed from free and does not overlay. It can be slashed, but only after all the free balance has been slashed. Reserved balance is used for:
14
+
- native [staking](./learn-staking.md) on the relay chain or via nomination pools
15
+
- deposits such as [governance](./learn-polkadot-opengov.md) decision and submission deposits, [identity](./learn-identity.md) deposits, and [proxy](./learn-proxies.md) and [multi-signature](./learn-account-multisig.md) accounts deposits. It cannot be used for transfers or paying fees.
16
+
17
+
-**Frozen Balance** (also called locks, or locked balance) is a balance that overlays. The frozen balance can exceed the total balance. Frozen balance is used for:
Locks overlay with themselves and with holds, meaning that if staking reserves 60 DOT, voting for a governance proposal with 20 DOT will put a lock on 20 out of 60 reserved DOT. If a governance vote freezes 20 DOT and vesting freezes 120 DOT, the total frozen balance is 120 DOT (not 140 DOT).
22
+
23
+
-**Spendable Balance** is the portion of free balance available for transaction fees and creating new holds.
19
24
20
25
The spendable balance is calculated as follows:
21
26
22
27
```
23
28
spendable = free - max(frozen - reserved, ED)
24
29
```
25
30
26
-
where`free`, `frozen` and `reserved` are defined above. The `ED` is the
31
+
Where`free`, `frozen`, and `reserved` are defined above. The `ED` is the
is used for account balances. Let’s take, for example, an account with 100 DOT.
39
+
**once [the _fungible_ trait](https://paritytech.github.io/polkadot-sdk/master/frame_support/traits/tokens/fungible/index.html) is implemented by all Substrate pallets**. Let’s take, for example, an account with 100 DOT.
In this case, the existential deposit of 1 DOT is untouchable (meaning you can’t touch it if the
49
-
account can’t or shouldn’t get reaped). If 80 DOT from the account is staked, we get the following
50
-
balance structure:
51
+
The untouchable balance is part of the free balance that cannot be spent due to ED or freezes. In this case, the existential deposit of 1 DOT is untouchable (meaning you can’t touch it if the
52
+
account can’t or shouldn’t get reaped). The untouchable balance can also be defined as the frozen balance in excess of holds (see [here](https://github.com/paritytech/polkadot-sdk/issues/1833#issuecomment-1805764506) for a visual aid).
53
+
54
+
If 60 DOT from the account is staked, we get the following balance structure:
This update using the fungible trait allows the use of the frozen balance for on-chain activity like
107
-
setting up proxies and identities. Note that
105
+
Note how, through the fungible trait, the system uses the reserved balance. In other words, locks are
106
+
subtracted from the free balance but overlap with the reserved balance, and with themselves (see below). The free and reserved portions remain 20 DOT and 80 DOT, respectively. We also have 20 DOT as a frozen balance because of the governance lock, and the untouchable balance would thus be 21 DOT.
107
+
108
+
A vested transfer of 50 DOT will
109
+
grow the frozen balance to 50 DOT and the untouchable balance to 51 DOT, using the already frozen 20 DOT plus an additional 30 DOT from the reserved balance without touching the free and spendable balances.
0 commit comments