Found the circle
Define the members and the money. Each member is a bech32m
prl1…/tprl1… address, a 64-hex x-only key, or a BIP-39
mnemonic (converted locally to its key). One line per member:
Name | address-or-key-or-mnemonic
Setup descriptor
Share this with every member before the lottery. It pins the members, the money, and the rules — anyone can re-derive it and check the fingerprint.
fingerprint · setup hash
Commit-reveal lottery
Each member generates a random 32-byte secret and publishes
sha256(secret). Once every commitment is public, secrets are revealed
and the payout order is computed deterministically — late reveals cannot change
anyone else's odds because every commitment was already locked in.
| # | Member | Secret (keep private until reveal) | Commitment (publish this) |
|---|
Publish commitments
Send every member's commitment to the group before anyone reveals. Paste the published set here to lock the draw:
Reveal
After all commitments are public, each member reveals their secret. Paste the reveals here:
Payout order
order
If a member never reveals, the draw cannot run — do not fund. Funded rounds can be recovered through the timeout refund leaf after its lock height.
Fund the rounds
Each round's pot address is a Taproot escrow: the winner's claim leaf plus an m-of-n timeout refund leaf under a NUMS internal key (no keypath backdoor). Every member sends exactly the contribution to each round address.
| Round | Pot address | Each pays | Winner | Opens @ | Refund @ |
|---|
Verify funding on-chain
Reads each round address from Blockbook (third-party — can lag). A full pot means the round is claimable by its winner.
| Round | Balance | Pot | Status |
|---|
Claim & refund
The round winner claims the whole pot through the claim leaf. If a round stalls, any m members sign one refund template through the timeout leaf.
Winner claim
Timeout refund (m-of-n)
Track the circle
Paste a descriptor (and the payout order, if drawn) to re-derive every round address and classify it against Blockbook.
| Round | Address | Winner | Balance / pot | Status | Refund unlocks |
|---|