When you try to send funds out of your account on Polkadot-JS UI and get the error message "balances.transferKeepAlive" the system is protecting you from potentially losing your funds. 


This happens when you are trying to send all of your DOT out (or enough to drop your remaining balance below 1 DOT) but the "keep alive" protection is enabled, which is the default. 



Accounts with a balance of less than 1 DOT will be deactivated on the Polkadot network, which means that all remaining DOT in that account will be burned (irrevocably lost). So, the "keep alive" protection is enabled by default to prevent this from happening accidentally.


The reason for this is the required existential deposit (ED) of 1 DOT on the Polkadot network, which you can learn more about here



Solution


If you want to send all of your funds out, you can switch the "keep-alive check" off and toggle the button to transfer out the full amount. In that case, your account will be deactivated, but you can always reactivate it in the future with a deposit of more than 1 DOT. See 


If you want to keep your account active, reduce the amount you are sending out and make sure you keep a balance of at least 1 DOT, after the application of fees. 


Here is some additional information on this from our tech lead Bill: