Why do I have to pay transaction fees?
Bitcoin (BTC) transactions require mining fees to be paid by the transaction initiator, to the miners, for the transaction to go through (be confirmed in a block, by the miners).
Why are the fees so high?
When there is a network congestion with a lot of transactions waiting to be processed, there is a competition to get a transaction through and the miners pick the transactions with the highest fees first which causes fees to increase a couple times more than the standard times. You can see the current list and number of transactions waiting to be confirmed (the mempool) here.
For BTC, Jaxx is using industry standard feeds for the transaction fees to enable its users to send transactions that get confirmed in due time. Our feed comes from https://bitcoinfees.earn.com at the moment and you have the possibility to choose the BTC fee level from the MENU > Settings > BTC mining fee.
Sometimes the fees are as high as (in fiat) 30$-50$ or even 100$ per transaction which means that if your balance is less than that, the amount you can actually send out of your wallet is zero, by covering the mining fees, there wouldn't be any funds left to be sent.
What fee does Jaxx have?
Jaxx is completely free and does not charge you any fees. 100% of the mining fees paid for transactions go to the miners validating that transaction and including it in a block. Jaxx does not receive any remuneration from this transaction.
How are BTC fees calculated, is it a % of the amount I send?
BTC transaction fees are not dependent on the amount of BTC sent and are not a fixed fee per transaction. The BTC transaction fees are based on the actual size of the transaction file which in turn is based on the details of the transacted amount e.g. amount of input transaction funds that create the amount to be transacted and the output(s).
For ex: If a certain BTC Wallet has received 0.1BTC through 10 incoming transactions, 0.01BTC each, when attempting to send out the entire balance of the wallet (0.1BTC), the cost for that transaction will be much higher than another BTC Wallet that received that same amount, 0.1BTC, in a single transaction, and is trying to send it all as well. This is because the transaction file in the first example needs to have the information for all 10 input transactions vs. the 2nd example that only needs the information for one incoming transaction. These are the blockchain rules, not something specific to how Jaxx works.