RNG for games on Robinhood Chain

A game contract cannot safely roll from values already known in the same transaction. Torinox Protocol supplies a later, verifiable bytes32. The game maps that word into faces, loot rows, or seat assignments in deterministic code.

Live parameters
NetworkRobinhood Chain mainnet
Chain ID4663
Oracle (TorinoxEntropy v10)0xd8a0680e7699526b57140ed4eafdcc7219dc0a0c
Provider / keeper0x8741b8a825644D9Ef18Faf2DAB5e9b47B900F2b6
Feeexact 0.000025 ETH via getFeeV2()
Refund delay6 L1 blocks (~60-90s)
Hash chain length500,000 registered
SDK@diceprotocol/sdk
Agent paid path$0.05 USDG fixed over x402

Pattern

  1. Player action calls your game function and pays the exact Torinox fee (or you forward it).
  2. Game stores the request sequence and any inputs that must stay fixed.
  3. Game implements IEntropyConsumer and maps the callback word: (uint256(random) % 6) + 1 for a d6.
  4. If the reveal never arrives, the original requester refunds after 6 L1 blocks.
function entropyCallback(uint64 seq, address, bytes32 random) internal override {
    uint256 face = (uint256(random) % 6) + 1;
    results[seq] = face;
}

Weighted loot uses the same word: uint256(random) % totalWeight, then walk the published table. Publish the table before the request.

Full samples: /docs/quickstart/. Verification: /docs/verification/.

Home · RNG for Robinhood Chain · Docs · Architecture · Security · SDK · x402 · GitHub