8. Crypto-agility: scheme schedules
Each network defines, for every scheme: activation_height, an optional no_new_outputs_height,
and an optional retire_height.
| Phase | Heights | New outputs | Spends |
|---|---|---|---|
| active | [activation, no_new_outputs) | ✓ | ✓ |
| sunset | [no_new_outputs, retire) | ✗ | ✓ (holders migrate) |
| retired | [retire, ∞) | ✗ | ✗ |
- A scheme missing from the schedule is invalid for both outputs and spends.
- Coinbase outputs are subject to the output rule.
- Process:
- Adding a scheme is a scheduled network upgrade; every node must upgrade before its activation height.
- Sunsetting or retiring a scheme only restricts, so it is a soft fork. It MUST be announced at
least one full migration window before
no_new_outputs_height, and the sunset phase MUST last at least 6 months of blocks (131,400 at 120 s). - Because locks publish their scheme byte or mask, wallets and explorers can show exposure precisely.
Current schedule:
- All networks: ML-DSA-65 and ML-DSA-87 active from height 0, with no sunset.
- Regtest only: FN-DSA-512 also active from height 0. It is provisional (§3.1), and testnet and mainnet will schedule it through a network upgrade once FIPS 206 is final.