The main reason is supply and demand. The amount of transactions that the miners can mine depends on the size of the block they mine. a 1mb block can only hold 1mb worth of transactions. For all of 2017, the number of bitcoin transactions people want to make has gone up. Usually it is more transactions than one megabyte every ten minutes can handle. Because of this, the price has gone up.
You may not be able to spend a part of your wallet balance because the fees for sending the funds are higher than the funds themselves. If you are using the BitPay app you view your spendable balance. Here’s how to do that:
- Tap the Send button
- Tap your wallet name
- Tap the “...” in the upper right
- Tap "Send max amount"
- Tap your wallet name
- Tap OK if you see a dialog box appear
You’ll then be able to view your spendable balance and the miner fees that you would have to pay for the transaction.
The answer to “why are the fees so high” is somewhat technical and may require some understanding about how the bitcoin network works. Fees on your transaction are a function of two things:
- The overall network requirement for fees
- The number number of transaction inputs involved in your specific transaction
Generally, bitcoin transaction fees are directly proportional to the byte size (or file size) of your transaction.
Sending a bitcoin transaction is a lot like emailing a file. If the file is a small text file then it gets sent quickly and it’s cheap. However, if the file is a full length HD movie, then it can take quite some time to send the email and will be relatively expensive.
Bitcoin fees are sensitive to the “file size” of the transaction. Lots of transaction inputs will make your transaction bigger (the “file” will be bigger). The number of inputs to a bitcoin transaction is analogous to (for example) a one-hundred dollar bill vs. $100 worth of pennies. For a $100 transaction using the one-hundred dollar bill there will be only one input (the one-hundred dollar bill). On the other hand, for a $100 transaction using all pennies there will be 10,000 inputs (one for each penny).
Bitcoin does not distinguish between the value of each input and each input must be digitally signed (with a cryptographic key) for the transaction to be valid. Signing an input requires a certain number of bytes (file space). Signing one input results in a small transaction size. Signing 10,000 inputs results in a large transaction size.
If your wallet has a balance of $70 and only $20 can be sent then your wallet balance is made up of pennies and nickels and dimes (for example) instead of ten and twenty dollar bills. You likely accumulated the $70 in many smaller transaction rather than in just a few larger transactions.