Users can build and release unique crypto tokens using the Waves blockchain.
Waves make it possible to create and exchange cryptocurrency tokens without writing lengthy smart contract codes. Instead, programs that run in user accounts can create and manage tokens on the Waves blockchain.
The idea is that the launch of new tokens (and the programs that manage them) shouldn’t deviate too much from the launch of a typical web service.
To accomplish this goal, programs, and applications are initiated as part of these transactions, and distinctive identifiers are assigned to any new assets that are created. Scripts can only be added when the asset is created.
The ecosystem includes a built-in decentralized exchange called Waves. An exchange that enables trading between tokens created on the blockchain and other WAVES tokens. These assets are intended to be traded within this ecosystem.
The team enhanced the Waves MainNet with smart contract capability in 2018, allowing other parties to create decentralized applications (apps). Additionally, the platform’s developers started marketing Waves Enterprise in 2019, a network variant intended for universities.

Transaction fee
An account owner must pay a charge to send a transaction. Any charge amount can be specified by the sender, but it cannot be less than a minimum amount. The transaction will be included in the new block more quickly the higher the fee is.
A sender can provide a transaction fee nominated in a sponsored asset in place of WAVES for an Invoke Script transaction and Transfer.
Minimum Fee
The minimum fee increases by 0.004 if the transaction sender is a smart account or dApp and its script verification function exceeds the sender complexity limit. The minimal charge is unaffected whether the order sender in an Exchange transaction is a dApp or smart account.
Except for invoke scripts and smart assets used as matcher fees in exchange transactions, the minimum charge is increased by 0.004 WAVES per smart asset.
Example 1
The least expensive fee for a Transfer transaction is:
0.001 WAVES: No smart assets or smart accounts.
0.001 + 0.004 = 0.005 WAVES are transferred from the smart account.
Smart asset transfer: 0.001 + 0.004 = 0.005.
Smart asset transfer: 0.001 + 0.004 + 0.004 = 0.009 WAVES sent from the smart account.
Example 2
The smallest transaction charge for an Invoke Script is:
0.005 WAVES: No smart account, no assets issued.
A smart account sends the following command to the dApp script: 0.005 + 0.004 = 0.009.
An asset that is not a non-fungible token is produced by the activation of the dApp script: 0.005 + 1 = 1.005 WAVES.
10 assets that are not non-fungible tokens are issued when the dApp script is invoked from the smart account: 0.005 + 0.004 + 10 1 = 10.009.
The fee is sponsored asset
An asset’s issuer can set up sponsorship, which enables any user to define a transaction cost in this asset for Transfer and Invoke Script operations. The issuer enters a Sponsor Fee transaction that specifies the number of assets equal to the minimum fee of 0.001 to initiate sponsorship. The fee in this asset for an Invoke Script transaction, for instance, would be 5 0.005 / 0.001 = 25 if minSponsoredAssetFee is 5.
Fee for failed transactions
Even if the execution of a dApp script or asset script fails, the outcomes of invoke scripts and exchange transactions can still be recorded on the blockchain. In this particular case, the sender is the one who is billed. When there is a transaction on an Exchange, the matcher is the one who is responsible for paying the fee associated with the transaction. Order senders are not responsible for paying the cost associated with the matcher.