There are currently 13 different types of transactions in the Waves Blockchain. the following table shows the minimal required fees in non-scripted case (accounts don’t have scripts, assets don’t have scripts) and for each time the script is called, total transaction’s fee increases by 0.004 Waves.
Note. If a scripted account transfers a smart asset, then the fee is increased twice (the fee increases +0.004 every time the transaction is validated by account’s script or asset’s script), you can check here the transactions examples.
|Transaction||Minimal Transaction Fee in WAVES|
|Mass Transfer||0.001 + 0.0005*N|
|Data||0.001 per kilobyte, rounded up|
|Set Asset Script||1|
The accounts pay the matcher for orders placement, then the matcher pays the fee when an ExchangeTransaction is put to the blockchain and it doesn’t matter if the accounts are smart or not. But if the matcher is a SmartAccount (has a script) then the fee for the matcher is increased by 0.004.
- If an Asset Pair contains a Smart Asset then the fee is increased by + 0.004 (+0.008 if both assets are smart).
- It doesn't matter if any of the accounts is a Smart Account, Smart Accounts pay in the same way as non-smart Accounts do.
- Smart Accounts don’t pay extra 0.004 for Order placements.
- Exchange Transaction’s fee is not increased by +0.004 if any of the accounts is a Smart Account.
- plain transfer fee is 0.001 WAVES, if user makes account scripted or smart asset transfer, the fee should be 0.005.waves, but if user will transfer smart assets from scripted account the final fee is 0.009 WAVES.
- Exchange transaction fee is 0.003 WAVES, if matcher also can be scripted, this makes fee as 0.007 WAVES .
- the heaviest case is transaction created by scripted matcher where both orders from scripted accounts and assets pair uses smart assets: Firstly, Both accounts pay to the matcher (order.fee + 2*smart asset fee = 0.003 + 2*0.004 = 0.011). Secondly, the ExchangeTransaction’s fee will be (exchangeTx + scripedMatcherFee + 2*smartAssetFee = 0.003 + 0.004 + 2*0.004 = 0.015) which is payed by the matcher