Transactions are based on the UTXO model. The main feature of the transaction in the platform is witnessGroupId, defining a group of validators (Consilium) and an authorized user (sender transaction).
An example of a transaction is shown below:

message input {
bytes txHash = 1;
uint 32 nTxOutput = 2;}
message output {
possibly here should be uint64 or bytes (BN)
fixed64 amount = 1; payment receiver
bytes receiverAddr = 2; 3
if receiverAddr is AddrContractCreation
bytes contractCode = 3;} message TransactionPayload { uint32 version = 3;
uint32 witnessGroupId = 4;
place it fields
repeated input ins = 1; repeated output outs = 2;} message Transaction {
place here non hashed fields TransactionPayload payload = 1;
repeated bytes claimProofs = 2;}
The general structure of the transaction is shown in the diagram below:
The value of the hash function from Payload is a TransactionHash which is also transaction ID in the Network.