Post the bounty
Forge the bounty contract. The poster key signs awards and reclaims — paste it to sign in this browser, or stay watch-only and sign elsewhere.
Bounty contract
The address is deterministic: same poster key + deadline always forges the same contract. Share the descriptor with hunters; fund the address with any PRL wallet.
fingerprint
Contract leaves
award :
reclaim:
Fund & watch
Fund the bounty address with any PRL wallet, then watch for the funding here (GET-only Blockbook reads — the page never asks for keys on this step).
| txid | vout | value (PRL) | confs | contract ✓ |
|---|
Hunt — commit & reveal
Hunters: commit to your solution before revealing it. The commitment binds your handle, the bounty descriptor, the solution, and a random salt — a copycat can't replay your reveal under their own name. Keep the solution + salt secret until you reveal to the poster out-of-band.
Make a commitment
Submission board (this browser only)
| handle | commitment | revealed | recorded |
|---|
Verify a reveal
Poster: when a hunter reveals their solution + salt, check it against their published commitment.
Award the hunter
The poster's signature is the award decision. Spend one bounty UTXO: pay the winner (full pot or a partial award — the remainder returns to your change address). The signature is re-verified before the hex is shown.
Reclaim after the deadline
Past the deadline height, the poster can unilaterally reclaim the pot through the CLTV leaf (nLockTime = deadline). Refused loudly before the deadline — a premature reclaim is invalid on-chain.
Verify
Two standalone verifiers. They recompute everything from the descriptor/spec and refuse loudly on any mismatch — never trust, always re-derive.
Descriptor check
Transaction check
Paste a bounty spec and a transaction hex — the verifier confirms a bounty input spends through the award or reclaim leaf with the right control block (and, for reclaims, nLockTime = deadline).