Updated: Aug 6, 2021
Hello, friends! This is James Agenda here.
I will talk about this important (but also dangerous) feature that we usually don't find in other blockchains:
It's the Existential Deposit.
Straight to the point:
In Polkadot (and Kusama) blockchain, your address balance should always stay above or equal to a minimum value.
Or else your balance will be completely erased by the blockchain. (yeah, I'm serious!)
This minimum value is called Existential Deposit.
At the moment, the value of Existential Deposit is:
Existential Deposit on Polkadot is 1 DOT
Existential Deposit on Kusama is 0.0000333333 KSM
It may look like a simple (and strange) rule.
However, there are some tricks.
First, here is an example of how Existential Deposit works:
Let's suppose this scenario:
You created a new account on Polkadot to give your nephew the seed/private key as a Christmas gift.
(It's a good Christmas gift, don't you think? I proudly gave some coins to my nephew last year.)
The freshly created account has 0 DOT.
As a generous uncle/aunt, you decide to transfer 0.5 DOT to the account before giving your nephew the keys.
But after you transferred the 0.5 DOT, you notice that the account balance keeps showing 0 DOT.
The balance was below the Existential Deposit.
Or, in numbers, 0.5 DOT < 1 DOT.
So, the funds were destroyed (literally!), and the address balance went back to 0 DOT.
The account in this example got "reaped"!
But why on earth does an account get reaped if the balance is below Existential Deposit?
Well, the short answer is:
This intentionally happens to keep the blockchain safer, faster, and with cheaper fees.
Despite sounding a little harsh, the truth is that:
Any blockchain in the world will lose some efficiency when it operates with more Addresses.
(Well, technically, more "active" addresses.)
It's an inevitable problem of any protocol since it's a matter of data processing.
In Polkadot and Kusama, accounts with "low balance" are automatically emptied to keep the blockchains more efficient.
Those low balance accounts are also called "dust accounts".
And, I know, 0.5 DOT is not a negligible amount!
However, without the Existential Deposit feature, someone could use 1 DOT to create 1 million accounts of 0.000001 DOT.
Suppose many people do something like this in any blockchain.
In that case, it will eventually bloat the network, turning it slower, unsafe and/or more expensive to run.
Thus, the Polkadot blockchain has the Existential Deposit feature for indeed a good reason.
The point is that Polkadot is a monumental project.
DOT token isn't meant to just play the role of an ordinary "currency".
DOT's primary purpose is to help Polkadot blockchain to offer scalability, interoperability and security to many others blockchains.
The Existential Deposit feature aims to reduce the number of "irrelevant" addresses, thus helping DOT achieve its primary purpose.
And that's how life is!
In order to achieve great results, we always need to deal with some tradeoffs.
But don't worry:
The Existential Deposit is ultimately governed (on-chain) by the community.
Its value already got reduced in the past, and I bet it will decrease again in the future, especially when DOT's price goes up.
Feel free to subscribe, and I will keep you updated about any future changes on the existential deposit.
Ok, but does this mean we can't ever transfer an amount lower than the Existential Deposit?
If an account already has more balance than the Existential Deposit, it can receive funds below the Existential Deposit.
Suppose you got more generous and gifted your nephew an account in which the balance is 1.0 DOT.
Some days later, you decided to transfer an extra 0.1 DOT.
It will work fine, and his new balance will be 1.1 DOT.
But now, your nephew needs to pay attention when sending transactions.
Suppose he spends, let's say, 0.2 DOT.
The balance will become 0.9 DOT (lower than the Existential Deposit).
And then, the account will be reaped: the 0.9 DOT will become 0 DOT!
Still easy math, right?
But, here comes the trick:
Even if your nephew send out only 0.1 DOT from his total of 1.1 DOT, the account will be reaped, because of fees!
Or, breaking the numbers:
Initial Balance:__________1.1 DOT
Transfer Amount:______–0.1 DOT
Transaction Fees:______–0.015 DOT
Final Balance:__________0.985 DOT
Final Balance = 0.985 DOT < 1 DOT = Existential Deposit
The account will be reaped, and the Final Balance will become 0 DOT.
I forgot the Existential Deposit and my account got reaped! Did I just lose that address forever?
Your address is still there!
The blockchain treats your reaped account as "deactivated", like in any other address that never got used before.
However, you may reactivate your account anytime.
To reactivate a reaped account, just transfer to it an amount equal ou above the Existential Deposit.
Still, this will not restore the reaped funds. (They are indeed destroyed!)
How to avoid losing Dot and KSM to Existential Deposit
Polkadot.Js (Polkadot's official wallet) already implemented features to help users in cases related to Existential Deposit issues.
For example, the wallet automatically fails transactions to new accounts when the amount transferred is below the Existential Deposit.
If you try that, you will see this error:
By failing the transaction, the blockchain prevents you from losing the funds.
The wallet also has a default option of "transfer with account keep-alive checks" when sending funds.
Whenever this option stays checked, the wallet will protect you from sending funds if the remained balance is not equal to or above the Existential Deposit.
So, never uncheck this option unless you want to transfer all the funds.
If this is the case, then you should check the "Transfer the full account balance, reap the sender".
And the developers keep working on improving the solutions.
Bonus: My 3 tips when dealing with the Existential Deposit to do not lose tokens
1) Staking Rewards
When staking Polkadot, if you set the rewards to another address instead of the Stash account:
Assure the address receveing rewards has at least the Existential Deposit, or else your daily rewards are likely to be destroyed.
2) New accounts
Whenever you are going to receive funds in a new account, especially if you are not the sender (like receiving from a friend or an exchange):
Assure the receiving address has at least the Existential Deposit even if you are going to receive a larger amount.
They may send you a batch of transactions where each one is below the Existential Deposit, and you may lose all of it if you are not prepared.
3) Keep yourself Update
Just subscribe for free, and I will keep you updated about any changes on the Existential Deposit and other relevant topics.