top of page
Search
Writer's pictureJames Agenda

Existential Deposit – What you should know to don't lose your DOT and KSM

Updated: Aug 6, 2021


Existential Deposit on Polkadot and Kusama holdpolkadot hold polkadot dot kms

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.


Why?


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.


Existential Deposit Dust Accounts Polkadot Kusama holdpolkadot hold polkadot
Tradeoff: Number of Address X Efficiency

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?


No!


If an account already has more balance than the Existential Deposit, it can receive funds below the Existential Deposit.


For example:


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.


For example:


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?


No!


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:


error: system.ExtrinsicFailed balances.existentialdeposit holdpolkadot hold polkadot
error: system.ExtrinsicFailed balances.existentialdeposit

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.


The default option "Transfer with account keep-alive checks" holdpolkadot hold polkadot
The default option "Transfer with account keep-alive checks"

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".


Transfer the full account balance, reap the sender holdpolkadot hold polkadot
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.


Cheers!


2,926 views0 comments

Recent Posts

See All

Comments


bottom of page