@octane-rgs/fairness
v1.0.9
Published
Provably fair RNG and audit tooling for Octane RGS
Readme
@octane-rgs/fairness
SDK for provably fair RNG generation, seed reveal, and audit tooling for Octane RGS. It also keeps the lightweight round-operation helpers used by live or external services that need explicit settlement.
Install
npm install @octane-rgs/fairnessQuick Start — Live Games
For live games where the external game server controls the round lifecycle:
import { OctaneFairnessClient } from "@octane-rgs/fairness";
const rgs = new OctaneFairnessClient({
baseUrl: "https://staging.octanestudios.ai",
apiKey: "your-api-key",
});
// Fetch floats from the RGS
const { values } = await rgs.fetchRng({ roundId, count: 6 });
// Update round data with game results
await rgs.updateRoundOutcome(roundId, { grid: [[1, 2, 3]], winLines: [0] });
// Settle the round explicitly
await rgs.settle({
roundId,
gameType: "roulette",
closeRound: true,
multipliers: [{ betOption: "red", multiplier: 2 }],
});API
OctaneFairnessClient
| Method | Description |
|--------|-------------|
| settle(params) | Settle a round explicitly (live games) |
| updateRoundOutcome(roundId, data) | Store game outcome data on a round |
| fetchRng(params) | Fetch provably fair random numbers from the RGS (live games) |
| revealSeed(params) | Reveal server seed for verification |
RNG (re-exported from @octane-rgs/rng)
| Function | Description |
|----------|-------------|
| createFloatGenerator(serverSeed, clientSeed, nonce) | Create a stateful generator yielding floats in [0, 1) |
| createFloatGenerator(seed) | Same, accepts a Seed object |
| verify(serverSeed, clientSeed, nonce, count) | Reproduce N floats + server seed hash for verification |
| hashSeed(serverSeed) | SHA-256 hash of a server seed |
Types (re-exported from @octane-rgs/rng)
| Type | Description |
|------|-------------|
| Seed | { serverSeed, clientSeed, nonce } |
| FloatGenerator | { generateFloat(), generateFloats(count) } |
| VerifyResult | { values, serverSeedHash } |
