Prototype docs. APIs may change while SDKs and verifier libraries harden.
Stake + weights
Stake is the BTC-backed weight behind a bond.
Char uses stake snapshots so leader selection and quorum checks are deterministic for a block context.
More active stake means more proposal weight. New stake does not count immediately; it becomes active through the snapshot schedule.
Stake output
For anchor id a and selected earliest-spend delay M, the stake output is:
tr(I_a, { punish, redeem })
I_a = TapTweak(NUMS_H, a)
N = M + 144
punish = <M> CHECKSEQUENCEVERIFY DROP <anchor_output_key> CHECKSIG
redeem = <N> CHECKSEQUENCEVERIFY DROP <stake_redeem_key> CHECKSIG
The configured duration is M, the earliest any stake spend can be valid. Ordinary redemption is delayed to N, 144 blocks later. The interval is an exclusive punishment window measured in blocks, not wall-clock time.
The punishment key is the anchor's leakable Taproot output key. Punishment spends use SIGHASH_NONE|ANYONECANPAY, allowing the transaction to be prepared independently of its final outputs and other inputs. The reference helper leaves the stake value as transaction fee, but the tapscript does not constrain the destination. Renewal and sweep transactions reveal the redemption leaf and use the separately derived redemption key at N.
A punishment-path transaction may immediately redeposit into one or more recognized stake outputs, without waiting for N, and avoid POINT reward disqualification only when it preserves stake value for each anchor separately: for every anchor, that anchor's stake-output value is at least its stake-input value. Any increase must be funded by other transaction inputs. Outputs for a different anchor cannot preserve the punishment input's stake. A zero-output or reduced-value punishment transaction remains a slash.
For connected, consensus-valid blocks, the bond index classifies a stake spend from the exact tapscript leaf in the witness. The punishment leaf records a SLASH event; the redemption leaf is an ordinary exit and does not disqualify POINT rewards.
For wallet automation, see /docs/guides/stake-auto-manager.