Finality model
Syntarie uses checkpointed finality with bounded reorg depth.
The basics
- Block production: round-robin Proof-of-Authority across the validator set. Block cadence ~1–2 blocks/sec.
- A block becomes finalized when it has
FINALITY_Kdescendants — currently 5 blocks deep. - Finalized blocks cannot be reorged out. The chain reorg depth is bounded by
FINALITY_K.
What "checkpointed" means
Every CHECKPOINT_INTERVAL blocks (currently 256), validators sign a checkpoint commitment. The checkpoint pins the canonical chain at that height. Re-orgs past a signed checkpoint are protocol-rejected.
This is different from probabilistic finality (Bitcoin, Ethereum PoW): once Syntarie commits a checkpoint, the chain past it is provably canonical. There is no "wait 6 blocks for confidence" — wait for the next checkpoint.
Bridge admission gate
The bridge consumes finality. A cross-domain message from Base is admitted only when the Base block referenced has domain_required_finality_depth descendants (configured per-domain, default 12 for Base mainnet).
Conversely, a withdrawal from Syntarie to Base requires the Syntarie block to be finalized (≥ FINALITY_K descendants) before the proof is generated.
What's verified about it
- 60-min sustained baseline (HETZNER-1 closure 2026-04-25): no reorgs observed under load, validator set held quorum throughout.
- Foundry tests pin signature-quorum + replay protection on the Base side (
ProofVerifier.t.sol,BridgeVault.replayProtection.t.sol). - Crucible regression tests pin RecoveryFsm and chain-store recovery behavior at finality boundaries.
What's NOT in scope
- No fork-choice rule beyond round-robin. There's no GHOST, LMD-GHOST, or Casper FFG.
- No PoS slashing.
- No light-client bridge — finality on the Base side is observed via a trusted-prover quorum, not verified on-chain.
- No state proofs to other chains — finality is observable only via the bridge's admission/proof path.
Source pointers
interface/src/core/params.rs—FINALITY_K,CHECKPOINT_INTERVALconstantsinterface/src/core/chain.rs— finality state machineinterface/src/core/checkpoint.rs— checkpoint commitmentinterface/src/core/bridge.rs— domain finality gate (search fordomain_required_finality_depth)ops/bridge-base/contracts/ProofVerifier.sol— Base-side proof verification