add custom amount to wallet

First commit for this feature, will clean this up a bit later