Testnet (every transition below ran in KE5DFF4PDA and K7GHHBC4GP, except cancelled, which is Tested).
Auction states
States are the Postgres enumauction_status in migrations/20261007000000_init.sql. Allowed transitions are sealforge_coordinator::lifecycle::can_transition (crates/sealforge-coordinator/src/lifecycle.rs).
settled and cancelled are terminal (lifecycle::tests::terminal_states_have_no_exits).
Height rules
Why 10 confirmations. Closing fixes the bid set, and the result is computed once. Waiting 10 blocks past the last counting height means a reorg shallower than 10 blocks can’t add, drop or reorder an in-range payment after the result exists. 10 blocks is about 4 minutes at the 25 s testnet spacing and 12.5 minutes at 75 s. It is a policy choice, not a consensus finality bound. A deeper reorg after close is not handled (11 Open questions).
Batch states
Each refund batch and the payout is a row intx_batches with the enum batch_status.