$PACK and Binder
Binder team draw
30 of the 1,000 Binders go to the team: #100, #15, #67, #86, and 26 numbers drawn from #2–#99. #1 stays public. This page shows how the 26 numbers are drawn so that anyone can check that nobody chose them.
The commitment
| Commit, sha256 of a 32-byte secret | cb083b4361e044567ad1af7eba6658cda0215c9d8c93bef1d95ea9a38bc33a60 |
|---|---|
| Solana mainnet slot | 467311000 |
The secret was fixed before the commitment was published. The slot's blockhash does not exist yet when the commitment goes out, and nobody at Pack controls it. Together they decide the draw, so neither side can steer the result.
The draw, step by step
- After slot 467311000, Pack publishes the secret (32 bytes, hex). Check that sha256(secret) equals the commit above.
- Take the blockhash of slot 467311000 from any Solana explorer or RPC node. If that slot has no block, use the first later slot that has one. Decode it from base58 to 32 bytes.
- seed = sha256(secret ‖ blockhash), 64 bytes in.
- Candidates: #2 to #99 without #15, #67 and #86, in ascending order. That is 95 numbers.
- Start a counter c at 0. For i = 0 to 25: let n = 95 − i. Take x as the first 8 bytes of sha256(seed ‖ c as a 4-byte big-endian number), read as a big-endian 64-bit number, then add 1 to c. If x is at least n × floor(2^64 / n), take a new x the same way; this keeps every number equally likely. Let r = x mod n and swap candidates[i] with candidates[i + r].
- The first 26 candidates are the drawn numbers. The team numbers are those 26 plus #15, #67, #86 and #100.
Test vectors
Use these to check your own implementation before the real draw.
| Secret (hex) | Blockhash (hex) | Drawn numbers |
|---|---|---|
00 × 32 | 01 × 32 | 4, 6, 7, 14, 17, 18, 25, 26, 31, 33, 43, 45, 49, 50, 57, 58, 60, 61, 65, 68, 82, 88, 91, 92, 94, 96 |
00112233445566778899aabbccddeeff × 2 | ff × 32 | 5, 9, 14, 20, 21, 22, 36, 40, 42, 44, 46, 49, 50, 52, 54, 62, 68, 70, 72, 75, 76, 80, 85, 87, 91, 99 |
The seeds of the two vectors are 5c85955f709283ecce2b74f1b1552918819f390911816e7bb466805a38ab87f3 and 942dfdc9962290de66dd80c0e666136b43674dd6e51d0d3e01fff9da40c22889.
After the draw
The secret, the blockhash used, the 26 drawn numbers and the full list of 30 team numbers are published on this page and on @packprotocol. The Binder program records the same 30 numbers, so anyone can compare them. Team Binders are normal Binders, minted free to the Treasury 3rJrWzAFRKQoVJTEf3m9qoCEskrZoPQ1KekrMc7vubqx. → Binder