project screenshot 1
project screenshot 2
project screenshot 3
project screenshot 4
project screenshot 5


A novel method for verifiable onchain randomness (VRF) enabled by ZKPs.


Created At

ETHOnline 2023

Winner of


🏊 Scroll — Pool Prize


🥈 Scroll — Best Use


🏆 ETHOnline 2023 Finalist

Project Description

This project showcases the power of programmable cryptography enabled by modern zk-SNARK tooling (in this case, we use Aztec's Noir DSL) to create a custom deterministic public-key cryptography scheme. We then use this custom PK crypto to allow anyone to generate verifiable random numbers.

How it's Made

We use Aztec's Noir DSL and tooling to write & generate the circuits necessary for proving our custom deterministic public-key cryptography scheme. This tooling also generates the onchain verifier (Solidity) to verify the generated proofs.

Our contracts are written Solidity and deployed on Scroll mainnet, to show that any new rollup, as long as it supports the necessary EC pairing precompiles, can standup a VRF infrastructure very quickly, without having to wait (usually very long times) for external providers such as Chainlink. Having this deployed on Scroll also exemplifies that Scroll is a true zkEVM that can support all the precompiles necessary for verifying ZKPs.

Last but not least, we use subgraphs deployed on The Graph to index request events coming in, so that operators can fulfill them.

background image mobile

Join the mailing list

Get the latest news and updates