Kaspa One Stop

In brief

Kaspa keeps nearby valid blocks in a blockDAG and uses consensus rules to reason about ordering and accepted effects.

What this page explains#

Virtual state is where ordered consensus consequences become transaction and UTXO evidence for tools and applications. This page sits in Consensus, GHOSTDAG, And blockDAG. 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 explains how Kaspa reasons about many blocks without pretending the graph itself is enough. The flow moves from graph shape, to GHOSTDAG classification and ordering, to virtual state and accepted transaction evidence.

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-VIRTUAL-PIPELINE, RK-UTXO-DIFF, RK-ACCEPTANCE-DATA, RK-GHOSTDAG, RK-TX-VALIDATION. 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 Virtual State And Accepted Transactions, the model is built around these anchors: virtual processing applies accepted transaction effects in consensus context; accepted data is different from mempool presence; UTXO diffs are the state surface later transactions depend on; accepted transaction IDs and accepting-block evidence are storage and RPC-facing review surfaces; KIP and implementation evidence are both needed for ordering commitment claims. 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. virtual processing applies accepted transaction effects in consensus context. Virtual state is the bridge from ordered consensus consequences into the state surfaces that tools can inspect. Mempool visibility says a node is considering a transaction; accepted evidence says the transaction was incorporated through consensus processing. UTXO diffs, accepting data, and indexer replay are the review trail for applications that need durable state.

2. accepted data is different from mempool presence. Mempool and relay behavior describe what a node is willing to hold, replace, forward, or package; they are not final acceptance. Block templates are candidate work for miners, and they can change as node state or policy changes. The guide names each stage separately: built, signed, submitted, admitted, relayed, templated, mined, and accepted.

3. UTXO diffs are the state surface later transactions depend on. This point touches transaction-state vocabulary, but the consensus question is how ordered DAG consequences become accepted state. The page explains whether the claim is about graph ordering, virtual processing, UTXO diffs, indexer observation, or application evidence.

4. accepted transaction IDs and accepting-block evidence are storage and RPC-facing review surfaces. Developer integration pages explain an interface by naming the source object behind it. API, RPC, wRPC, SDK, wallet, and indexer surfaces are useful only when they preserve the fields and evidence that the protocol layer actually defines. Accepted-state evidence, replay behavior, schema choices, and endpoint disagreement must be checked separately.

5. KIP and implementation evidence are both needed for ordering commitment claims. Consensus pages separate graph structure, ordering, work signals, and state consequences. A claim in this section is useful only when it says whether the source is describing the DAG shape, GHOSTDAG classification, selected-parent context, virtual-state processing, or research background.

This mechanism section separates graph structure, GHOSTDAG classification, selected-parent context, ordering consequences, and virtual-state effects. A diagram or summary can orient the reader, but implementation paths and KIPs carry high-risk claims.

How to check it#

StepCheckEvidence gate
1Check virtual processing applies accepted transaction effects in consensus context.Read RK-VIRTUAL-PIPELINE, RK-UTXO-DIFF, RK-ACCEPTANCE-DATA; distinguish graph shape, ordering, selected-parent context, and accepted-state consequences.
2Check accepted data is different from mempool presence.Read RK-VIRTUAL-PIPELINE, RK-UTXO-DIFF, RK-ACCEPTANCE-DATA; distinguish graph shape, ordering, selected-parent context, and accepted-state consequences.
3Check UTXO diffs are the state surface later transactions depend on.Read RK-VIRTUAL-PIPELINE, RK-UTXO-DIFF, RK-ACCEPTANCE-DATA; distinguish graph shape, ordering, selected-parent context, and accepted-state consequences.
4Check accepted transaction IDs and accepting-block evidence are storage and RPC-facing review surfaces.Read RK-VIRTUAL-PIPELINE, RK-UTXO-DIFF, RK-ACCEPTANCE-DATA; distinguish graph shape, ordering, selected-parent context, and accepted-state consequences.
5Check KIP and implementation evidence are both needed for ordering commitment claims.Read RK-VIRTUAL-PIPELINE, RK-UTXO-DIFF, RK-ACCEPTANCE-DATA; distinguish graph shape, ordering, selected-parent context, and accepted-state consequences.

When using this page for consensus explanation, identify whether the claim is about graph shape, GHOSTDAG classification, selected-parent context, virtual-state processing, or transaction consequences. Diagrams are orientation aids; source paths and KIPs carry the high-risk behavior claims.

  • blue-score-and-blue-work
  • consensus-blockdag-ghostdag
  • dagknight-research-edge
Source-linkedReviewed 2026-07-09 · 9 public sourcesEvidence and sources
Evidence and sources9 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.