verifiable randomness

zkVRF: Zero Knowledge Verifiable Randomness

ORAO zkVRF, powered by Zokrates' zk-SNARKs, offers verifiable, secure randomness on compatible EVM blockchains, enhancing the privacy and reliability of decentralized applications.

Start Building

ORAO zkVRF vs Chainlink VRF comparison

Feature ORAO Network Chainlink
Blockchain integration Polygon, other EVM chains Multi-Chain (Ethereum, BSC...)
zk type zk-SNARKs based VRF NONE
Security Advanced security with zk-SNARKs Established
Speed 30s 3min+

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