Transaction fees on Flow are a cost paid by the payer account for a transaction to be included in the Flow blockchain. These fees are necessary for protecting the network against spam and infinite running transactions, and to provide monetary incentives for participants that make up the Flow network. A transaction fee is paid regardless of whether a transaction succeeds or fails. If the payer account doesn't have sufficient Flow balance to pay for the transaction fee, the transaction will fail. The transaction fee can be limited to some extent by providing the gas limit value when submitting the transaction.
Each transaction fee consists of three components: execution fee, inclusion fee, and network surge factor. The execution fee is determined by the code path the transaction takes and the actions it does. The inclusion fee represents the work needed for including the transaction in a block, transporting the transaction information from node to node, and verifying transaction signatures. The network surge factor will be applied when the network is busy due to an increased influx of transactions required to be processed or a decrease in the ability to process transactions.
The maximum possible fee imposed on the payer for a transaction can be calculated as the inclusion cost plus the execution cost. The execution cost is the fee calculated for running the transaction based on the execution effort limit maximum specified. The payer will never pay more than this amount for the transaction.
Starting from October 16, 2021, there is a flat fee of 0.00001 FLOW applied to every transaction submitted to the network. These fees are for spam prevention and will be low and fixed for all transactions.
For more information, please refer to our Flow documentation on Fees.