When sending a Bitcoin transaction the sender pays a small fee, this fee goes to the miner who processes the transaction.
The sender can choose what fee to pay, categorised as High, Normal or Low priority.
Transactions with a higher fee will be processed the fastest as miners will pick these transactions to process first.
A high fee should see your payment confirmed in about 10 minutes.
Transactions paying a normal fee should confirm in 20 – 30 mins.
Low fee’s normally confirm within a few hours however if the fee is too low the transaction may become stuck in the pending transaction pool until a miner is willing to process it.
It is possible to send a Bitcoin transaction with no fee but it most probably would never confirm, although it may get picked up by a generous miner at some point but there is no guarantee.
The miners need to make money to pay for running their equipment. They are not guaranteed any earnings from being a miner, they are reliant on earning block rewards (which is very competitive) and transaction fees.
Fees are determined by the data size of a transaction and not the total amount being sent, and also depends on how busy the Bitcoin network is at that time.
Fees are lower when the network is not as busy.
Some wallets have the fees set with the option to change the fees within the settings, and some allow you to choose the fee as you are sending a transaction. Be sure to check how your wallet deals with fees and if it has a setting for the fees make sure you are happy with the selection.
Bitcoin gained a reputation for fees being too high making it uneconomic to use for small transactions.
Especially when other coins could offer much lower fees.
The Bitcoin miners have addressed this situation and now Bitcoin transaction fees are very low.