Toccata 101 · Part 1 · card 2

Transaction

inputs, outputs, signatures, fee, all or nothing

  1. 1Input. An existing UTXO from a past transaction, ready to be used.
  2. 2Signature. A proof, made with the spender's private key (seed), that authorizes using this UTXO.
  3. 3Output. The brand-new UTXO(s) created from the combined inputs, representing the payment to the receiver, and any change back to the sender.
  4. 4Change. An output that comes back to the sender's own address: what's left from the inputs after the payment and the fee.
  5. 5Fee. Input minus output, goes to the miner who placed the transaction inside a block in the network.
  6. 6Node verification. Every node independently verifies that every input UTXO is authentic and unspent, then updates the global ledger: those inputs are "destroyed" and the new outputs are created.

Sources

In rusty-kaspa a transaction is a version, a list of inputs, a list of outputs, a lock time and a few more fields. An input is a previous outpoint (transaction id and index), a signature script and a sequence. An output is a value and a script public key (consensus/core/src/tx.rs). A node checks a transaction on its own (input and output counts, no duplicate inputs, value ranges: tx_validation_in_isolation.rs) and against the UTXO set (every input must exist and be unspent, total out may not exceed total in, fee = in minus out, the script of every input is run: tx_validation_in_utxo_context.rs). Read at release v2.0.1. The transaction shown was read from the public Kaspa API on 4 September 2026 and is linked in its header.