Transaction fees are a small amount of XRD that must be paid with each transaction processed by the Radix Public Network. Transactions on Radix are instructions to change the state of the Radix Ledger. An example of a transaction is to transfer tokens from one wallet account/address to another.
When creating a transaction, perhaps using the Radix Desktop Wallet, you will be able to see the specific amount of XRD that will be automatically paid if you choose to submit that transaction to the network and it is successfully processed.
The purpose of this fee is to ensure that each user is fairly paying for the burden they place on the network with their transactions. Because Radix is very efficient, its fees are generally quite low – for example sending tokens to somebody else generally costs less than 0.1 XRD. Radix’s roadmap to limitless scalability means that as the Radix network becomes more and more used, fees should always remain low.
Radix intends for transaction fees to remain relatively stable in fiat value terms. To begin on the Olympia network, this simply means that if XRD experiences a large sustained change in its fiat value, Radix will propose an update to the part of the Radix Protocol that defines the transaction fees for various types of transactions. In time, we expect that methods for automatic repricing may become possible.
Different types of transactions create different kinds of burden on the network and its nodes – and transactions can range from very simple to including many actions (although the Radix Desktop Wallet currently only creates simple single-action transactions). Some transactions having to do with validator node-running create extra processing at epoch boundaries.
So to fairly calculate the fee for each transaction, the Radix Protocol includes a fee schedule that adds up the total for the transaction’s contents. Currently, this schedule is as follows:
This fee schedule will be updated as the Radix Public Network adds new kinds of capabilities, and new levels of performance.