What problem does it solve?
Enables onchain games to obtain cheap, provable randomness within a single transaction so game outcomes like loot, dice rolls, and procedural events are deterministic, verifiable, and gas-efficient.
Core Features & Use Cases
- Atomic In-Transaction Randomness: Request and verify randomness within the same transaction to eliminate race conditions and external oracle delays.
- Source Flexibility: Supports nonce-based sources (per-address nonces) and salt-based sources for repeatable or varying seeds.
- Integration Guidance: Explains the required multicall ordering (request_random must be first), contract consumption patterns, and Controller policy entries to permit requests.
- Use Cases: Ideal for loot chests, dice mechanics, procedural content generation, and any game logic that requires provable in-transaction entropy.
Quick Start
Use the slot-vrng skill to request a verifiable random number for my game contract using the player's address as the Nonce source and then consume it in the same transaction.