Calculating the Minimum Fee

The minimum fee for each transaction depends on the type of transaction being processed. To determine this fee, a specific formula is used that considers both the transaction type and a scaling constant. This scaling constant is adjustable and may be periodically updated to mirror the current state of the network, ensuring that fees remain fair and reflect network demand.

Transactions that pay a fee higher than the minimum requirement are often processed more quickly. This is particularly true during times of high network congestion, where the incentive for faster processing increases with higher fees. Essentially, by offering to pay more than the minimum fee, users can prioritize their transactions, allowing them to be confirmed more swiftly in busy periods.

This fee structure serves multiple purposes: it helps regulate the flow of transactions through the network, preventing spam and ensuring that resources are allocated efficiently. Moreover, it provides a mechanism for users to expedite their transactions when needed, offering flexibility and improved user experience in times of high demand.

Here’s our algotithm for calculate the base fee:


min_fee(TxA) = base_fee(TxTypeA) + congestion_fee(NetworkStatus) + urgency_fee(TxUrgency)

Where:

  • base_fee(TxTypeA): A base fee determined by the type of transaction A.
  • congestion_fee(NetworkStatus): An additional fee that varies with the current level of network congestion. This is calculated as a percentage of the base fee or a fixed amount that increases as the network becomes more congested.
  • urgency_fee(TxUrgency): An optional fee that users can add to their transaction to prioritize it over others. This is a fixed fee or scale with the level of prioritization requested.