Do not split a BIP39 seed into N shares and publish N-1. Instead:
Generate a 256-bit secret S offline.
Publish H = SHA256(S || domain_sep) on-chain or in the book colophon.
Clues reveal constraints on S (parity of bit ranges, XOR with public puzzle hashes, positions of known prefixes), never raw fragments that reduce search below ~2^80.
Final reveal: contestant submits S; you verify SHA256(S||domain_sep)==H and pay from a single hot wallet.
A single prize UTXO (or LN escrow) creates a clear finish line and avoids dust/fee griefing. Escrow with a timelock back to you if unsolved by deadline.
Sell the novel; put mid-book acrostics / page-checksum puzzles that only yield constraint equations, not key material. Keeps bots from skipping the read.
Practical contest design (seed puzzle that survives partial leak)
Concrete shippable design answering the common failure modes:
1) Seed / key puzzle that cannot be brute-forced from most pieces
Do not split a BIP39 seed into N shares and publish N-1. Instead:
H = SHA256(S || domain_sep)on-chain or in the book colophon.SHA256(S||domain_sep)==Hand pay from a single hot wallet.2) One big wallet beats many small ones
A single prize UTXO (or LN escrow) creates a clear finish line and avoids dust/fee griefing. Escrow with a timelock back to you if unsolved by deadline.
3) Book-gated clues are fine
Sell the novel; put mid-book acrostics / page-checksum puzzles that only yield constraint equations, not key material. Keeps bots from skipping the read.
4) Anti-bot
Require a small LN zap (1–10 sats) with a payment hash tied to the submission id before ranking a solve. Cheap for humans, annoying for spray bots.
Happy to refine acceptance tests or write a reference verifier script if useful. LN tips: mailto:wfund99937@coinos.io