waves_logo Docs
  • Why Waves
    Why Waves
  • Waves Basics
    Waves Basics
  • Account
    • Creating Account
      Creating Account
    • Address
      Address
    • Account Balance
      Account Balance
    • Account Data Storage
      Account Data Storage
    • Alias
      Alias
    • dApp and Smart Account
      dApp and Smart Account
    Account
  • Token (Asset)
    • Non-Fungible Token
      Non-Fungible Token
    • Smart Asset
      Smart Asset
    • Token ID
      Token ID
    • WAVES
      WAVES
    Token (Asset)
  • Transaction
    • Transaction Fee
      • Sponsored Fee
        Sponsored Fee
      Transaction Fee
    • Signature and Proofs
      Signature and Proofs
    • Transaction Types
      • Burn Transaction
        Burn Transaction
      • Create Alias Transaction
        Create Alias Transaction
      • Data Transaction
        Data Transaction
      • Exchange Transaction
        • Order
          Order
        Exchange Transaction
      • Genesis Transaction
        Genesis Transaction
      • Invoke Script Transaction
        Invoke Script Transaction
      • Issue Transaction
        Issue Transaction
      • Lease Cancel Transaction
        Lease Cancel Transaction
      • Lease Transaction
        Lease Transaction
      • Mass Transfer Transaction
        Mass Transfer Transaction
      • Reissue Transaction
        Reissue Transaction
      • Set Asset Script Transaction
        Set Asset Script Transaction
      • Set Script Transaction
        Set Script Transaction
      • Sponsor Fee Transaction
        Sponsor Fee Transaction
      • Transfer Transaction
        Transfer Transaction
      • Update Asset Info Transaction
        Update Asset Info Transaction
      • Ethereum-like Transaction
        Ethereum-like Transaction
      Transaction Types
    • Transaction Validation
      Transaction Validation
    Transaction
  • Block
    • Transactions Root Hash
      Transactions Root Hash
    • Genesis Block
      Genesis Block
    Block
  • Node
    • Leasing
      Leasing
    • Generator’s Income
      Generator’s Income
    • Monetary Policy
      Monetary Policy
    Node
  • Mainnet, Testnet, Stagenet
    Mainnet, Testnet, Stagenet
  • Unit Zero
    Unit Zero
  • Oracle
    Oracle
  • Protocols & Data formats
    • Cryptographic Practical Details
      Cryptographic Practical Details
    • Leased Proof of Stake
      Leased Proof of Stake
    • Waves-NG Solution
      Waves-NG Solution
    • Waves-NG Protocol
      Waves-NG Protocol
    • Waves 1.5
      Waves 1.5
    • Blockchain Data Types
      Blockchain Data Types
    • Binary Format
      • Address Binary Format
        Address Binary Format
      • Alias Binary Format
        Alias Binary Format
      • Block Binary Format
        Block Binary Format
      • Network Message Binary Format
        • Block Message Binary Format
          Block Message Binary Format
        • Checkpoint Message Binary Format
          Checkpoint Message Binary Format
        • Get Block Message Binary Format
          Get Block Message Binary Format
        • Get Peers Message Binary Format
          Get Peers Message Binary Format
        • Get Signatures Message Binary Format
          Get Signatures Message Binary Format
        • Handshake Message Binary Format
          Handshake Message Binary Format
        • Peers Message Binary Format
          Peers Message Binary Format
        • Score Message Binary Format
          Score Message Binary Format
        • Signatures Message Binary Format
          Signatures Message Binary Format
        • Transaction Message Message Binary Format
          Transaction Message Message Binary Format
        Network Message Binary Format
      • Order Binary Format
        Order Binary Format
      • Transaction Binary Format
        • Burn Transaction Binary Format
          Burn Transaction Binary Format
        • Create Alias Transaction Binary Format
          Create Alias Transaction Binary Format
        • Data Transaction Binary Format
          Data Transaction Binary Format
        • Exchange Transaction Binary Format
          Exchange Transaction Binary Format
        • Genesis Transaction Binary Format
          Genesis Transaction Binary Format
        • Invoke Script Transaction Binary Format
          Invoke Script Transaction Binary Format
        • Issue Transaction Binary Format
          Issue Transaction Binary Format
        • Lease Cancel Transaction Binary Format
          Lease Cancel Transaction Binary Format
        • Lease Transaction Binary Format
          Lease Transaction Binary Format
        • Mass Transfer Transaction Binary Format
          Mass Transfer Transaction Binary Format
        • Reissue Transaction Binary Format
          Reissue Transaction Binary Format
        • Set Asset Script Transaction Binary Format
          Set Asset Script Transaction Binary Format
        • Set Script Transaction Binary Format
          Set Script Transaction Binary Format
        • Sponsor Fee Transaction Binary Format
          Sponsor Fee Transaction Binary Format
        • Transfer Transaction Binary Format
          Transfer Transaction Binary Format
        • Update Asset Info Transaction Binary Format
          Update Asset Info Transaction Binary Format
        • Ethereum-like Transaction Binary Format
          Ethereum-like Transaction Binary Format
        Transaction Binary Format
      • Transaction Proof Binary Format
        Transaction Proof Binary Format
      Binary Format
    • Validation Rules
      Validation Rules
    Protocols & Data formats
  • Glossary
    Glossary
      • English
      • Русский
      On this page
        • Minimum Fee
        • Fee in Sponsored Asset
        • Fee for Failed Transactions
      waves_logo Docs

          # Transaction fee

          Transaction fee is a fee that an account owner pays to send a transaction.

          A transaction sender can specify any amount of fee but not less than a minimum amount. The larger the fee is, the quicker the transaction will be added to the new block.

          For an Invoke Script transaction and Transfer transaction, a sender can specify a transaction fee nominated in a sponsored asset instead of WAVES, see the section Fee in Sponsored Asset below.

          # Minimum Fee

          The minimum fees in WAVES for each type of transaction are listed in the table below.

          • If the transaction sender is a dApp or smart account, and the complexity of the account script or dApp script verifier function exceeds the sender complexity threshold, the minimum fee is increased by 0.004 WAVES.

            If the order sender in Exchange transaction is a dApp or smart account, this does nor affect the minimum fee.

          • The minimum fee is increased by 0.004 WAVES for each smart asset involved, except for:

            • Invoke Script transactions,
            • smart assets used as matcher fee in Exchange transaction.

          Before activation of feature #16 “Ride V5, dApp-to-dApp invocations”
          • The extra fee of 0.004 WAVES was required for transactions sent from smart account or dApp regardless of the complexity of the account script or the presence and complexity of the dApp script verifier function.
          • For Invoke Script transaction, the minimum fee was increased by 0.004 WAVES for each execution of asset script in payments and script actions.

          Example 1.

          The minimum fee for a Transfer transaction:

          • No smart account or smart assets: 0.001 WAVES.
          • Transfer from smart account*: 0.001 + 0.004 = 0.005 WAVES.
          • Transfer of smart asset: 0.001 + 0.004 = 0.005 WAVES.
          • Transfer of smart asset sent from smart account*: 0.001 + 0.004 + 0.004 = 0.009 WAVES.

          * If the account script complexity is higher than the sender complexity threshold.

          Example 2.

          The minimum fee for an Invoke Script transaction:

          • No smart account, no assets issued: 0.005 WAVES.
          • dApp script invocation is sent from a smart account*: 0.005 + 0.004 = 0.009 WAVES.
          • dApp script invocation issues an asset that is not non-fungible token: 0.005 + 1 = 1.005 WAVES.
          • dApp script invocation is sent from smart account*, and 10 assets that are not non-fungible token are issued: 0.005 + 0.004 + 10 × 1 = 10.009 WAVES.

          * If the account script complexity is higher than the sender complexity threshold.

          A dApp script can issue/reissue/burn assets from activation of feature #15 “Ride V4, VRF, Protobuf, Failed transactions”.

          Transaction type Transaction type ID Minimum transaction fee in WAVES
          Burn transaction 6 0.001
          Create Alias transaction 10 0.001
          Data transaction 12 0.001 per kilobyte
          The size is rounded up to an integer number of kilobytes. Details
          Exchange transaction 7 0.003
          Invoke Script transaction 16 0.005 + K
          K is the number of assets issued as a result of script execution that are not non-fungible tokens.
          Assets can be issued by a dApp script from activation of feature #15 “Ride V4, VRF, Protobuf, Failed transactions”.
          See example 2 above
          Issue transaction 3 • 1 for reqular token
          • 0.001 for non-fungible token
          Lease Cancel transaction 9 0.001
          Lease transaction 8 0.001
          Mass Transfer transaction 11 0.001 + 0.0005 × N
          N is the number of transfers inside of the transaction.
          The value is rounded up to the three decimals
          Reissue transaction 5 0.001
          (Before activation of feature #15 it was 1)
          Set Asset Script transaction 15 1
          Set Script transaction 13 0.001 per kilobyte of script.
          The script size is rounded up to an integer number of kilobytes.
          (Before activation of feature #17 the fee was 0.01)
          Sponsor Fee transaction 14 0.001
          (Before activation of feature #15 it was 1)
          Transfer transaction 4 0.001
          Update Asset Info transaction 17 0.001
          The Update Asset Info transaction type is enabled by feature #15 “Ride V4, VRF, Protobuf, Failed transactions”
          Ethereum transaction 18 • 0,001 if the transaction transfers a token.
          • 0,005 if the transaction invokes a dApp script.
          The Ethereum transaction type is enabled by feature #17 “Ride V6, MetaMask support”

          # Fee in Sponsored Asset

          An issuer of an asset can set up sponsorship — so that any user can specify a transaction fee in this asset for Invoke Script transactions and Transfer transactions.

          To activate sponsorship, the issuer puts a Sponsor Fee transaction that specifies an amount of asset that is equivalent to the minimum fee of 0.001 WAVES. For example, if minSponsoredAssetFee: 5, then the fee in this asset for an Invoke Script transaction equals 5 × 0.005 / 0.001 = 25. See the Sponsored Fee article for details.

          # Fee for Failed Transactions

          Invoke Script transactions and Exchange transactions can be saved on the blockchain even if the result of a dApp script or asset script execution failed. In this case, the sender is charged a fee. For an Exchange transaction, the matcher is charged the transaction fee but the order senders are not charged the matcher fee. For more information, see the Transaction Validation article.

          Saving failed transactions and charging fees for them is enabled by feature #15 “Ride V4, VRF, Protobuf, Failed transactions”.

          Transaction
          Sponsored Fee
          Transaction
          Sponsored Fee