Provable Fairness
Understand how Phygitals uses a cryptographic commit-reveal scheme to ensure every pack opening and card distribution is provably fair and independently verifiable.
Overview
Our provable fairness system is designed to be verifiable and transparent, allowing you to independently confirm that outcomes were not manipulated. Every pack opening on the platform uses a provably fair system that allows you to independently verify that the outcome was determined fairly and was not manipulated by anyone, including Phygitals itself.
Our system is built on a cryptographic commit-reveal scheme combined with transparent algorithm disclosure. Before you open a pack, the outcome is already determined by a combination of a server-generated seed and a client-generated seed. Neither party can alter the result after the seeds are committed. After the reveal, you can verify the entire process yourself.
How It Works
The provable fairness system works through a three-phase process:
Commit phase - Before you open a pack, the server generates a secret seed and publishes a hash (a one-way cryptographic fingerprint) of that seed. This hash is your proof that the server committed to a specific value before you made any choice. The server cannot change its seed after publishing the hash without the change being detectable.
Reveal phase - When you open the pack, a client seed (unique to you and the transaction) is combined with the server seed using a publicly disclosed algorithm to determine which cards you receive. The pack opening animation reveals your cards.
Verification phase - After the reveal, the original server seed is disclosed to you. You can then hash it yourself and confirm it matches the hash that was committed before the opening. You can also re-run the algorithm with both seeds to confirm the exact outcome matches what you received.
This three-phase approach ensures that the server cannot predict or control your client seed, and you can prove the server did not change its seed after the fact.
Server Seed
The server seed is a random value generated by the Phygitals server for each pack opening. Here is how it is used:
Before the pack is opened, the server creates a unique random seed.
The server computes a SHA-256 hash of this seed and makes it available to you. This is the server seed hash.
The actual server seed is kept secret until after the pack opening is complete.
Once the opening is finished, the server seed is revealed. You can hash it yourself (using any SHA-256 tool) and confirm the result matches the previously published hash.
Because cryptographic hash functions are one-way (you cannot derive the original value from the hash), the server cannot change its seed after committing the hash. If the hash of the revealed seed does not match the committed hash, the result would be provably tampered with.
Client Seed
The client seed introduces user-side randomness into the outcome determination. This ensures that Phygitals alone does not control the result.
A client seed is generated for each pack opening, unique to you and the specific transaction.
The client seed is combined with the server seed in the fairness algorithm to produce the final outcome.
Because the server has already committed its seed hash before the client seed is generated, the server cannot adapt its seed in response to your client seed.
The combination of server-side and client-side randomness, with a pre-committed server hash, is the foundation of provable fairness. Neither party acting alone can predetermine or manipulate the outcome.
Verification Process
After opening a pack, you can verify the fairness of the result by following these steps:
Retrieve your proof data - Visit the /fairness page on Phygitals. All of your past pack openings are listed with the corresponding server seed hash, revealed server seed, client seed, and the resulting card allocation.
Verify the server seed hash - Take the revealed server seed and compute its SHA-256 hash using any tool of your choice (command line, online hash calculator, or a script). Compare the computed hash to the server seed hash that was committed before the opening. They must match exactly.
Replay the algorithm - Using the disclosed algorithm (see below), combine the server seed and client seed to independently compute the outcome. The result should match the cards you received.
Confirm your cards - Compare the algorithmically determined card allocation with the actual cards delivered to your account. They should be identical.
If any step produces a mismatch, it would indicate a potential issue with that specific opening. You can contact our support team with the proof data for investigation.
Algorithm Transparency
The algorithm used to determine pack outcomes from the combined seeds is fully disclosed. Transparency of the algorithm is a core component of provable fairness - without it, seed verification alone would be insufficient.
The algorithm takes the server seed and client seed as inputs.
It produces a deterministic result: the same pair of seeds will always produce the same card allocation.
The algorithm logic is publicly documented so that anyone can implement their own verification.
The card pool and rarity distributions for each pack tier are defined before the opening and are part of the provable record.
By disclosing the server seed, client seed, and the algorithm itself, we give you everything needed to independently and fully verify any pack opening result without relying on trust.
Viewing Your Proofs
All fairness proofs for your account are accessible from the /fairness page. For each past pack opening, you will find:
Server seed hash - The hash committed before the opening.
Server seed - The actual seed revealed after the opening.
Client seed - The client-side seed used for that specific opening.
Result - The cards allocated and the order in which they were revealed.
Timestamp - When the pack was opened.
You can review your proofs at any time. We recommend periodically verifying your results, especially for high-value pack openings, to build confidence in the system.
Proofs are retained indefinitely and remain accessible as long as your account exists on the platform.
Contact
If you have questions about provable fairness, need help verifying a specific pack opening, or believe you have found a discrepancy, please reach out to us.
Support: [email protected]
Legal: [email protected]
Last updated
Was this helpful?