Many people decide to embark into the world of cryptocurrency so that they can be their own bank and have full control over their accounts. Whilst businesses and banks tend to apply transaction fees that seem reasonable, they begin to seem less reasonable when compared to fees applied by cryptocurrency wallets.
However, just because transaction fees do exist in this world does not mean they are decided by the wallet. Rather, fees are typically decided by the network. Users who wish for their transactions to be added to the blockchain of a cryptocurrency will seek miners who will do the work for them. Usually, the user would offer a fee that would be paid to the miner upon completion. However, you don’t have to offer one. Naturally though, if you do not offer one, you run the risk of nobody completing the task you require.
Let’s take Bitcoin for example. It is typically recommended to use Bitcoin Core (the official client for Bitcoin) as the wallet for your Bitcoin. The people that use Bitcoin Core will accept transactions that will ultimately be added to the blockchain that Bitcoin Core is associated with. Each user will run a mining setup, often referred to as a node, and each node in the network will follow the rules that enable transactions to be added to the blockchain.
Bitcoin Core will ensure that every transaction block is valid, which helps secure the blockchain and prevent a centralised entity (the government or banks) from taking control over the funds and accounts. To add a block of data to the blockchain, miners will solve cryptographic puzzles that allow them to play the role of a ‘digital accountant,’ and when successfully cracked, their task is complete. This grants the miners two incentives: the reward for successfully mining and the transaction fee that has been offered for when the work is complete.
How does this apply to wallets?
Let’s say you wanted to send a friend or family member some Bitcoin. You can easily send the Bitcoin from your wallet to the desired wallet.
However, this is a transaction, and the essence of cryptocurrency and blockchain technology is to be transparent. In the interest of transparency, any transactions that occur are ideally recorded. Once you have made your transaction, it will be broadcast to the entire network, at which point the miners will look to add these transactions and secure them onto the blockchain.
The fee is broadcasted alongside your transaction, which informs the miners of the incentive to add your transaction.
A more in depth look into the process
- The client will decide which of your coins to use to make the payment. For instance, you may have received a payment of 0.5 BTC and 1 BTC (this is entirely hypothetical). However, these two figures do not become 1.5 BTC, but instead they remain separate. The miner would then determine, based on the situation and transaction fee being offered, which one is more suitable to the amount you are trying to spend/send/trade.
- If any of the transactions are less than 0.01 XBT, for example, then a fee of 0.001 XBT is necessitated. There is an algorithm in place that selectively avoids coins that would ultimately equate to less than 0.01 XBT, if it is possible at all.
- If your coins are too small, or perhaps too new, they will require a fee. This is decided by a priority ranking: age, size, and number. To figure this out, you would typically calculate the value of the input for your desired coin multiplied by the age of the input in blocks. It sums these products over all inputs and divides the total by the size of the transaction in bytes. If this total is less than 0.576 then the transaction will require a fee. This means, in effect, you can include tonnes of little inputs within a transaction and not be charged a fee providing a large, older input is with them.
- Finally, one must check the size of the transaction in bytes. If the size is less than 10,000 bytes and the transaction priority was high enough to not need a fee, then it remains free. If not, then a fee is needed. Typically, the fee is charged per 1,000 bytes, or near enough. The amount charged per 1,000 bytes defaults to, for example, 0.0001 XBT, but this can be increased in the settings.
(Again, this is by no means a sure thing; it can vary slightly. This is just a typical example being highlighted to depict how the process generally works.)
In short, the answer to whether or not there are transaction fees applied to wallets is one that varies in accordance to the situation. You don’t necessarily have to offer a fee if you require a transaction to be secured on the blockchain, but it’s unlikely a miner will do the work for you without one. Even if you do, the amount can still vary. Fees may also be different if you are working within an exchange as they will follow their own rules and guidelines.