1
commit
First commitment
On-chain message announces the draw and its rule, timestamped.


Verify a draw
The only thing we control is when we launch the procedure. Every value used after that is public and fixed in sequence.
On-chain message announces the draw and its rule, timestamped.
A later block picks the snapshot moment. We can't control it.
Holders are listed from public data at that moment.
List hash and future block committed. No one knows the winner yet.
~1 minute later, a public calculation derives the winner.
The card NFT goes to the winning wallet.
Every draw points to the one before it, forming a continuous on-chain chain. A discarded draw leaves a visible gap. A re-run creates two branches. The verification script detects both.
The verification code is public. Read it, check it, or have someone you trust review it.
View the code on GitHubView on GitHubNo account, no key, no sign-up needed to read it.