wave-sineHow to know that it is truly random?

Provably Fair Node Generation

Hashed uses a fully on-chain, provably fair randomness system to ensure that all random outcomes are transparent and cannot be manipulated.

All randomness is generated by a Solana program using immutable blockchain data. This makes node stats, fusion results, cooldowns, and events verifiable by anyone.

Where Randomness Is Used

Node Building: hashrate, passive skill chance, skill type, skill power Node Fusion: fused node stats and preserved skills Extraction Cooldowns: random cooldown between 15–30 minutes Other Events: any mechanic that requires randomness

How It Works

  1. You perform an action that requires randomness.

  2. A unique client seed tied to your account is used.

  3. You sign a transaction that calls the on-chain randomness program.

  4. After confirmation, random values are generated from:

  • Transaction slot

  • Timestamp

  • Your wallet address

  • Your client seed

  1. A commitment hash is written on-chain as proof of fairness.

  2. The generated values are applied to the game mechanic.

circle-check

In order to check randomness for nodes, go to Command, click on your node and shield icon, it will open the node and skills details, look for the tick near Randomness verified.

For the Events randonmness go to Command - Grid - scroll down and at the bottom of the screen you'll see the Activity Log. You can verify randomness by clicking on any event there.

The blockchain itself acts as the source of randomness, ensuring full transparency.

Randomness Program Address:

RanDoMq6rUpzXXN672CGhFwE16txSAaqqCJY3QRyEpE


Verifying Randomness

The randomness program computes a commitment hash from the generated random values and logs it on-chain in the transaction.

This commitment is computed as SHA256(random_values + num_attributes) and encoded as base58.

Since the random values are derived from immutable blockchain data (slot, timestamp, your public key) combined with your client seed, neither you nor the server can predict or manipulate the outcome before the transaction is confirmed. The blockchain itself becomes the source of randomness.

After any action that uses randomness, you can verify fairness by:

  • Taking your transaction signature

  • Deriving the random values using the same algorithm (combining slot, timestamp, your public key, and client seed)

  • Recomputing the commitment hash from the derived values

  • Verifying it matches the commitment hash logged in the transaction

If the commitment hashes match, this proves that the random values were generated fairly from blockchain data and were not manipulated.

The same transaction signature will always produce the same random values, ensuring complete transparency and verifiability.

circle-info

You can use our script to verify randomness by DMing us, we will provide the Github link for the script.

Deterministic Generation

All random values are derived deterministically from immutable blockchain data. The same transaction signature will always produce the same random values, which means:

  1. The randomness is unpredictable before transaction confirmation (depends on slot/timestamp)

  2. The randomness is verifiable after confirmation (anyone can derive values from the transaction signature)

  3. The randomness is immutable (blockchain data cannot be changed)

  4. All game mechanics (node properties, cooldowns, fusion outcomes, etc.) are mapped deterministically from these random values using fixed formulas. (This ensures that the same random values always produce the same outcomes, and the mapping is transparent and auditable.)

Last updated