verifiable randomness

zkVRF: Zero-Knowledge Verifiable Random Function

ORAO zkVRF, powered by ZoKrates' zk-SNARKs, delivers verifiable, secure randomness to EVM-compatible blockchains, enhancing the privacy, efficiency, and reliability of decentralized applications.

Start Building

At ORAO, we’ve developed a cutting-edge zero-knowledge Verifiable Random Function (zkVRF) tailored for EVM-compatible blockchains. Our zkVRF is now optimized with Poseidon hashing, reducing fulfillment times to just 10 seconds on Polygon, delivering fast, secure, and cost-effective randomness generation for a variety of decentralized applications.

Key Use Cases

  • Crypto Gambling:
    Ensure provably fair outcomes in games of chance, such as dice rolls, card games, or any other type of wagering in decentralized casinos and gambling platforms.

  • Lotteries:
    Generate secure, tamper-proof random numbers to fairly determine winners, providing users with trustless and transparent lottery systems.

  • NFT Drops:
    Fairly distribute limited-edition NFTs by generating randomness to assign token IDs or select winners from participants in highly anticipated NFT mints.

  • Decentralized Games:
    Introduce unpredictability in blockchain-based games through random events, loot drops, or character traits, improving gameplay fairness and enhancing user experience.

  • Randomized Airdrops:
    Distribute tokens or rewards randomly to a pool of eligible wallets, ensuring fair participation in community-driven initiatives.

  • Auction Systems:
    Enable secure randomness for time-sensitive auctions, ensuring unpredictable and unbiased outcomes.

ORAO zkVRF vs Chainlink VRF comparison

Feature ORAO Network Chainlink
Speed 10s 3min+
Blockchain integration Polygon, Zircuit, other EVM chains Multi-Chain (Ethereum, BSC...)
zk type zk-SNARKs based VRF NONE
Security Advanced security with zk-SNARKs Established
Gas Fees Low High
upcoming Networks Arbitrum, Starknet -

Technical Features

  • Fulfillment Time:
    With the latest Poseidon hashing, zkVRF achieves 10-second fulfillment on Polygon (Amoy Testnet), offering rapid and efficient randomness generation.

  • zk-SNARKs:
    Our zkVRF leverages zk-SNARKs (Zero-Knowledge Succinct Non-Interactive Arguments of Knowledge) to ensure cryptographic security, scalability, and privacy for sensitive use cases.

  • EVM Compatibility:
    Ready for deployment across EVM-compatible networks, zkVRF integrates seamlessly into decentralized applications.
  • Deployed Networks:
    Available on Polygon (Amoy Testnet) and Zircuit Testnet with upcoming deployments on Arbitrum and Starknet.

A Proven Solution

With more than 60,000+ VRF requests successfully fulfilled on Solana Mainnet, ORAO's zkVRF delivers fast, secure, and trustless randomness to EVM-compatible blockchains. Whether you’re building a decentralized game, a lottery system, or launching an NFT drop, zkVRF ensures your dApp’s randomness is both fair and verifiable.

Integrate zkVRF

Solidity example
The full SDK is available on the github repo alongside an example Solidity contract which mints an NFT with random features.
copied to clipboard
contract OraoVRFConsumer is OraoVRFConsumerBase {
  bytes32 public seed;
  bytes32 public part1;
  bytes32 public part2;
  IOraoVRF internal _vrfCoordinator;

  constructor(address vrfCoordinator) OraoVRFConsumerBase(vrfCoordinator) {
    _vrfCoordinator = IOraoVRF(vrfCoordinator);
  }

  function fulfillRandomness(bytes32 _seed, bytes32 _part1, bytes32 _part2) internal override {
    seed = _seed;
    part1 = _part1;
    part2 = _part2;
  }

  function request(bytes32 _seed) public payable override {
    seed = _seed;
    super.request(_seed);
  }
}
Solidity SDK
zkVRF on Github