There are a couple of reasons why you might not be able to transfer your DOT. In this article we examine the most common of them, but if you encounter a situation not covered by this article or have any questions, feel free to click the "Contact Us" button on the bottom right and reach out to us.


Locked and Reserved DOT

Your account can have different types of balances, and more specifically, transferable, locked, and reserved. Only transferable balance can be sent out of your account. Your locked and reserved balance can't be moved. But it can be made transferable if/when the locks are removed or the reasons for the reserves cease to exit. To learn more about the different types of balance, please check this article, and to learn how to remove locks and make your balance transferable, please watch the video at the end of the article.

To check the different types of balance for your account, go to the Accounts page on Polkadot-JS UI and click on the little down arrow to the right of your account.

When you try to send an amount of DOT make sure that it does not exceed your transferable balance (including fees), otherwise the error 'balances.InsufficientFunds' will occur.

Transaction Fees

Every transaction needs to pay transaction fees that can be paid only from the transferable balance. This means that if you want to transfer out your entire transferable balance (or very close to it), the transaction fees need to be taken into account and subtracted from the amount being transferred. 

Thankfully there is an extrinsic called 'balances.transferAll' specifically for that purpose that handles all of this automatically. To learn how to send out all your transferable balance, please check this article.

Error: 'balances.KeepAlive'

In order for an account to be active on the network it must have a balance of at least 1 DOT. This is known as the Existential Deposit (ED). If your account's balance ever drops below the ED the account will be reaped (deactivated) and any remaining balance will be lost!

To prevent this from happening, all transfers on Polkadot-JS UI are by default done with the "keep alive" protection enabled. So, if you try to send out enough funds to drop your balance below 1 DOT, you will receive this error and the transaction will fail. To deactivate this and transfer out your entire balance, check the article in the previous section.

Error: 'balances.ExistentialDeposit'

Because for an account to exist on-chain it needs to have at least 1 DOT as balance, if you try to send less than 1 DOT to an account with no balance, the transaction will fail with this error. To remedy this, simply send more than 1 DOT to the account, but also check this article for more information, especially if you are sending to an exchange.

In the following video we dive a little deeper into the various locks that can exist on your balance and how to remove them to make your balance transferable again.