A transaction is a set of operations (one or more) that must be performed together. When a transaction is executed, operations are executed one by one as listed.
When all operations can be performed successfully, the transaction will complete successfully. Should any operation fail, all operations are reverted back and the transaction will finish executing as failed.
There are three types of operations:
Transfer moves some value from one wallet to another within the same project.
Issue operation increases the wallet balance by creating an amount of value. It’s used when it’s necessary to absorb value from outside the system.
Redeem decreases one wallet's balance by eliminating some amount of value. It reflects asset consumption or moving some value out of the system.
Feel free to include operations with wallets holding one or more assets in one transaction.
By combining operations, it is possible to implement various complex scenarios, such as:
Transferring value from one customer to another and collecting a fee for this operation.
Implemented as two transfer operations. 1. The value is moved to a wallet belonging to the target customer. 2. The fee is charged to the system wallet.
Exchanging one asset for another (currency exchange, etc).
Implemented as one redeem and one issue operation.
Splitting the bill.
Implemented as transfers from a number of parties to one target wallet.
And much more...
You can initiate a new transaction or view transaction details through UI or the API.
Note: UI allows you to bundle up to 5 operations within one transaction. Use the API for more.