Why verifiable randomness matters
In a pack opening product, the operator could in principle manipulate which card a draw produces. A verifiable procedure removes that possibility:- The random value that decides your pull is fixed by a commitment made before the draw, not chosen by a private server at draw time.
- The result comes with a cryptographic proof that the value was generated correctly and was not chosen or altered after the fact.
- Anyone with the proof can check it, without trusting Jupiter or the provider.
Collector Crypt packs: on-chain VRF
Draws on Collector Crypt packs run through Collector Crypt’s verifiable randomness function, implemented as an on-chain program on Solana. The random value is generated by the program, the proof is recorded on Solana, and anyone can check it on-chain. Each of these openings has an associated on-chain transaction and randomness proof. To verify a draw, open Collection, go to the Activity tab, select one of your openings, and click Verify to see the randomness proof and the related on-chain details for that draw. For technical details on the VRF implementation, refer to cc-vrf, Collector Crypt’s permissionless on-chain VRF for Solana implementing RFC 9381 ECVRF.Phygitals packs: commit-reveal
Draws on Phygitals packs run through Phygitals’ commit-reveal scheme, documented on its provable fairness page:- Commit. Before the pack is opened, Phygitals’ server generates a secret seed and publishes its SHA-256 hash.
- Reveal. When you open the pack, a client seed unique to you and the transaction is combined with the server seed by a publicly disclosed algorithm to determine which card you receive.
- Verify. Phygitals then discloses the server seed, so that anyone can hash it, compare the hash with the published commitment, and replay the algorithm to confirm the outcome.

