Is is possible to access the epoch nonce from your Plutus script, to use as a trusted source or randomness ?

The only suggestion for on-chain randomness I have found, is using an RNG oracle. But the Chain already produces a random number during each epoch!

If I would like to create a Application that uses randomness infrequently, the epoch nonce is a much better candidate, since it has a much stronger source of trust than any oracle, at least the foreseeable future.

Is this possible with the current Plutus V2 implementation ?

1 Answer 1


I do not think there is a way to get the epoch nonce but I also think that in most cases, the epoch nonce is a good source of " trusted source of randomness".

Maybe explain a bit more thoroughly of what you are trying to achieve.

  • For example If I would like to make a grand Strategy game where the map gets generated and players get assigned spots based on a Random Number(seed), this would not have to happen often, just every time a game starts and the games can take months so no real reason to need an RNG oracle. Or for a lottery that happens every 5 days. Epoch nonce is definitely the most trusted randomness to use for a fair draw of the winner.
    – Leo
    Oct 31, 2022 at 17:28
  • Using the random-ness for a game is probably fine, but I would definitely not consider it a good source of random-ness for cryptography. Oct 31, 2022 at 19:13
  • Why not for Cryptography ? Not for seed generation or anything like that(since it is obviously not private), but for a VRF scheme like Ourobors uses for the leadership schedule should be fine.
    – Leo
    Oct 31, 2022 at 21:31
  • 1
    I am by no means a cryptography expert, but my understanding is that cryptography requires very high quality randomness, specifically, well beyond a single 64 bit nonce on a blockchain. Nov 1, 2022 at 21:30

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.