Confirmation Semantics and Finality Boundaries
WAproxy separates broadcast success from confirmation finality.
Broadcast success means:
- transaction accepted by local node
- transaction propagated to mempool
Confirmation means:
- transaction included in a block
- block depth >= required confirmations
WAproxy does not assume immediate finality.
Execution layers:
1. Broadcast Layer
- returns txid
- does not guarantee inclusion
2. Confirmation Layer
- tracks block depth
- evaluates confirmation threshold
Applications must define:
required_confirmations >= 1
Example policy:
low-value payment:
required_confirmations = 1
high-value payment:
required_confirmations = 3 or more
wallet_balance behavior:
- unconfirmed outgoing reduces available balance
- confirmed outgoing finalizes deduction
WAproxy does not enforce confirmation policy.
It exposes transaction state deterministically.
Finality belongs to application logic.
WAproxy transports value.
Confirmation defines settlement certainty.