Transaction Fees#
You can specify any fee as long as it is not less then the minimal amount required by the protocol. This minimum depend on the serialized size of the box which you create (i.e. fee box).
The network will accept a box if it has at least 360 nanoerg per byte, However in practice 0.001 ERG (or 1000000 NanoErg) is usually used in apps as a minimum per box to simplify things.
Miners sort transactions in the mempool based on fee per byte. Somewhere around 0.001 erg/ kilobyte is a good min fee to set to be accepted in 1 block.
Knowing what fee to suggest to your user depends on your application, but you need to satisfy the protocol. When transaction is validated the following check is perfomed. Which uses the following function
This is how the minimum fee is calculated in sigma-rust