Kaspa One Stop

In brief

Transaction evidence moves through layers: wallet intent, node or mempool response, block inclusion, virtual processing, and accepted UTXO effects.

What this page explains#

Sighash defines what a signature commits to and is one of the highest-risk wallet/developer surfaces. This page sits in Transactions, UTXO, Fees, And Mempool. It gives the topic a plain-language handle first, then shows the working idea, the mechanism, the source trail, and any limits that still matter. This category follows a transaction from ownership model to structure, signing, validation, mempool admission, template selection, and accepted-state evidence. The main danger it prevents is collapsing all transaction states into one word.

The writing follows a simple Kaspa documentation pattern: answer the practical question first, then link outward for details. The closest public sources for this page are RK-SIGHASH, RK-SIGHASH-TYPE, RK-HASH-TX, RK-WALLET, DOC-TOCCATA-TX-V1. Local notes can help choose what to explain, but public-facing references resolve to upstream websites, repositories, papers, release pages, or docs.

How to think about it#

The practical model starts by naming the layer that owns the topic: wallet use, node operation, consensus, transaction validation, Toccata script behavior, tooling, or research. From there, the page shows which public source can support the explanation and where the explanation becomes incomplete.

For Sighash And Signing Commitments, the model is built around these anchors: signers need populated UTXO context; hash type changes what is covered; v1 compute budget is not the same signing-scope surface as legacy sigOp count; previous outputs, sequences, outputs, payload, subnetwork, gas, scripts, and values can matter; wallet review should compare unsigned intent, signed bytes, decoded transaction, txid, and accepted evidence. This model is useful, but it does not encode every constant, branch, error type, or edge case. Those details belong in the source path and the source notes.

How it works#

1. signers need populated UTXO context. Signing is a commitment boundary. A wallet or SDK can construct intent, but a signature only authorizes the fields covered by the signing algorithm and available UTXO context. The review must confirm that versioned fields, previous outputs, sequences, payloads, gas, covenant data, scripts, values, and hash-type choices are not silently lost before or after signing.

2. hash type changes what is covered. Signing is a commitment boundary. A wallet or SDK can construct intent, but a signature only authorizes the fields covered by the signing algorithm and available UTXO context. The review must confirm that versioned fields, previous outputs, sequences, payloads, gas, covenant data, scripts, values, and hash-type choices are not silently lost before or after signing.

3. v1 compute budget is not the same signing-scope surface as legacy sigOp count. Resource accounting needs its own explanation because size, compute, storage, budget, script units, and fee pressure are not the same thing. A transaction may be structurally understandable and still fail admission or validation if the resource rule is violated. The source path for these claims is usually mass, script pricing, validation, and mempool policy together.

4. previous outputs, sequences, outputs, payload, subnetwork, gas, scripts, and values can matter. Toccata-era transaction fields are application surfaces, so the guide must trace them through structs, serialization, hashing, signing, RPC, wallet tooling, mempool policy, and accepted evidence. The risk is not only invalid construction; it is a tool silently dropping or misunderstanding a field that the application relies on.

5. wallet review should compare unsigned intent, signed bytes, decoded transaction, txid, and accepted evidence. A txid is the identifier most readers see first, but it is not automatically the same as every hash or digest a node uses internally. The page explains when a txid is suitable for references and when the review must switch to full-hash, payload digest, sighash, or serialization evidence.

This mechanism section follows a transaction through construction, identity, signing, validation, mempool policy, block templates, and accepted evidence. The stage must be named before the claim is reused.

How to check it#

StepCheckEvidence gate
1Check signers need populated UTXO context.Use RK-SIGHASH, RK-SIGHASH-TYPE, RK-HASH-TX; name the stage: built, signed, validated, admitted, templated, mined, or accepted.
2Check hash type changes what is covered.Use RK-SIGHASH, RK-SIGHASH-TYPE, RK-HASH-TX; name the stage: built, signed, validated, admitted, templated, mined, or accepted.
3Check v1 compute budget is not the same signing-scope surface as legacy sigOp count.Use RK-SIGHASH, RK-SIGHASH-TYPE, RK-HASH-TX; name the stage: built, signed, validated, admitted, templated, mined, or accepted.
4Check previous outputs, sequences, outputs, payload, subnetwork, gas, scripts, and values can matter.Use RK-SIGHASH, RK-SIGHASH-TYPE, RK-HASH-TX; name the stage: built, signed, validated, admitted, templated, mined, or accepted.
5Check wallet review should compare unsigned intent, signed bytes, decoded transaction, txid, and accepted evidence.Use RK-SIGHASH, RK-SIGHASH-TYPE, RK-HASH-TX; name the stage: built, signed, validated, admitted, templated, mined, or accepted.

When using this page for a transaction claim, name the stage precisely: built, signed, validated, admitted to a mempool, included in a template, mined, accepted, or reflected in a UTXO change. Each stage has a different evidence surface and should not be collapsed into a single success word.

  • 04-transaction-id-and-hash-contexts
  • transactions-utxo-mempool
  • 06-mass-fees-and-storage-mass
Source-linkedReviewed 2026-07-09 · 10 public sourcesEvidence and sources
Evidence and sources10 public sources · reviewed 2026-07-09
Rusty Kaspa Acceptance DataRusty Kaspa source
github.com/kaspanet/rusty-kaspa/blob/78257f273a26c4be085bab0f79437dee99ca8835/consensus/src/pipeline/virtual_processor/processor.rsgithub.com/kaspanet/rusty-kaspa/blob/78257f273a26c4be085bab0f79437dee99ca8835/consensus/core/src/acceptance_data.rsgithub.com/kaspanet/rusty-kaspa/blob/78257f273a26c4be085bab0f79437dee99ca8835/consensus/src/model/stores/acceptance_data.rs
Technical details

Reference key: RK-ACCEPTANCE-DATA

Recheck this public source before relying on exact current details.