Distributed and Verifiable
Randomness Oracles

Power your gaming, NFT, prediction markets and other on-chain applications with DIA’s verifiable randomness.

DIARandomOracle.sol
Random Number Generation VRF
Product

What is DIA xRandom?

An oracle product providing dApps with a verifiable, distributed random number generation.

Verifiable values
Verifiable values
Values are verifiable off-chain, before becoming available to smart contracts and hence, the oracle is not capable of manipulating the generated result.
Fully decentralized
Fully decentralized
xRandom is powered by a distributed beacon with no single controller, eliminating single points of failure, ensuring unbiased randomness.
Multi-chain native
Multi-chain native
DIA xRandom can be deployed in all networks served by DIA as well new chain integrations, both EVM and non-EVM compatible ones.
Power on-chain dapps
Power onchain dApps
DIA’s randomness can support a wide range of Web3 use cases including gaming, lotteries, prediction markets, NFT launches and many more.
architecture

Distributed Number Generation

A decentralized randomness beacon combines randomness from multiple independent high entropy sources to generate a truly unbiased random number

Diagram explaining how DIA's randomness works

Available on

How does it work?

DIA leverages drand’s distributed randomness beacon, enabling verifiable, unpredictable and unbiased random numbers.

1. Drand randomness generation

In every drand epoch (currently set at 30s for the existing LoE beacons, but planned to be decreased on future “unchained” beacons) each of the nodes that form the drand network generates a partial signature, which it broadcasts to the rest of the nodes. Once any node has enough, i.e., a threshold number of signatures, it computes the new randomness beacon, which is the hash of the signature aggregate.

 

2. Drand randomness propagation and consumption

The new beacon is propagated through the network to all other nodes. Any node can verify and accept or reject the hash of the signature (i.e., beacon) that it received. Any client or application can consume randomness out of band (i.e., without needing to be part of the drand network) either through the public HTTP APIs or through libp2p’s pubsub protocol, Gossipsub. Clients can also verify that the randomness they received is indeed the one produced by the drand network.

 

3. DIA on-chain distribution

The final randomness signature is shipped on-chain as an oracle smart contract. In order to effectively and securely execute these on-chain transactions, DIA has built a robust, decentralised node infrastructure — dubbed DIA xNode. DIA xNode is a network of third-party, decentralized node providers that grant DIA the blockchain infrastructure to push data on-chain ensuring high rate limits.

Request oracle
I need a custom randomness oracle oracle to build a decentralised application.
Request oracle
Contact a DIA developer
Get in touch with a DIA developer to get help directly from the builders
To DIA Discord
Contact a drand developer
Get in touch with a drand developer to get help directly from the builders
To drand slack